Home This Article Is Taken From The Game Programming MegaSite, A Definitive Resource For Game Developers!

Game Design: Ideas
By: David Brebner

Ideas are the starting point of any program - game or not. Some ideas are more original than others - Doom clone anyone?

Originality is great, but you need a good game. Despite the latest in modern gaming I had to offer, my flatmates most popular game was DX-Ball, an arkanoid clone. (They were playing DX-Ball because they were bored with freecell!)

I may seem to be arguing with myself in the two previous paragraphs, but this is merely friendly discussion. I propose that originality of the individual idea is not required as long as you think you can implement that idea better than those before you have.

So what I am saying is;

What Are Ideas Anyhow?

Well don't worry this is not a metaphysical discussion - here is David's definition of ideas;


	"what you think you're going to do - before you do it."

Ideas form the blueprint for your game. These ideas may include plot or character sketches, action moves, diagrams of puzzles, interface concepts, dialog, even a specific programming technique to exploit.

How Do I Get Them?

If you are anything like me, you will probably have way to many ideas, both for projects to do, and for aspects of those projects. But lets face it you are better off finishing 1 game than starting 30. (I really should learn from that)

Here's a simple three step process to better abs... ideas, (too many American infomercials) you can repeat as many times as you require;

  1. Stimulation (e.g. play other games, watch videos, movies, read books, music whatever)
  2. Scribble (write down a bunch of stuff you are thinking of so you can remember it later)
  3. Discuss (brainstorm - with a group of people to refine your ideas and come up with new ones)

Just hope that the people you brainstorm with aren't too critical of your lame ideas, even the most stupid suggestion may surprise you. Who would have thought a game with odd shaped falling blocks would take the world by storm (Tetris for those of you who don't remember the 8-bit days).

The Real World...

With these wonderful ideas firmly in mind you go about implementing your program. You will probably find it's just not possible to do it the way you had planned, or you come up with better ideas along the way.

This is probably a good thing, if you were able to achieve your ideas exactly you would have to be a master at planning. It is almost inevitable that as you develop your game you find your ideas were perhaps a bit ambitious or you think of a new idea or twist (within reason say the schedulers among us).

Now You Have Ideas, What Makes A Game?

For more on this topic see Greg Costikyan's article "I Have No Words & I Must Design"

What's Not A Game?

Puzzles
puzzles are static, not interactive. Good games probably have puzzle elements, but they should not be JUST a puzzle.
Toys
toys are interactive, but have no goal. e.g. playing with blocks, sim-city.
Stories
stories are linear, games are not. Any presentation of narrative should still allow for the user to make their own decisions.

What Is A Game?

What Can Make A Better Game?

Basic Game Categories...

Games generally fall into basic categories. You should keep these in mind as far as implementing your game, but you may choose to mix and match parts of each genre.

Two Basic Implementation Techniques

You can generally divide the graphics of games programming into two distinct areas (although a game may combine aspects of both.)

That may seem simplistic, but basically 2D and 3D graphics are very different techniques.

We will cover the basics of 2D graphics later on. Its basically a fairly straightforward concept - images (like paper cut-outs) are located where you want on the screen...

3D games meanwhile involve a lot more work (and maths!). Luckily (?) there are all sorts of people trying to develop 3D API's for you to use.

I will be including some samples of Microsoft's Direct3D Retained Mode interface (the easy one) and have a look at OpenGL (despite Microsoft's claims, a competing API). Thanks to Patrice Scribe for the wonderful type libraries that make this possible.



The Game Programming MegaSite - ⌐1996- Matt Reiferson.