[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Where do I begin?
Nothing but exactly what I wanted. Thanks Steve.
----- Original Message -----
From: "Steve Baker" <sjbaker1@airmail.net>
To: <linuxgames@sunsite.dk>
Sent: Wednesday, January 09, 2002 9:09 AM
Subject: Re: Where do I begin?
>
> When I write a game, I usually work in this order:
>
> * Build some basic scenery for one level.
>
> * Figure out how to load that into my budding program.
>
> * Build a basic (not necessarily animated) character
> for the player. (This may be just a gun or something
> in an FPS).
>
> * Figure out hot to load that into the game.
>
> * Add simple routines to move the player around with
> the joystick/keyboard/mouse (whichever you prefer)
> in a simple 2D plane.
>
> * Add the camera motion (this may be the same thing
> as the player motion in an FPS).
>
> * Now you can move around your basic level - you can
> worry about collision with objects in the game world,
> making the player stick to the ground - jump, etc.
> This is quite hard to get right.
>
> * Get a feel for how much detail you can model and still
> get a good frame rate.
>
> Once you have gotten to this point, it matters less what
> order you do things in - and this would also be a good point
> to start bringing in other developers if that's what you
> want to do.
>
> The basic 'look' of the game is established so people know
> what they are signing up to - and it should already be
> impressive enough to look like it might one day be a game.
>
> Continuing:
>
> * At this point, I like to get my sound engine built -
> add sound effects, music, etc.
>
> * Add a mechanism to change levels - reloading the
> scenery from disk - whatever.
>
> * Add cheat modes to allow you to change levels easily
> and to move the character with collision detection off
> at any speed so you can quickly get to anyplace in the
> game. This is suprisingly important.
>
> * Other game characters...figure out how to load them,
> collision-detect/ground hug them, etc.
>
> * AI for other game characters. This is something I
> find *VERY* difficult to do well - and something
> for which the available literature is pretty much
> useless. Consider adding a scripting language for
> this - get something off-the-shelf like Python.
>
> * Shooting (or whatever form of combat/scoring you have).
>
> * Startup screens, high score tables...all that annoying
> junk that you have to have.
>
> At about this point, you have "A Game".
>
> * Pretty everything up - better graphics, more levels,
> fancy lighting, particle systems for nicer explosions,
> dust from moving objects...eye candy basically.
>
> * Add networking and multi-player. In terms of coding,
> this isn't really all that hard - it can be conceptually
> rather tricky though. I don't think you should worry
> too much about it while you are in the early stages of
> development.
>
> I strongly advise you to "Get Something Going Quickly" - that
> provides the strongest motivation for you. Don't over-plan
> this stage - you'll end up getting totally bogged down in
> that process.
>
> Once you have written a couple of games this way, you may
> have enough experience to lay out a complete and nicely
> structured design on day one - but you won't succeed if
> you try to do that while you are learning because you are
> planning something you have no expertise in.
>
> Expect to throw the first version game away - so don't
> invest too much effort in making the code pretty or elegant
> or documenting it.
>
> ------------------------------------------------------------
> Mail : <sjbaker1@airmail.net> WorkMail: <sjbaker@link.com>
> URLs : http://www.sjbaker.org
> http://plib.sf.net http://tuxaqfh.sf.net
http://tuxkart.sf.net
> http://prettypoly.sf.net http://freeglut.sf.net
> http://toobular.sf.net http://lodestone.sf.net
>
>