Phase List - August 15th, 2005

Phase 1: Fundamentals

  • Set up core server code to receive from and delegate to nodes and clients
  • Set up node code to efficiently exchange client information on the system level
  • Set up client code to receive updates to the gamestate
  • Create a test system (no graphics or visuals yet)
  • Implement chat to and from all parties in the test system. By adding chat early, we have built-in communication for debugging purposes.
  • Test and optimize until an acceptable number of people can actually play over the internet

Phase 2: Basic Simulation

  • Create the system layout, with objects having set coordinates
  • Implement motion
  • Enable ability to read in ship graphic (and create placeholder graphic)
  • Implement turning, and map to keys
  • Implement acceleration and top speed, and map thrust to a key
  • Implement reverse and/or decelerate key
  • Allow turning speed, acceleration, and top speed stats to be changed by an outside data file
  • Optional: add simple starfield support for ease of movement
  • Create test stellar object in test system, add support for landing (without any functionality while landed yet)
  • Test: players should have basic movement capabilities

Phase 3: Deathmatch Elements

  • Code in simple projectile weapons
  • Add test weapon (with graphics & sounds)
  • Add shield and armor values to test ships
  • Add ship explosions, ejection & new ship handling
  • Add targeting
  • Map to a key
  • Change appropriate interface elements
  • Target box around ship
  • Navigational targeting of stellar objects
  • Program in autopilot key that points ship towards selected object
  • Add combat rating (we may need to add other ship properties like crew first)
  • Optional: add NPC AI-controlled ships
  • Test: players should have a working persistent deathmatch/arena style game

Phase 4: Landed Elements

  • Create landed interface (with graphics)
  • Create player mission presets
  • Create news
  • Create governments/clans
  • Create commodity exchange
  • Create outfit shop and shipyard with test graphics
  • Program in most if not all ship stats
  • Program in most outfit types
  • Optional: create gambling
  • Create refueling (fuel not used yet)
  • Allow for landed interface elements: ship info, cargo, etc., etc.
  • Add zones and messages (i.e. “Cleared for docking, commence final approach”)
  • Test: players should see most of the familiar options when they land, but they will not yet be utilizable to their full extent

Phase 5: Macroscopic Elements

  • Program in multiple systems, and their control over the network
  • Program in jumping and fuel
  • Add multiple systems and stellar objects
  • Add clan support, etc. (to be determined)
  • Iron out trading details
  • Optional: add random missions
  • Add remaining NPC ship elements: cargo, jumping, etc.
  • Add an appropriate amount of game content (planets, ships, weapons, sounds, etc.)
  • Test: the game should resemble a bare-bones yet functional version of EV

Phase 6: Advanced Player Controls

  • Add other weapon types
  • Add remaining outfit types
  • Add afterburner, cloak, jettison, & self-destruct commands
  • Add escort controls
  • Program in hypergates/wormholes
  • Test: Dawn of Infinity should handle almost all the things people would expect, although the content won’t necessarily exist to take advantage of it all

Phase 7: Special Effects

  • Add asteroids
  • Add lighting effects
  • Optional: add 3D model support for ships, planets, weapons, etc.
  • Add particle FX, fancy explosions
  • Add music
  • Add any and all remaining game content
  • Add new outfits/weapons/features not found in EV that haven’t been already
  • Test: Dawn of Infinity should be nearly complete and do everything that everyone had hoped for

Phase 8: Polishing

  • Code freeze and extended bugtesting
  • Scenario balancing
  • Decision on core server and initial nodes
  • Release Dawn of Infinity 1.0
  • Cycle back to phase 7 for further modification as desired

Note: Phase 4 and 5 elements are flexible in their order. “Optional” means features could be added now, or could easily wait until later. Code freezes should occur before the testing period of each phase.

Login Copyright 2003-2005 Dawn of Infinity