Self-Teaching Game Programming

Started by
5 comments, last by freeworld 12 years, 5 months ago
I've been trying to teach myself programming for the past 3 years (specifically C++ in relation to video games). And one of the best questions to ask I never really asked so here it is:
I've been just trying to create games and see what problems arise and then try to fix them but this is a frustrating way for me to teach myself.
So what's the best way to self-teach yourself in game programming? It'll probably be dependent on the type of person, but I'm just wondering about how else I could go about it?

As always, all replies are appreciated.
Prove me wrong so I can know what's right.
Advertisement
I always read a lot of books. But I can rarely read through the whole thing. I always have to stop and do little projects on my own. Then when I get stuck, go back to the book.

I also find that making lots of test programs and prototypes helps understand a problem. For every game I make there are 10-15 test programs that went before it.
Want to make Android Games?
Then check out the free RoboBrain SDK.
[size="2"][url="http://www.robobrain.org"]www.robobrain.org[/url]
I've been just trying to create games and see what problems arise and then try to fix them but this is a frustrating way for me to teach myself. [/quote]

This! I mean books are great and there're many good resources out there to help you along, but the best way to learn any skill is always to practice and get real experience in the said skill. Frustrating is OK as long as you come right eventually.

However, I'm saying this with the exception of one condition: don't miss the fundamentals, and don't shy away from understanding. In my experience it is immensely rewarding to dig down and really understand what you're working with as opposed to trusting your luck - so make sure your fundamentals are solid. Eg. don't write a full 3D engine before feeling comfortable with the underlying language(s) and mathematics involved.

So what's the best way to self-teach yourself in game programming? It'll probably be dependent on the type of person, but I'm just wondering about how else I could go about it?


I would agree with you that it would depend on the person. With that said what type of learning agrees with you best? Are you one for lectures and theory? If so, then any (decent) book will work for you, and just code away. If you are the type of person who needs to get your hands dirty to understand what you are being taught. Then grab any (legal) source code out there and get elbow deep in it! Once you get a good handle on the code base, make some changes by adding a feature, make improvements or optimizations where you can. That's my nickels worth of free advice.


I always seem to solve my bugs on the drive back to work the following day! So why wont my boss let me go home now? Twitter_Follow
I've been just trying to create games and see what problems arise and then try to fix them but this is a frustrating way for me to teach myself.
I'm afraid you'll have to deal with this.
Also see: become a good programmer in six really hard steps.
On the pro side, if your project becomes a constant source of frustration, odds are you might be exceeding the original goal. In that case, drop it and start another one, engineered for better life span.

Previously "Krohm"

I would highly recommend game modding. Quite a few "AAA" commercial games actually release the majority of their source code for you to play with.

I learnt the majority of my initial game programming skills by downloading the source code for Half-Life 1 and modding it for years.
To begin with, I'd just make small changes to their existing systems (e.g. tweaking numbers, changing events), then I'd add new code within their frameworks (e.g. new monster types, new AI behaviours, new weapon characteristics), then eventually I was doing total conversions into other game types, re-writing the renderer, adding new features like physics engines, etc...
After all of that, I was completely familiar with the inner workings of the entire HL1 code-base -- I probably knew the code just as well as some of the original HL1 programmers did, and I could tell you how any part of the game worked internally.
just trying to create games and see what problems arise and then try to fix them


That is programming. Don't worry about the frustration, everyone has it, and quite often. Trust me theres been times, where I've spent 3 days on a bug only to find out, a miss typed something. or used the wrong operator somewhere. When the whole time I was thinking it was this huge chunk of code causing the problem.

Programming, like learning a language. You're only going to get better through actual experience. Sure books are great for ideas and looking up how things work. But they are never going to tell you exactly how to code your game ideas.

*side note* I recently found my old account here... "speedie" if anyone wants to see my old noobness. everyone of my posts from that account are the same things that now a days make me drop my head and think "oh my god, someone is asking this again."

just keep at it, trust me the things that frustrate you now, will soon be trivial. I remember the first time I wrote the boiler plate code to create a window. It took several hours typing and looking at documents/tutorials to get it working. Now I hammer it out in minutes without thinking about.
[ dev journal ]
[ current projects' videos ]
[ Zolo Project ]
I'm not mean, I just like to get to the point.

This topic is closed to new replies.

Advertisement