Article Navigation

Back To Main Page


 

Click Here for more articles

Get Started In Creating Computer Games
by: Daniel Punch
Iíve always loved video games, ever since I first played them on a friendís computer after primary 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 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 but, unless you get ridiculously lucky, the best works are usually the ones that have been thought out.

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 one 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 and your actions having a butterfly effect on the future of the virtual universe when itís 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 challenge. ë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.

At the end of this period of your game creation, you should have the following:
- A written outline of the gameís characters and possibly a sketch or two (be they 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 who they will compete against)
- A written outline of the story (if there is one, this isnít too vital for ëSpace Invadersí or ëTetrisí, but for ëUber Quest: An Adventure of Awesomenessí itís a really good idea)
- A description of game play, written or storyboarded. Storyboards are visual representations of ideas. Draw your characters in actions, with arrows showing the flow of action and short written descriptions detailing the events occurring in your image (because some of us arenít fantastic artists and our images can be a littleÖ open to interpretationÖ)

Now that you have a fleshed out idea, itís time to work out how this will all get put together. If youíve gotten to this point worried that youíre going to have to spend years learning complex programming languages in order to implement your idea, fear not! Others have already done the hard yards for you. There are many RAD (Rapid Application Development) Tools available for game creation, a number of which are available for free online. Some of them still require you to learn a ëscripting languageí (a simplified programming language made for a specific task) but in general this isnít too complicated or involved. Iíve compiled a brief list of some of them that can be found at the end of the article. The free ones are listed first, organized by game genre.

Well, that should be enough to get you started in the creation of your game. The most important thing to remember once youíve gotten this far is that you need to complete your game. Many, many people start a project and then lose interest and it fails, or they keep moving on to one new project after another without finishing anything. Start small, build a working (if simple) game that is, above all else, complete. When you get to this stage you will always have a huge number of things that you wish to change, fix etc. but youíll get a great feeling from knowing that it is, in its way, finished.

From this point, you can start the tweaking phase. Play your game a few times, ask others to do the same, take note of what isnít fun or could be better and change things here. At this stage, it is more important than ever to keep backups of previous versions, so that if a change doesnít work you can go back and try something different without losing any of your work. It is at this point that you can add all new features, improve graphics and sounds, whatever you please, safe in the knowledge that youíre working on a solid foundation.

When youíre happy with your game, why not share it with the world? There are many cheap or free places out there for you to host your files on and then you can jump on link lists and forums and let everyone know about your creation. Well, I hope that this has been a helpful introduction into the art of creating games. Itís a great deal of fun, and can open whole new avenues of creative expression for you to explore. Jump in and have fun.

Links:
General Game Creation:
(Tools that allow easy creation of many different game types)
Game Maker: http://www.gamemaker.nl
MegaZeux: http://megazeux.sourceforge.net/

Adventure Games:
(Games such as Monkey Island, Kingís Quest, Space Quest etc.)
Adventure Game Studio: http://www.bigbluecup.com
AGAST: http://www.allitis.com/agast/
3D Adventure Studio: http://3das.noeska.com/
ADRIFT (for text adventures): http://www.adrift.org.uk/

Role Playing Games (RPGs):
(Games such as Final Fantasy, Breath of Fire, Diablo)
RPG Maker:
OHRPG: http://www.hamsterrepublic.com/ohrrpgce/
RPG Toolit: http://www.toolkitzone.com/

Fighting Games:
(Games such as Street Fighter, Mortal Kombat, Tekken, Soul Calibur etc.)
KOF91: http://sourceforge.net/projects/kof91/
MUGEN (unfortunately the site is largely in French): http://www.streetmugen.com/mugen-us.html

Side-Scrolling Games:
(Games such as the 2D Mario Games, Sonic the Hedgehog, Double Dragon etc.)
The Scrolling Game Development Kit: http://gamedev.sourceforge.net/

Web Games:
BYOND: http://developer.byond.com/

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:

Java Game Programming:
http://fivedots.coe.psu.ac.th/~ad/jg/
http://www.gamedev.net/reference/articles/article1262.asp
http://javaboutique.internet.com/tutorials/Java_Game_Programming/

Visual Basic Game Programming:
http://markbutler.8m.com/vb-tutorial.htm

C++ Game Programming:
http://www3.telus.net/alexander_russell/course_dx/introduction_dx.htm
http://www.rit.edu/~jpw9607/tutorial.htm

General Information:
http://www.gamedev.net/
http://www.gamasutra.com/

About the author:
Daniel Punch
M6.Net
http://www.m6.net







 



© Super Seventies RockSite! - All Rights Reserved