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 over 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 see 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 textures.
  • Terrain damage. Currently only partially implemented. The reference implementation I saw (by one of my instructors, Christian Schladetsch) actually 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 involves simply dropping the diffuse color of affected vertices (calculated by distance from the point of impact) by a small amount each time. Still not totally 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 and 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 is to 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 :)

    Tom Lee

    Image of the Day Gallery



    Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
    Please read our Terms, Conditions, and Privacy information.