Introduction to Game
Programming
When the home computing boom started in the early 1980s, the only games
around were those created by enthusiastic amateurs in bedrooms across
Britain. Over the years the computer games market has exploded into a
multi-billion-pound industry, creating household names of characters
like Lara Croft and making a fair few millionaires in the process. To
all intents and purposes it seemed that the good old days of homebrew
gaming was dead. Until recently. The appearance of a number of games
development systems has helped fuel the creation and distribution of
hundreds of new ideas, creating a resurgence of interest of the "old
ways", in addition to keeping the spirit of games programming alive.
It's important to stress that none of the products in this feature are
going to turn you into an instant smash-hit games creator. Most require
you to learn a programming language of one description or another--there
are no quick fixes in the world of Doom,
Tomb Raider or even Centipede! But the good news is
that these packages make it much easier to learn what can seem very
complex languages.
2-D Game Creation
Acid
Software's
Blitz Basic was written for the Amiga range of computers in
the late 1980s and garnered almost fanatical levels support from its
users. The collapse of Commodore, the firm behind the Amiga, seemed to
also spell the end for this package but creator Mark Sibley gave the
product a total makeover and released it for today's PCs. Supplied on a
single CD with a small manual (but stacks of electronic documentation),
Blitz is a dream to use. It's built-in IDE and debugger give the
programmer more control than many packages costing multiple times more
than the asking price. Currently supporting only 2-D creations (no
Quake III clones yet) Blitz does it's job efficiently and
elegantly, drawing on Microsoft's DirectX technology to provide graphics
and sound interface to the home PC and providing blistering performance
into the bargain. In addition to the base system, which is updated
regularly from the Blitz Web site for free, the install CD
contains dozens of working examples and code snippets to illustrate how
program functionality sits within the framework of a game design and all
are comprehensively documented to give the beginner the best possible
opportunity to grasp the fundamentals with the minimum of fuss. Blitz
will run on any DirectX-compatible Windows operating system.
Competing
with Blitz in the 2-D creation market is FastTrak's
DIV Games Studio, billed as an all-in-one creation package.
Comprising a code editor and graphics creation package, DIV is an
out-of-the-box solution based around the same core language as Blitz--namely
BASIC. Designed as an environment rather than an interface, DIV
takes control of your monitor, presenting a full-screen meaty looking
interface which gives the programmer access to all the tools he or she
is likely to use. With full-colour source coding (designed to help the
programmer read code more easily), and even a built-in CD player,
there's something here for everyone. The built-in help system is
comprehensive and well written, essential in all of these types of
package, and the provided tools become second nature after a short time.
The addition of the graphics editor is particularly useful for those who
don't have a copy of
Photoshop Elements or
Paint Shop Pro handy. DIV is recommended for Windows
95 and 98-based systems.
For the retro-gaming fan and lovers of all things 2-D it has to be
said that Blitz Basic is a great buy. Its standard Windows interface,
superb debugging tools and comprehensive feature set make it a great all
round package for beginners and experienced programmers alike. It
doesn't have the built-in graphics editor and sound package provided
with DIV (which may sway some newbies) or DIV's simple
all-in-one interface but Halfvalue.co.uk's preference is for Blitz
as the rapid development tool of choice.
3-D Game Creation
The main games creation package to currently support 3-D games creation
is FastTrak's
DarkBASIC in addition to the 2-D features of DIV and
Blitz Basic. In common with DIV, DarkBASIC is a
programming environment containing the tools required to get 3-D code up
and running. The introduction of a third dimension into the programming
equation is always a problem, due to the added complexity of the code
required to create, light and manipulate objects but the DB team
have done a good job of providing enough help and support through the
internal documentation to allow users of any skill to have a pretty good
stab at producing presentable results. DarkBASIC allows programs
to be run in two modes--a pre-compiled version and an "instant run"
version, which is useful for debugging work and the like. The built-in
editor is functional and works well but it's insistence on restricting
the screen resolution to 640 x 480 can be an annoyance, especially when
dealing with a lot of source code. The package comes complete with the
obligatory example code and demo games and well over 1500 pre-formed 3-D
objects, sound samples and other useful bits and pieces which can be
used in personal creations--a real bonus for those of us who don't know
one end of a 3-D computer model from the other. DarkBASIC's
feature set is superb and it's possible to produce some stunning
results, but be warned--a fairly meaty PC is required to get the best
out it.
The Game Programming Starter Kit also supports 3-D graphics.
Included in the pack is a set of utilities that you can use to create
the different elements of a game, including Microsoft's Visual C++,
introductory Edition 6.00, Microsoft DirectX 7 SDK, Shadow Realm Model
Animator and Genesis 3-D SDK. Use all these elements individually, then
bring them together to make your game. A prior knowledge of programming
is helpful when using this package and much of the process relies on
using the Visual C++, but if you want to learn how to use this utility
the package give you some resources to build up a good starting
knowledge. Also included is a demo game, designed so that you can
de-construct it and learn how to use the package by example. The Genesis
3-D programme allows you to build your own characters via the Actors
Studio; also within this programme the World Editor allows you to create
unique worlds for your games to exist within. This utility may look
daunting at first but with it's easy-to-use Windows interface and three
development views of top, side and front, you will start creating you
own play area in no time at all. For an example, import the world from
the demo game and you'll be amazed at the complex game arenas you can
create so easily. The Shadow Realm Model Animator gives you the ability
to create your own characters in all their 3-D glory using wire frame
models and a lot of patience. The interface has the three familiar views
of top, side and front giving a 3-D perspective from which to work.
Skeletons for your charaters can be created in wire frames, and then
"fleshed" out with colour using polygon graphics. Once created,
animating your model is easy, as is the addition of shadows for that
touch of realism, before finally importing them into your gaming world.
Essential Game Programming
Books
If the thought of using BASIC for your games programming requirements
leaves you cold, then why not move over to a little C++? In his book
Tricks of the Windows Game Programming Gurus, author Andre
LaMothe goes for the gaming jugular with this weighty look at Windows
game programming through DirectX using Visual C++. Covering a myriad of
topics ranging from the basics of creating Direct3-D surfaces through to
artificial intelligence and real-world physics modelling there's
something here to cover all eventualities. It should be stressed however
that this is not necessarily a book for the beginner as it expects a
fairly good grasp of Visual C++ (an introductory version of which is
included on the book's accompanying CD-ROM, together with a couple of
bonus publications in electronic format).
--by Chris Russell