October 13How to Begin Making Computer Games
So You Want to Make a Computer Game?
You’ve played a lot of games and want to make your own now. Perhaps you always found yourself thinking up ways to improve the games you play. Maybe you have been making improved versions of games by modding existing games. Or maybe you think it would just be really cool to build your own game. How do you do it? What do you need to know? And how much of it do you need to know? I’ll tell you that you do not need a lot to get started. A basic knowledge of procedural programming is required to start making “real” games. Although there are many game making programs out there and some even have a drag-and-drop interface, I would highly recommend that you learn the basics of procedural programming for two reasons:
- Understand the logic behind games – Games are just programs. Very fun and complex programs, but deep down they are just programs. If you learn the logic behind programs you will be able to more easily understand how to make things in your game work.
- Make Better Games – Being able to write code will give you immense freedom in making everything in your game behave the way you want it to. Without programming, you will be rather limited in the kinds of games you can make.
Notice I did not tell you to go learn a specific programming language. If you know how to program in one language, you can learn any other one without too much effort. So you should pick a good game making program first and learn whatever programming language that game making program uses.
If I were to suggest a specific language for you to start learning to program it would be C++. Yes, it can be a little painful at times compare to other languages like Java. But that is because you have a much greater control over the low level details and programs made in C++ can run faster since it doesn’t run a lot of checks to make sure you didn’t make a mistake. Learning C++ will really teach you the nuts and bolts of what the heck is going on. Not to mention that many AAA games have been programmed in C++.
In games there’s a lot of stuff that is similar to something else in the game. Say you wrote code to have a red ball bouncing around the screen in your game. Now you want to add a blue ball that also bounces around the screen. It would be great if you could reuse the same code for the blue ball that you wrote for the red ball and just change the code that gives the ball a color. You can do that by using object oriented programming (OOP). In OOP, you can define a template for making a ball and reuse that template to make a red ball and a blue ball easily. If you wanted to make a game with 100 bouncing balls with different colors, you can see that OOP is very valuable when making games. Combine procedural programming with OOP and you have some real power to make great games. C++ and Java are examples of OOP languages. Note that you don’t necessarily have to learn all the ins and outs of OOP, but mostly the concepts behind it to begin making games. It would be necessary only if you are going to make commercial quality games.
The next step is crucial enough that I will need to elaborate on it on my next post: choosing a good game making program.