How to actually learn game development?

Started by
36 comments, last by JimmyVegas 9 years, 2 months ago

I've generally found that when I'm faced with some task that I don't know how to begin to approach I am more likely to be distracted by things.

The best suggestion I have is to try to think small for awhile. Don't even think about making a game. Don't think of releasing anything to the public. Instead maybe think about making a number of projects (I call them labs) to implement various elements of a game. Stuff like trying to get a small 2D image on the screen. Then make it move with the keyboard. Animate it. Create multiple instances of that image (as many as you can).

If doing stuff like this is too difficult to wrap your head around at the moment then there's some fundamentals you need to work on first. If you don't know what those fundamentals are then you should ask someone here what sort of prerequisites you should be looking at. If that still ends up being too much, find out what the prerequisites for that might be and so on.

Think of it all as building on a plan to achieve your goal. Let the plan change if it has to. If you feel like taking a bold leap towards something that's a little ahead of you, by all means go for it. But don't beat yourself up if it doesn't turn out. But instead, if you can, try to make sure that everything that you do builds onto whatever you might be looking at in the future. In time you will be able to see how these various things piece together to make a game.

Advertisement

It sounds like you need to increase your motivation to program! I know what that's like, I've been there, and I'm sure a lot of the others around here have too. Programming is hard, and, especially when you're starting or working on lower-level code, it can seem like you're making absolutely no progress toward your goals. That's why I subscribe to Extra Credits, Wolfire Games, and Handmade Hero. That way, when I'm just wasting time on the internet, I'm usually looking at something that's going to give me ideas or inspiration or just a bit of abstract motivation to go back to coding. Hanging around this forum helps, too, because eventually you get to see other people struggling with what you used to struggle with and that's when you realize, even if you missed it before, that you've learned and grown as a programmer.

All of this is, of course, assuming that this is what you really want to do.

I'll also say that I, too, learned to program in bits and pieces when I was younger (C, C++, and Pascal) and I gave each of them up because working through books didn't feel like it was leading me toward making games (or any other really cool programs) so it was hard to keep with it. I knew there was an end-goal, it just seemed like I wasn't moving toward it. To this end, if you get a bit of basic programming experience under your belt, I'd recommend this book. It's not current anymore, and it's in C# (there's a recent/current forum topic discussing its merits and caveats here), but it goes through a lot of the basics of game-programming like handling input, displaying graphics (2D with an out-dated version of OpenGL), and most importantly, the game loop. I think this book put a lot of game programming and its mechanics in perspective for me.

Inspiration from my tea:

"Never wish life were easier. Wish that you were better" -Jim Rohn

soundcloud.com/herwrathmustbedragons

To learn game development you have to do this:

1) pick a language and learn it

2) pick a library or toolkit and learn it

3) Got to a game dev site and ask tons of questions

It is a long, slow process, but that is about as simple as you can make the process, assuming you are going to go to others for art, sound, etc. Otherwise you will have to tweak it and add in any discipline you plan on using; like learning Gimp and pixel art or blender and modeling or learn LMMS or other sound program and create music for the game, etc.

I won't get into my story, but I've been programming for twenty years (started with BASIC when I was 13) and made only two games in that time (pong and vertical shooter). I have battled depression because, thanks to family, doubt myself and abilities to program so I don't join teams or show code much. Don't fall into my loop.

Wow I appreciate all the responses. The book that Saint Retro mentioned seems interesting, I might try it out(The Chimp Paradox). And yeah I just need to sit down and decide if if this is really what I want. If it is, I just gotta stick to one language and figure it out.

I guess I'm just very impatient and I know that I need to learn basics, but I'm still trying to rush myself into the game development even though I shouldn't be.

Linear Algebra it's essential for any type of game you want to make. Find a book and do not read everything until you've have a solid knowledge that you need.

After that you can try to develop some basic games like Tetris, etc. using your math knowledge; if you find that you can't make any progress, read that book again, and try again—that applies to any other type of field.

For more you can think that doing basic games are fun, doing a complex game it's not fun; it requires time, and that it's something that gets more difficult to have as you get old.

While learning programming, try to develop your small games in a organized way; try to use the divide and conquest method to get your precise results, and you probably won't get a headache through that.

Also, C++ it's a industry standard for making complex and basic games. It gives you a low-level approach of how things works, and that approach it's applicable for every other type of programming language. So, between the languages you said, I'd recommend with C++ because most of the materials available online uses that as the implementation (practical application) of a certain subject.

Here, you can find specific solutions for a specific problems; most of the problems that are unsolvable here are those that ask for a general solution instead a specific one, and even this way you can find a good solution. If you ask someone to give you a game, that person won't give how to do a game, instead he/she will ask you what it's the specific problem and try to answer that.

"Learn by doing" it's a good phrase, but not be confused with "learn by doing without knowing nothing".

To learn game development you have to do this:

1) pick a language and learn it

2) pick a library or toolkit and learn it

3) Got to a game dev site and ask tons of questions

4:Eventually join a team, having teachers or teammates is so beneficial! having somebody to work with.


I'd do this for a week, and then stop and pause and look at what I'm doing with my life and conclude that it's being wasted. I'm wasting time. And then I'd get disappointed in myself and want to do something better with my life. That's a fleeting feeling though, and soon I'd dive right back into the games and videos. It's all I did. Anybody would eventually get depressed if they just did that and only that (money is irrelevant here).

Off of the OP's topic for one second. How do you make money to survive by playing games and watching youtube? That doesn't sound bad to me. Sounds like heaven.

You don't. You save as much money as you can while you're "officially" employed and when your job ends, you have to live off of those savings until you make more money. You can stretch the savings account by investing the money, but that's always a huge risk, where you may lose the money as well. It never feels good to lose money you can't afford to lose, but it's a relief when you get money to buy you more time. It sounds nice, but it gets old.

To learn game development you have to do this:

1) pick a language and learn it

2) pick a library or toolkit and learn it

3) Got to a game dev site and ask tons of questions

4:Eventually join a team, having teachers or teammates is so beneficial! having somebody to work with.

I'm extremely hesitant to agree with that. I have severe confidence issues because the teachers, teammates, and other programmers I worked with treated me like my knowledge and mental capacity was one step above that of a rock. I would stress extreme caution when seeking to join them.

I'll have to disagree that programming is hard. A program can be complex, but not necessarily hard.

I'd say start with a game engine that doesn't require as much work on the textual side at first, so that you can get a good idea of what goes into making games in general (sound, graphics etc). Something like Scratch or GameMaker.

You will see results, and you will also see if it's really the programming that is holding you back (and not laziness, or the lack of focus.)

Without focus, no matter how simple the tool makes it, you still have to understand your own idea well enoug to create it using the "tool" that is programming.

They call me the Tutorial Doctor.

I'll have to disagree that programming is hard. A program can be complex, but not necessarily hard.

I'd say start with a game engine that doesn't require as much work on the textual side at first, so that you can get a good idea of what goes into making games in general (sound, graphics etc). Something like Scratch or GameMaker.

You will see results, and you will also see if it's really the programming that is holding you back (and not laziness, or the lack of focus.)

Without focus, no matter how simple the tool makes it, you still have to understand your own idea well enoug to create it using the "tool" that is programming.

It's not the programming that's hard. It's finishing the big project you're working on.

To put it another way: Running itself isn't really that hard. But running a marathon is.

Your advice is good -- start by trying to run a mile and get good at that, and slowly increase how far you can run. Eventually, you can run marathons if you stick with it and push yourself.

This topic is closed to new replies.

Advertisement