RPG, Engines and Frustration

Started by
30 comments, last by Masashi86 8 years, 7 months ago

You will also need a fairly large team. Zelda might look simple... but it has a huge development team behind it. And it takes them working none stop about 4.5 years to make that game.

Part of it may also be a factor of Nintendos awesome QA, as their games hardly ever have any bugs. But this is true for just about any game. Tetris wasn't made by one guy. Though it probably could be now with all the options you have. Final Fantasy wasn't made by one guy. Very few games are ever made by one guy. And the ones that are, are simple enough to the point where there is just one concept driving the entire game.

Advertisement


Tetris wasn't made by one guy.

Actually, it was.

Zelda might look simple... but it has a huge development team behind it. And it takes them working none stop about 4.5 years to make that game.


The Zelda currently in question though is A Link to the Past, which was developed by a team of about 20 people (half of them being programmers, mostly specialized ones) over the course of about a year, during which many of them worked on other projects as well, using development tools far more primitive than what we have today.

Part of it may also be a factor of Nintendos awesome QA, as their games hardly ever have any bugs.


Most Nintendo games have bugs, often many bugs.

Final Fantasy wasn't made by one guy.


No, but it WAS made by only 7 people. Again, using very primitive development tools.

And the ones that are [made by one guy] are simple enough to the point where there is just one concept driving the entire game.


