Right before the end of January 2010, IGDA Manila Chapter, participated in having the first ever Global Game Jam in Manila. It was a success and more details about it can be found here. A few days before that, we’ve been receiving a lot of inquiries from people who aren’t into Games Development yet who wants to join in, but asking how can they prepare themselves in game programming.
Lucky for them, I’ve started to post a short guide on how to prepare and educate themselves on game programming that focuses on the basic skill sets needed for a very short time-constraint event such as the Gl0bal Game Jam, a 48-hour game-making event!
I am a re-posting a revised version of that article here. Hopefully this article will orient a programmer at early or beginner levels on how to prepare themselves in game programming without feeling empty-handed and misdirected on what normally is a long journey of learning. Please note that this is not a rule. This is more of an advice or suggestion.
What Programming Language Do You Know?
This is not work — this is Game Jam! It’s about the game’s unique design and speed of delivery. So it would be best to use the programming language that is most familiar and comfortable to you. Based on what you know, the following are my suggestions:
Background: C# / Java / C/C++
If you’re into pure C#, and would like to have more programming control over the construction of the game, yet you want to have all the necessary libraries instantly for your programming needs, I suggest that you use Microsoft XNA Framework. Once you have that ready, head over to Riemer’s XNA Tutorials. It’s free.
Background: C/C++ / Pascal / Hard-headed Old School Guy
There is still hope for guys like you. And yes, C++ is still the primera lingua of Game Development for tons of reasons. However, we’re on a time-constraint game jam and results are more important than your elitism. If you don’t like the two suggestions above, and like the overall control on your programming, then there’s no doubt about C++. But, I would suggest for you to take a look at SDL, which is low-level but rids of the unnecessary lengthy code for windows management, sounds, images, and time. It’s like a bit of XNA but not entirely like XNA. Also, you might want to integrate existing libraries such as OGRE, Irrlicht, fmod, etc. Since you’re so L337, I assume you already know how to proceed.
You know what, I suggest you go for learning C# for just a half a day using this free online C# book and use Unity or XNA!
What Else Should I Know?
If I were a student programmer with no prior knowledge in game programming and with a global game jam time-constraint, it’s good enough if you can visualize and program the game at your will and how you perceive it was programmed. You can neglect the idea of hows pros do it. But, it would never hurt knowing the following items I am about to tell you. In fact, you have no excuse since I’m spoon feeding to you the resources now. Go ahead and learn:
What Should I Make For Practice?
I know, I know, you feel like that you’re just a programmer who wants to make games but no idea what for you to practice on. I understand. (Oh poor fella) Well here are the things I would suggest. At first, don’t concentrate on graphics. Concentrate on how it works and make it work. Don’t worry about your programmer art, it’s still ART! Think simple, like the following:
- Space Shooter (Galaga, Galaxian, etc)
The good thing about these two games is that they’re very interactive, they require less graphics, and would make you practice programming game logic and apply some math and physics.
Ok, that’s my $0.02 for those who want to learn game programming quickly and I hope you would enjoy the experience! Of course, I welcome other suggestions from the readers.
May the bits be with you.