I’ve always loved video games, ever since I first played them on a friend’s computer in the afternoon after elementary school. There’s something almost magical about the fact that we can move images around and interact with virtual worlds, a living fantasy presented for us to interact F95zone with however we please. I’ve also always wanted to make games myself but, until recently, didn’t have the technical knowledge to do so. Now, I’m a second year software engineering student, so if I weren’t able to code a game without too many dramas there’d be something drastically wrong. But what about the common person: the person for whom the term ‘memory leak’ conjures up images of their grandfather, ‘pipeline’ is where the water flows, and ‘blitting’ is unheard of? Well, everyone can get in on the game creation process, and you don’t even need to learn ‘real’ programming to do so.
So where do games start? With an idea. Games, like all fiction, require an idea to be successful. Sure, in the same way you can just sit down and write a story without foresight, you can jump on in and slap a game together. However, unless you get ridiculously lucky, the best works are usually the ones that have been well thought out beforehand.
There are two methods of planning a project. You can start from a known technological standpoint and build your project on top of that or you can just go for the design, add as many features and ideas as you like, and then remove the ones that you can’t use when you’ve decided on the technology you’re going to implement the game with. In general, the second type is probably the best one to go with when designing games. When you’re first starting out however, the first option will save you many headaches.
So, for a first game you’re going to want a pretty simple idea. Don’t get me wrong, crazy-go-nuts game ideas are fantastic, and there should be more of them out there, but you’re not going to be able to create a real world simulator with fifty billion virtual people all interacting real time with your actions having a butterfly effect on the future of the virtual universe when it’s just your first game. Really. Many people try it; none that I know of have succeeded. Imitation is the best way to start out. Simple games such as ‘Space Invaders’, ‘Tetris’, ‘Pacman’ or even ‘Pong’ are great places to start. All are largely simple to create but have some inherent challenges. ‘Pacman’ for example, requires path finding for the ghosts. I recommend that you start even simpler than that for your very first attempt. ‘Space Invaders’ is a nice point to jump in. You can make a simple, complete game without much effort and it’s almost infinitely extensible.
If you’re stuck for an idea, pick a genre that you enjoy. Do you love adventure games such as ‘Monkey Island’, ‘Grim Fandango’, ‘Space Quest’, ‘King’s Quest’ etc.? Design one of those. Are you into fighting games like ‘Street Fighter’, ‘Tekken’, ‘Soul Calibur’, ‘Mortal Kombat’ and so on? Come up with an idea for that. Do you like first person shooters such as ‘Quake’, ‘Half Life’ or ‘Doom’? I don’t recommend it as a first project, but you can always give it a go. Feel free to be as generic as you like, this is a learning experience after all.
Now that you have your idea it’s time to flesh it out. Don’t worry about the technology or the fact that you may not know how to actually implement a game just yet, just grab yourself some paper and a pencil and go crazy with ideas. Describe the main characters, game play, goals, interactions, story, and key mappings, anything you can think of. Make sure you have enough detail so that someone can read through the notes and play through the game in their head with relative accuracy. Changing game design during the coding process is almost always a bad idea. Once it’s set, it should remain set until the tweaking phase (I’ll go into this more later) or you’re likely to enter ‘development hell’, where the project goes on and on; more and more work is done with less and less outcome.