Submitted by , posted on 19 August 2002

Image Description, by

Nope its not a new RTS, rather its the five year old RTS Total Annihilation that has been dragged into the 3d age. To achieve this we reverse engineered the data structures in TA memory that we was interested in units, features, projectiles, smoke, debris etc. Then we used our custom ddraw.dll and dplayx.dll (that also record/replay games, improve the TA ui, adds los/resource info sharing, adds whiteboard and alot more) to share this info out into a filemapping. For some of the larger datastructures we instead rewrites some of TAs pointers to point directly into shared memory so we dont have to copy the data every frame.

We then use a separate program to draw the shared info using Opengl. One problem is that despite TA being designed to run on p100 machines it can still strain todays fastest machines in 3d mode. This is due to the large amount of data that has to be processed each frame. A TA scene can have up to 5000 units(each with several movable parts) and several thousands of projectiles/explosions/features.

The map in TA contains a large amount of texels (8000*8000 for a medium/large one(created from tiles but every tile can be unique)), to be able to display this at any angle we programmed a system where a number of successively lower res textures are generated around the camera which works well when the camera is at rest but can be slow when it moves fast.

Downloads can be found at although you will need Total Annihilation to have any practical use of them.

//Stefan Johansson

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.