|
Trooper II - Introduction
Trooper II is my largest project, and has now
become infamous with all those that have any form
of contact with me. It started with an experimental
graphics engine for the efficient display of images
over a scrolling background: this was met with
such success that I began to work on the game
engine obsessively, to the extent that within
a few weeks I had the beginnings of a fast and
(for me) graphically impressive platform game.
The engine is far from sophisticated, but (admittedly
mostely in order to remove the pain from playtesting)
the emphasis was always on speed, reactions, and
quick playability. The result is, after nearly
12 months of pathological programming, an immediately
responsive generic engine that can handle just
about anything the user wishes to give it (through
the incorporated level editor, and now the
level editor for Windows written in
Delphi 4.0) whilst maintaining speed and an unhealthily
stealthy AI system for the monsters that I wrote
during playtesting. A brief histort of the development
of the game is probably required. The first implementation
of the graphics engine involved the simple loading
and scrolling of a background image, the code
being generic and written in pascal (I never felt
the need to rescript in Assembler). This could
be achieved at different rates, and was initially
entirely seperate from the game engine. Once this
was achieved, I quickly began to experiment with
the display of images superimposed on the backgound.
Speed proved not to be a problem, but the methodical
loading and storage of the images did: and this
led to the core of the Trooper II images system,
that of keeping all the image file details in
a regestry array, and loading the images according
to constants that were originally supplied by
the pascal program, and are now loaded from the
level files. This image data is used to load images
into the memory allocated dynamically, and so
no valuable conventional memory is wasted; and
the image position numbers (the interface to the
previously written Pascal graphics engine for
MCGA) are stored in another array, written as
the images are loaded when the game engine is
started. This array is indexed to the number of
an image in the registery, and so if one particular
image is required, it can be inputted into this
array and the images exact position on the heap
given by the graphics library variables.
Back to Trooper II home
| Next page |