Fairly ambitious beginner, dreaming of a 2D RPG.

Started by
4 comments, last by Benjamin Jimenez 10 years, 4 months ago

Hello there,

I've noticed this board is very open to beginners asking silly and repetitive questions. I've browsed through the forum but still haven't really found the answers I'm looking for. I'm a beginner, familiar with the basics of coding, but very interested in learning (mostly I've been busy with university but I'd starting to have a little more time).

Perhaps it would be better to outline my dream before I move onto my questions:

My dream game would be a decent-sized online 2D RPG. I've always enjoyed making video game graphics and would love to incorporate my own art style into a game of my own. However, I'd love this game to be a serious roleplaying based game. As far as I know, there is no game that actively enforces roleplay across the entire game. The roleplaying and moderation aspect will be entirely played-based, but I'd like to create a world where roleplayers can flourish and lose themselves in another world.

Taking example from other community based games, SS13, Habbo, Runescape (even though that's a 3D game) had a fantastic open world with many rooms and options to explore. I don't want my users to create the world, but I'd love if the world was fairly open (but not entirely interacting). For example; a player can entire an unlocked building and can potentially open every door in that building, even if it leads to an empty broom closet. This opens up the possibility of hiding places and more roleplay aspects to the game. While say, nothing more is interacting in that room, it simply serves as another place you can explore in our universe.

To some degree there will be typical RPG aspects to the game, for example combat will want to be the typical RPG, click, the computer rolls and dice and sees if you hit and how much damage you deal based on your accuracy and the enemies agility factor. Fairly typical RPG stuff, true for both NPCs and PCs.

Now to go on to explain my questions, I know there are more than a few RPG makers out there which requires little coding knowledge at all. However, my concern is that if the game does take off, they won't be enough to support the games ambitious expansion.

I also understand that in order to get to something big you must start small, making space invaders or pong or something before you tackle a larger project. I'm happy, more than happy to spend a couple years developing the skills to fully get into developing the game I want to create.

My main questions are these:

- given what I have described as my dream, which programming language would be most convenient for me to start practising so when I'm ready I can apply to my game as it's developed?

- is such a game possible with a small team, or would it require a large team of programmers, artists, etc?

- would it require learning more than one programming language?

- would 2D graphics work more easily with such a project?

- are the few ideas I've presented even possible to do? Obviously I'm not making the next Call of Duty or Assassin's Creed, but [the initial question] for a beginner in game development?

Thank you for taking the time to read my thread and respond if you choose to.

Advertisement

1) Depends a lot on many things. There are several ways to learn a programing language. Mainly two types of answer:

- Go to a hardcore language (C or C++), it will be hard, but once you know it you have access to best performance out there and most languages are based on C and simples, so it is pretty easy to go from those.

- Learn a simple language (such as python). Once you learn the concepts, it shouldn't be hard to go to another language.

Personally I went with the first option, I don't regret it, but I have always loved low level programming and I wanted to become a programmer. In your case, if you just want to get your game done, maybe going for a high level programming language may be better, since there are quite some good game engines that will give you an easy set of tools using high level programming.

So basically, it is up to you.

2) There is one open project called The Mana World that has a similiar premisse: https://themanaworld.org/ you can take a look.

3) No, but it would require that you study several other aspects of programming that are a bit complicated, such as some more advanced algorithms (A* for pathfinding is an example) and network.

4) Depends on how many variations of animations/races you want. It is a lot harder to make a 3D model and to create its bones, but once is done is easier to create the animations. Also if you have more than one race it is easier to adapt items to fit all of them in 3D than in 2D.

5) It is VERY unlikely that you can finish this project as a total beginner. Doing a game is hard, doing a RPG is much harder, online even harder an MMO is probally the hardest that it can get. I would advise you to try to make a simpler game first, just to get a grip of how many things you need to learn and do.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).

Thanks for the reply. Making a simpler game is certainly something I want to do before I start that big project.

If you recommend C++ then that's where I'll start, I'd definitely like to start learning the programming language most convenient to my long-term plans.

Could you suggest any useful resources to start with?

EDIT:

Let me clarify one thing, when I said C/C++ have better performance, don't take that as a huge advantage. My current 2D game runs on 2.4k FPS on my PC and 1.4k in my notebook, it could run 10 times slower and would still be great. Keep in mind that other languages being slower doesn't mean they are not fast enough for your needs. I learned C and don't regret it because I work with high performance applications in my job. It is a pain to learn and made me learn other languages away easier, but it may be too much useless pain for some other people, depending on their goals.

Well, keep in mind that you can make a game in any language (specially an indie game), C++ is just considered an industry standard (but not an indie standard, if you have no interest in work in the industry, maybe it is not the best). The main advantage I can give for working with C is that makes network data sending much easier to understand, other than that, you may stick to a simpler language if you want.

If you want to go with a simpler language, there is this free ebook that I really like: http://inventwithpython.com/ it explains very well in small steps. It includes references to an engine called pygame ( http://www.pygame.org/news.html). Even if you plan going for C/C++ I would recommend reading it.

Otherwise, this book is a good one to have:

C: The Complete Reference that will have all you need to learn on C.

This site has a nice tutorial on c++:

http://www.cplusplus.com/doc/tutorial/

After you get the basics, you should go for an engine, people here always recommend SFML (http://www.sfml-dev.org/) but I personally like orx better (http://www.orx-project.org/).

Good luck.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).

Thanks. I'll definitely give the e-book a read and give it all a start. It's certainly enticing to hear 'learning C++ made learning other languages easy' but I also know from way back in High School that it's a huge step from Basic to C++. Nonetheless, thanks for the awesome info. If I have any more questions I'll be just bumping this thread rather than clogging up the board with more threads.

Again, I really appreciate the quick, timely advice.

Thanks awesomedude.

Hi,

My advice to you is dream big, but start small. You don't have to make copy cat games to learn how to make a game, it's a good idea, but why waste time on that when you can be working on your own game? First thing I suggest is to really finish up the basic idea of your game. Don't spend time thinking about updates, patches, mods, and hiring 100 graphic artists. That stuff will happen when the time is right, or not at all. What most of us beginning game makers don't realize is that we can't chase the big dreams at the start. Chase the little dreams first. Think of your game as a baby, and you need to watch it grow, how ever slow or fast it needs too. Don't waste lots of time on a game that may not even be a hit. Get a small working version of the game together, then release it into the wild to see if anyone even likes it. Graphics do not matter in a new game, did you hear that part? graphics do not matter at all. Don't worry about that in the beginning. Just put something together to get a feel for the game play itself, since that is what makes a game good or bad. The graphics can always be improved later.

Depending on what type of game you are making that will determine your development environment. For 2D games you can use XNA game studio or gamemaker, If you want to go 3D I would suggest Unity3D for a beginner because you can setup most of the level without too much coding. A cool thing you can do with Unity3D is make a 3D game look like a 2D game. They have just released a new update with new tools for making 2D games. There are lots of tutorials to do different things on YouTube that will help you out. Another great thing about Unity3D is that you can code the game once and release it for most platforms, like Xbox, Android, IOS, etc. This will save you lots of time. Graphic artist can easily import 3D models into Unity too.

well that's my advice for you , hope it helps you out.

This topic is closed to new replies.

Advertisement