Axiom Verge and Cave Story beg to differ. (Each of those games was made in it's entirety by one person.)
Then there are games like Dust: An Elysian Tale and Retro City Rampage, where one person did the overwhelming majority of the work.

I am looking for an optimal path that would lead me to my desired result.

When you want to make a game, what you do is program. You may make mistakes along the way but you will never be wasting your time.
As long as you are programming a game, you are not wasting your time. Period.


Spiro thank you so much for your time answering my questions. I really love your passion about game programming and I never said that you say something wrong. You have a valid point. No argue here, what you say is right. However, following your path requires devotion, time and patience and given that I am not a professional game programmer nor I want to become one I am looking for alternatives/shortcuts that will lead me to the final result faster than some others. You see this is going to be hobby project that I am going to accomplish after-work hours, which means that I have little time and too many irons on fire.


The bottom line is, that instead of worrying if x is better than y, just make something. If you are afraid of making a mistake, or going a detour then most likely programming in general might not be your thing. Also something that works for one person might not work for another, so I don't think there is any kind of golden road how to accomplish your goal.

Also I don't think you mentioned about the platform you want to develop to. If you're looking for mobile devices, some engines might be better than others. If you're purely looking at windows desktop, you do have more choices. If you are planning on making multiplatform game as your first game, you probably should at least focus only on one platform, and later on the others.

Thanks for your answer smile.png No I am not trolling, I am just frustrated -- that's all. My main platform is focused on Linux, so I guess there's no way to use RPGMaker. I am thinking to start with SDL 2.0 and C since I am already quite experienced with this language. At least I could try and benefit from the experience of it.

If you want something to do, go get a small sprite on the screen. If you can't get a sprite on the screen, you're not ready to proceed and there's other things you need to learn before you continue. If you do manage to get a sprite displayed, then make it so you can change its position using the keyboard. Then animate it. Of course you'll probably want more than one sprite on the screen so take a shot at that. Then take a stab at collision detection. And make sure to test it out when the sprites are moving really fast. (I've wasted so much time trying to get collision detection right). Hopefully getting these things going will give you a good idea of whatever API, engine, or libraries you've chosen have to offer.


That's exactly what I have had in my mind.

You want to make: 'Zelda: A Link to the Past'. Great. Now let's look at some options. You can use Unity or Unreal. But those are really 3D game engines. And frankly you're a beginner. So let's go down a notch and look at 2D libraries. Two popular and battle-tested libraries are SDL 2.0 and SFML 2.0. You're a programmer. And you want to make games. These two are up your alley. You may want to ask, "which is better?". The answer is: neither. They take slightly different approaches to do the same thing. But if you really want to make a decision of which one to use, do the following in both SDL 2.0 and SFML 2.0:

  • Create a full screen
  • Created a windowed screen
  • Place a sprite on the screen (it can be a candle, box, brick, fireball, mario, stick-figure... basically whatever)
  • Move that sprite with either the keyboard OR the gamepad
  • (Optional) For a challenge, support both keyboard and gamepad
  • (Optional) For another challenge, see if you can alternate between windowed and full screen
Now, determine which library was "easier" for you to get set up and going. Once you've made that choice, go to this article. Yes, I'm plugging my article. But it does give the reasons and games you should make to be able to have the skills to make a RPG like Zelda.

Now once you've done all that. You should have a good idea of how to approach making a game in any platform whether its 2D, 3D, VR, or some future tech.[background=#ffffff]

Thank you very much for answering all my problems. Pretty much that's the kind of answer I was looking for. Thanks again for reminding me your article. I had read it in the past, but also, in my case, bookmarks is the place where URLs go to die. So, I had completely forgot about its existence. So, I should roll up my sleeves, spit on my palms, and get ready to go to SDL because this is going to be really handwritten.

While tetris may not look like zelda, they have a lot of things in common.

Both games display graphics (in fact, pretty much all games do). Graphics in the intro screen, graphics in the game play, graphics in the options.
Both games have some sort of game loop to handle player input and progress the game.
Both games have sound, and a score.
Both games have timing.
Both games have a highscore (at least they could have).
Both games need save & load of that highscore and the options.

That's a very interesting perspective I didn't see. Thanks smile.png

stay awhile and listen

Spiro thank you so much for your time answering my questions. I really love your passion about game programming and I never said that you say something wrong. You have a valid point. No argue here, what you say is right. However, following your path requires devotion, time and patience and given that I am not a professional game programmer nor I want to become one I am looking for alternatives/shortcuts that will lead me to the final result faster than some others. You see this is going to be hobby project that I am going to accomplish after-work hours, which means that I have little time and too many irons on fire.


Unfortunately, there are no shortcuts to learn how to make games. If there were, we all would have found them by now and no one would be telling you to make Tetris. It's going to require devotion, time and patience whether you want to be a professional or not. I'm a hobbyist and I've been playing around with it for just about 20 years, since my late-twenties. Given my age when I started, I was looking for shortcuts, too. I was a busy guy, with a full-time job, a new wife, and other commitments. I never found them. I wasted quite a bit of time, though, and very nearly gave it all up until I finally buckled down and started doing what I should have done from the beginning. And I can't count the number of people I've seen starting their dream games right out of the gate on this site, who then disappeared with nothing to show for it.

Starting with Pong or Tetris gives you an *achievable* goal toward which to direct the baby steps you need to take. An RPG of the scale which you want to develop is *not* an achievable goal for you at this point. You will very likely give it up in frustration long before you see it complete. Pong and Tetris allow you to learn the fundamentals that you need for any game you develop while still finding yourself with a completed game in a relatively short time. The motivational impact of finishing your first game is tremendous. Then you do it again with Asteroids or Pac-Man. Then you do it again with a simple platformer. Each completed game adds to your knowledge, confidence and motivation. Eventually, the day will come when you are ready to start on your dream game.

Please, don't try to rush. Buckle up and prepare for a long haul. In the end, it will be more rewarding.

well, we all asked ourselves these similar questions. from what I've learned, a game at least need these things/people.

1. programming

2. illustration person

3. multimedia person

4. director

you could be one or all of the above, but very unlikely to be all.

for me, the hard part will be illustration/designer. multimedia you could buy sound pack.

Hi,

Its very inspiring for me when people follow their dreams of making a videogame of this complexity no matter what. Obvioustly if money is not a problem and time is also not a problem for you, then you might think that it will be done eventually. However, as the title of this post says, you have to battle something even more dangerous and that is frustration.

You have to know that this type of project is very very huge for one person to do alone and it could take years to complete. Probably time will pass and sometimes you will not feel like you have advanced at all, even it is possible that the engine and or tools that you choose get discontinued, change license terms, etc. Things change very fast in the world of game developement and technology in general. Among other things, the time it will take to build this game from scratch adding the feel of not advancing or getting stuck could cause this frustration.

Now going to the specifics of my post, I suggest for you:

1. Choose an engine that looks easy to learn, with lots of features and more specially solid in time, including community, forums, etc. Many professional engines look solid right now but in my opinion the most easy to use is Unity.

2. Don't focus only on programming, remember that your goal is building that game and you need to design it. Spend time on designing the game, writing a design document. Alternate the time between the design and programming. This will make you feel that you are advancing.

3. When it comes to programming, I dont agree that you should start making a tetris, but I do think that you should start simple tasks. However, this simple tasks should be always within your game (remember, battling frustration and feeling that you are advancing), For example, if you pick Unity, start with basic tutorials and books. This usually teaches you how the engine works while building worlds. Build a simple world all flat and a simple caracter moving around, then add some boxes and obstacles, then jump on them, Then come back and add something else, etc. Its a procces of essay and error. If you get frustraded, go to the design and plan your game. Etc.

This is just my two cents. I am not a professional game programmer. I am a mechanical engineer with a passion for games. However, I have built two video games from scratch, and though they are not even close to an RPG, they include 3d animations, AI pathfinding, particles, etc. I didnt even know anything about game programming when I started and I finished them with the help of my brother who did all the graphics (images, and 3D models). I did know a lot about scientific programming though.These are the youtube links.

Best of luck!


Part of it may also be a factor of Nintendos awesome QA, as their games hardly ever have any bugs.


Quote

Part of it may also be a factor of Nintendos awesome QA, as their games hardly ever have any bugs.


Most Nintendo games have bugs, often many bugs.

Yeah, more often those bugs are just not visible on first sight. Most notorious is probably the Twilight-Princess bug which makes you unable to progress any further if you save and quit the game at a very specific point and time. However, if you look at events like GamesDoneQuick, and the speedrunning community as a whole, you'll find out that there are more game-breaking bugs in nintendo-games of all eras than you could even imagine smile.png

Spiro thank you so much for your time answering my questions. I really love your passion about game programming and I never said that you say something wrong. You have a valid point. No argue here, what you say is right. However, following your path requires devotion, time and patience and given that I am not a professional game programmer nor I want to become one I am looking for alternatives/shortcuts that will lead me to the final result faster than some others. You see this is going to be hobby project that I am going to accomplish after-work hours, which means that I have little time and too many irons on fire.


Unfortunately, there are no shortcuts to learn how to make games. If there were, we all would have found them by now and no one would be telling you to make Tetris. It's going to require devotion, time and patience whether you want to be a professional or not. I'm a hobbyist and I've been playing around with it for just about 20 years, since my late-twenties. Given my age when I started, I was looking for shortcuts, too. I was a busy guy, with a full-time job, a new wife, and other commitments. I never found them. I wasted quite a bit of time, though, and very nearly gave it all up until I finally buckled down and started doing what I should have done from the beginning. And I can't count the number of people I've seen starting their dream games right out of the gate on this site, who then disappeared with nothing to show for it.

Starting with Pong or Tetris gives you an *achievable* goal toward which to direct the baby steps you need to take. An RPG of the scale which you want to develop is *not* an achievable goal for you at this point. You will very likely give it up in frustration long before you see it complete. Pong and Tetris allow you to learn the fundamentals that you need for any game you develop while still finding yourself with a completed game in a relatively short time. The motivational impact of finishing your first game is tremendous. Then you do it again with Asteroids or Pac-Man. Then you do it again with a simple platformer. Each completed game adds to your knowledge, confidence and motivation. Eventually, the day will come when you are ready to start on your dream game.

Please, don't try to rush. Buckle up and prepare for a long haul. In the end, it will be more rewarding.

Totally on the money. There are no shortcuts, and there are no failures (At least as long as you can still pay the bills because you are doing game dev as a hobby).

Everything is a learning expierience, and you usually learn more from your mistakes than from your successes. Looking for a formula that guarantees success will a) waste a lot of your time because even if that formula would exists, finding it would be a very longwinding process, and b) would make your game all the less creative because you are now creating something like a "me too" product (avoiding the time costly pre production where most of the cool stuff is tested, and some of it is thrown away because it didn't work).

To expand on Aldacrons point above:

You CAN ignore common wisdom and start with a "top down" approach. Try to develop your dream game and cut it down to size when you see its not viable. That means a lot more frustration and much less success along the way though. And you need the ability to both push through when things get boring, AND recognize when the effort needed becomes too much...

Throwing away or at least shelving many days and weeks of work is never a pleasant feeling, but in game development is very necessary even for the pros. If you don't like that, you should not try your hand at game development, for you WILL run into dead ends and have to shelf at least parts of your work from time to time.

Now, if you can live with it but are not fond of shelving many hours of work, do the usually recommended "bottom up" learning approach, start with pac man and tetris, and work through the gaming classics in chronological order.

Will you also "waste" many hours in completing these games that do not interest you? Yes. Will you learn more about modern 2D/3D game development than when jumping in the deep end? Probably not. Will you have a stronger foundation and more courage to tackle more ambitious game development projects built up when you finished your tour in a year or two? Most probably yes. Will you have multiple finished game under your belt by the time your try your hands at your dream game? I would hope so!

The most important thing is: you will have learned the needed basics to really tackle your dream game without the frustration of many dead ends if you start with it today. AND you will have finished projects, and if you can, also released them to the public.

Which gives you valuable expierience in often underestimated parts of game development: Project management (even if its a single person project, keeping track of your project is something many people miss), and releasing a game / marketing (after all, if nobody plays your game in the end, even if its an opensource project, you most probably will not be happy about it).

If you love to bang your head against walls repeatedly, have no problems with dead ends and throwing away parts of your work if needed, and do not mind slaving away for years on your projects without a finish line in sight, then go ahead, take the shortcut. Its also a viable route for people very resistant to frustration... smile.png

just keep in mind, IF you ever need street creds in game developer circles, a lot will come down to your released games. An impressive looking video with pre-alpha gameplay footage might be awesome, but until you release your game, people will not give you much credits for it.

If you look for people to work together on a project, or for crowd funding for example that street cred can make or break your potential relationship with potential partners / backers.

So, where should I start ? Can anybody give me a path to follow that the final destination is an RPG like The Legend of Zelda: A Link to the Past ?

Why isn’t “program constantly, make progressively larger games” good enough?
Why do you think there is a specific path you have to take to get to the ability necessary to program The Legend of Zelda: A Link to the Past?
Do you think only the 3 programmers who followed a specific diet can program this game?
Diets may differ, but people tend to be equally healthy at the end of them.

Just program.

It really doesn’t matter where. Every path leads to the ability to create an action-adventure game like The Legend of Zelda: A Link to the Past. Patience, skill, experience, planning, etc., all come with time. There are no shortcuts. You need to learn the skill of programming over a long duration of time, meanwhile also planning etc., which requires patience and practice. Then, someday, you can make a clone of The Legend of Zelda: A Link to the Past.

I already suggested a Tetris clone. Why are you not making one right now?

L. Spiro

Very good advice...

Trying to develop a game on your own when you are not good at arts, do not like to program and have no budget for hiring artists and programmers is like trying to fly without a plane... no matter how much you move your arms, you will not lift off.

If you are not cut out for programming or do not like it enough to learn it, then by definition you need to find someone who does the programming. The best idea is to hire someone, I think many people also working as hobbiyists or indies have found that to be the best way to do it, there are other options, but it will be harder finding the necessary skills and getting anything out of it.

If you want to do the programming yourself, you better learn to like programming, if you not already are liking it. Fo you will spent A LOT of time programming to get your game done... and even more while learning the skills needed. You shouldn't need a destination, for if the journey is not the reward for you, you will have a VERY LONG, UNREWARDING journey ahead of you!

Hey drpaneas,

Why not try Unity 5 or Unreal engine?

From the sound of it you are writing you own engine and trying to make a Zelda like game.

There is no need to reinvent the wheel when the wheel is already invented so to speak.

That said - I would learn C# first In my Humble opinion. That would give you a good basis to learn C++.

Give Unity3D or Unreal engine a shot they are both full featured and free btw.

Anyway my 2 cents.

- HeadClot

This topic is closed to new replies.

Advertisement