Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Stefan Johansson, posted on August 19, 2002

Image Description, by Stefan Johansson

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


Archive Notice: This content is archived, and commenting is no longer active. It is here for reference purposes. This content was added on an older version of flipcode, before the site closed in 2005.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.