I have always loved video games, since I first played them in the afternoon after elementary school on a friend’s computer. There is something almost mystical about the fact that we are able to transfer images around and communicate with virtual environments, a living illusion that has been created for us to connect with as we wish.
I’ve always tried to make games myself, too, but have not had the technical skills to do so until recently. Now, I’m a second year student in software engineering, and if I couldn’t code a game without too many dramas, something would be dramatically wrong. But what about the average person: the person to whom the word ‘memory loss’ conjures up their grandfather’s photos, Is ‘pipeline’ where water flows and unheard of ‘blitting’? Okay, anyone can get in on the idea of making a game and you don’t even have to know ‘actual’ programming to do so.
Where do games begin, then? Has an concept. Players, like any fiction, warrant a good idea. Sure, you can just sit down and write a story in the same way without foresight, you can hop in and slap a game together. If you get incredibly lucky, though, the best plays are usually the ones that have been well thought out in advance.
There are two ways to plann a project. You can start from a proven technical point of view and create your project on top of that or you can just go for the concept, add as many features and concepts as you want, and then delete those that you can’t use when you’ve settled on the technology with which you’ll implement the game. The second type, in general, is definitely the better one to go with when designing games. However, the first choice will save you a lot of headaches when you start out first.
So, you’ll want a relatively easy idea for a first game. Don’t get me wrong, crazy-go-nuts game ideas are awesome, and there should be more of them out there, but when it’s just your first game, you’re not going to be able to create a real world environment of fifty billion virtual people all interacting in real time with your decisions having a ripple effect on the future of the virtual world. Actually. Some people are trying it out; none I know of has succeeded. Imitation is the most suitable way to proceed. Easy games like ‘Space Invaders,’ ‘Tetris,’ ‘Pacman’ or even ‘Pong’ are perfect starting points. We are all relatively easy to build but have some inherent challenges.
For eg, ‘Pacman’ involves finding the path for the ghosts. I suggest you launch your very first attempt even simpler than that. ‘Space Invaders’ is a good jumping point in. Without much effort you can make a easy, complete game 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 you’ve got your idea it’s time to flesh it out. Do not worry about the technology or the fact that you do not yet know how to execute a game, just grab some paper and a pencil and go wild with ideas. Describe the main characters, playing games, goals, interactions, plot, and key mapping, whatever you think. Make sure you have enough information to make someone read through the notes and play with relative precision through the game in their mind. Changing the design of the game over the coding process is almost always a bad idea. If set, it should stay fixed until the process of tuning (I’m going to go into this later) or you’re likely to enter ‘technology hell’, where the project goes on and on; more and more work is done with less and less outcome.
At the conclusion of this phase of the development of your game, you will have the following:
-A written outline of the characters of the game and probably a sketch or two (be it space ships, yellow circles, cars or the prince of the dark kingdom of Falgour, you need to know who or what the player will be and against whom they will compete)
-A written outline of the plot (if there is one, this is not too important!
— A summary, written or storyboarded, of game play. Interpreter are visual portrayals of concepts. Draw your characters in action, with arrows indicating the flow of action and brief written explanations describing the events that occur in your image (because some of us aren’t great artists and our images can be a little … open to interpretation …)
Now that you have an idea that’s fleshed out, it’s time to figure out how it all gets put together. When you got to this point and are worried that you will have to spend years studying complex programming languages to execute your idea, don’t be afraid! Others have already done you the rough yards. Some RAD (Rapid Application Development) tools are available for game development, and a range of them are available online for free. Some of them also require that you learn a ‘scripting language’ (a condensed programming language designed for a particular task) but this is not too difficult or involved in general. I’ve compiled a brief list of some of these I have found at the end of the article. The free ones are listed first, organized by game genre.
Okay, that should be enough to get you started with your game-making. Once you have reached this point, the most important thing to note is that you need to complete your game. Many people start a project and then lose interest and it fails, or they continue to move on to one new project after another without completing something. Start tiny, create a functional (if simple) game which is complete above all else. You will still have a massive amount of things when you get to this point that you want to alter, fix etc. But from realizing that it is, in its way, done, you can get a great feeling.
You can start the tuning process from there. Play a few times on your game and invite others to do the same. Take note about what may or may not be funnier and change things here. At this point, having backups of previous versions is more important than ever so that if a change doesn’t work you can go back and try something new without losing all of your work. It is at this stage where all new features can be introduced, graphics and sounds changed, whatever you want, secure in the knowledge that you are operating on a solid basis.
Why not share it with the world, when you’re happy with your game? There are plenty of cheap or free places out there for you to host your files on and then you can hop to the connection lists and forums and let everyone know about your progress. Okay, I hope this was a valuable introduction to the art of making games. It is a lot of fun, and you will try whole new ways of artistic expression. Jump in, and have some fun!
(Games such as Monkey Island, King’s Quest, Space Quest etc.)
Adventure Game Studio: [http://www.bigbluecup.com]
3D Adventure Studio: http://3das.noeska.com/
ADRIFT (for text adventures): http://www.adrift.org.uk/
(Games such as Street Fighter, Mortal Kombat, Tekken, Soul Calibur etc.)
MUGEN (unfortunately the site is largely in French): http://www.streetmugen.com/mugen-us.html
(Games such as the 2D Mario Games, Sonic the Hedgehog, Double Dragon etc.)
The Scrolling Game Development Kit: http://gamedev.sourceforge.net/
There are many others available as well. One particularly useful site for finding game creation tools is: http://www.ambrosine.com/resource.html
Also of note, although not freeware, are the excellent game creation tools available by Clickteam at: [http://www.clickteam.com/English/]
Klik and Play and The Games Factory in particular are the programs to have a look at and download the free demos of.
If you really want to do things right and program the game yourself, there are some excellent programming resources available at the following locations:
Visual Basic Game Programming:
Thank you for visiting our website!