 | MFC based. |
 | Heavy use of C++ features
 | Encapsulation |
 | Inheritance |
 | Dynamic binding |
 | Exceptions |
 | Polymorphism |
|
 | Uses DirectPlay
 | IDirectPlay2 interface - multiplayer communication infrastructure. |
|
 | Uses DirectSound
 | IDirectSound Interface - smooth mixing of sound effects. |
|
 | Multithreaded
|
 | Uses DIBs and the DrawDIB API (from WFW) for animations. |
 | The Game Manager
 | Main game loop |
 | Manages list of objects |
|
 | The Comm Manager
 | Communication protocol |
 | Synchronization. |
 | Message packing and unpacking |
|
 | A timer mechanism - time synchronization using smoothed averages. |
 | Automatic and random map generation
 | Accepts a seed and difficulty level and creates a random map |
 | All the machines see the same map |
 | No closed (unreachable by tank) areas |
|
 | Image manager
 | Lists of images |
 | Animations (frame rates, cycles etc) |
 | Transparency |
 | Collision detection |
 | Overlayed images |
 | Image offsets. |
|
 | Smart queues for inter-thread messaging support. |
 | Bit-field packing of network messages for optimum bandwidth usage. |
 | Keyboard manager - Mapping virtual keys into maneuver sets of local tanks. |
 | Animated user interface
 | Dialog buttons |
 | Animation controls |
|