Machinations

Last Modified 1/4/03

Current features:
  • Up to eight people can connect using TCP/IP protocol or UDP protocol
  • Reliable algorithm for accommodating UDP packet loss
  • Peer-to-peer architecture
  • Clients automatically try to reconnect if their connection is interrupted
  • Fast, effective sychronization algorithm which eliminates discrepancies
  • Decent latency (anywhere from 100 ms to 400 ms)
  • Extensive custom GUI library with support for text boxes, combo boxes, and dialog boxes
  • Optimized font generator and font renderer using textured quads
  • Game host automatically transmits map and unit template file to clients that don't have it
  • Game host can assign clients to different "teams"
  • Fully functional panning and unit selection routine
  • Realistic unit movement via steering behavior
  • Minimap
  • Sophisticated command panel
  • Automatic lag calculation
  • Attack, unit health, and realistic explosions!!
  • World files containing unit types, missile types, and resource definitions
  • Map files containing information about terrain, players, underground resource deposits, and units
  • Players can administrate the game using a shell
  • Fully compatible with Visual C++ and Linux (YAY!!!)
  • Four fully-functional modes of aggression: Evade, Defend, Pursue, and Hold Fire
  • Rapid unit selection with the SHIFT, CTRL and ALT keys
  • Blueprints mark the location of planned/destroyed buildings
  • Tool for testing synchronization and reporting discrepancies
  • Texture manager for loading and managing a diversity of graphics and animations
  • Sound!!
  • Diverse text messaging system
  • Groups
  • Allies can share one another's units and resources
  • Customizeable TA-style resources
  • Custom memory manager that detects memory violations, dangling pointers, and memory leaks
  • Zoom, rotate, or tilt the view
  • Unit construction and production
  • Synchronized timing changes during gameplay
  • Synchronized terrain via a random seed number
  • Game speed adjustment
  • Eleven customizable unit abilities
  • Limited visibility (e.g. cloaking)
  • Resource extraction
  • In-game help system
  • The host automatically detects changes to the map or world file by an external program
  • 3D models with skins!!!
  • 3D terrain using spline surfaces, stratum, and adaptive meshes
  • Transparent animated water
  • Construction units automatically repair damaged units
  • Multiple combat scripts allow a unit to engage two targets at once
  • Armor classes (e.g. piercing, bashing, etc.)
  • Turret script with recoil
  • Trees, shrubs, etc.
  • Projective shadows
  • Caching of control points and maps for faster loading
  • Model animations/animation scripts
Coming soon:

Here are some things we plan to implement in 2003-04. The items are loosely arranged in the order we plan to implement them.

  • Missile system using collision detection / Ranged bombardment
  • Particle engine for special effects such as smoke
  • Approximate Nearest Neighbor algorithm for faster unit queries.
  • Control definition file / Customizeable UI skin
  • Revolving menu cube
  • Limited mobility on different terrain
  • Affects
  • Limited population
  • Smoke and debris
  • Upgrades
  • Loading and saving of games
  • Staggered unit interval ticks
  • Pathfinding/collision detection
  • Automatic latency/file transfer adjustment
  • Unit catalog (Civ2 style)
  • Bridges, walls, roads, etc.
  • Standalone server with the option of establishing a server/client network
  • Fully customizable map and unit scripting (in the way way distant future)
  • Flying fortresses / Relative unit coordinates / Multiple arenas
  • Tractor Beams
  • Formations
  • Multiple visibility layers / Continuous visibility / Configurable fog of war
  • Player coordination of automtic firing and repairs (more efficient)
  • Artificially intelligent computer players
Sourceforge Valid CSS!
Maintained by Jon Sargeant and Tom Pittlik