Submitted by , posted on 20 September 2002
Image Description, by
This image is from a remake of the game Scorched Earth 3D being developed as part of an assessment
for my Diploma of IT (Software Development) course at QANTM here in Brisbane, Australia. The course itself has
a focus on games development and has both a multimedia and a programming
stream. Of course, I'm in the programming stream which explains why the art
is all horrible-looking :)
The screens show the state of the game after about a week's coding. The
entire assessment itself involves (as mentioned) a remake of Scorched
Earth - but it's not just programming. We have to go through the whole
requirements gathering and design phases, even going so far as to set
milestones for ourselves and attempt to keep to them as best we can.
At current, much of the game's logic is in place and it plays fairly well -
if a little fiddly at times. The camera system is kind of horrible at the
moment, but I'll be straight into that next week.
Some interesting notes:
Engine ('Quill') developed by myself using MSVC++ 6.0 and DirectX 8.1.
Audio support via FMOD is planned. I have MSVC .NET, but no plans to port it
at the moment - maybe one day.
Structured config files in the form of non-strict XML. I use Expat to
parse the XML elements into heirarchical trees.
Light mapped, textured height maps for levels. Sky box present to enclose
the game world.
Light map actually moves over the terrain slowly, gradually changing
direction, giving a groovy cloud-cover effect. In the screen shots, you can
the light map best in the top right image.
Verlet integration used for bullet movement - bullets can bounce off the
side of the playing field.
Smart pointers used extensively - Quill's resource managers actually rely
on smart pointers almost exclusively.
Microsoft .X meshes
Where possible (nearly everywhere), .png images are being used as
Terrain damage. Currently only partially implemented. The reference
implementation I saw (by one of my instructors, Christian Schladetsch)
recalculated the normals after each bit of damage to the terrain to
better show the shadows of damaged terrain. I've got another idea which
simply dropping the diffuse color of affected vertices (calculated by
distance from the point of impact) by a small amount each time. Still not
sure if I'll go with this method tho.
Menu system implemented using Quill's excellent menu base class - all
menus derived from this class need only to define how to draw a menu item
how to interact to mouse inputs, which means you can easily swap a 3D
menu system with a 2D one or vice versa - it's hard to express how easy it
implement new menus, but take my word for it :P
In two weeks time this is due to be completed, so I may post again if the
appearance of the game improves enough to justify another post :)