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
Circulated by Bandoni
Media
|
|