Eon milestones
From KruelWiki
Characters in brackets indicates completion:
- s - server
- t - textUI
- g - sdl (Graphical) UI
These milestones will be expanded/ modified/ reorganised as applicable
Contents |
Milestones 1
Focus: Basic Skeleton of Game
- Create/Accept new connections (stg)
- New player details - new ID/ Name (stg)
- Notification of other connection (stg)
- Each player knows about all other players (stg)
- Rename player (sgt)
- Send message from player to:
-
Player () - All (stg)
-
- Get initial data about new game:
- world size (stg)
- 'ready' flag from all players for game to start (stg)
- Game Start
- Free-for-all (Only/locked choice)
-
Everyone on teams(stg)
- Initial Details:
- Unit Types (stg)
- Units (stg)
- Types and Positions of Units (stg)
- Move unit from point A -> B (stg)
- Hear about other unit movements (without respect to ranges/ sight etc) (stg)
- Attack another unit (stg)
- Process win/lose conditions (zero units, no teams) (stg)
- Build new unit of base type (stg)
- Unit Repair (time based, zero cost) (stg)
Notes
- Although there is no team support in game, to progress from lobby, everyone must be on a team. The side effect of this is as the code hard-defines 4 teams but allows upto 8 players (or so), if you have more than one player per team, the game can never end.
Milestone 2
Focus: Addition of energy resource
- Energy
- Collection (st)
-
Transfer between units- Perhaps implement later so that supply lines are required for an attack - Costs, for:
- Building/ Repairing (st)
- Firing (st)
- Gameworld with energy 'hotspots' defined (st)
- implement a function like double getEnergyAt(location) (st)
Complete for Server & TextUI
Milestone 3
Focus: Customisation & expanded mechanics
- Types
- Define new type (st)
- Teams
- Join/Leave a Team in Lobby (st)
- Win Condition for Team-Play (st)
Milestone 4
Focus: Code/GUI Polish
- 100% complete doxygen commenting w/ peer review
- Fix UI's to be more tidy/ presentable/ responsive
- Admin commands
- kick - disconnect player
- quit - kill server
- force a rename of a player (offensive names etc)
Future Tasks
- Teams
- (cap.) Rename a team
- Messenging to team mates
- Self-destruct unit(s)
- Splash damage (suicide & death)
- Sound
- AI - Define an easy-to-use dynamic loadable module for this? Seperate client?
- Unit Groups
- Formation
- Standard ( 1/2/3x Line, Square, Box etc.)
- Custom
- Type based location within formation (beefy units at the front etc)
- Group Orders
- Attack
- Move
- Formation
- Unit collision detection/path finding (ie, 2 units can't occupy the same space)
- Contracts (for tribute, non-agression etc)
- Experience system
- Observer system - possibly useful for projecting the game world onto the big screen, or using a second/multi monitor as a game map

