This is an attempt at a reasonably comprehensive list of desired gameplay features, roughly categorised and split into small sections, with links to various sources of documentation and code. Features that are largely completed are marked ~~like this~~. Features that we probably want to complete for a first developer-oriented alpha release are marked with ^[A1]^. Features that we probably want to complete for a later player-oriented alpha release are marked with ^[P]^. Before working on a feature, it should be broken down into more detail and added as a Trac ticket (with a reference to the ticket added from this page). "Old description" refers to technical documentation for the old simulation system; the new one has different features and different syntax, so use the documentation as inspiration and not specification. The "current design" pages are attempts to collect and summarise the discussions and decisions about the design, in order to provide a direction for the implementation. Nothing is set in stone - the design issues can be discussed on [http://www.wildfiregames.com/forum/index.php?showforum=312 the forums]. * '''Movement''' * Components: [source:ps/trunk/source/simulation2/components/CCmpUnitMotion.cpp UnitMotion], [source:ps/trunk/source/simulation2/components/CCmpPathfinder.cpp Pathfinder] * Old description: [wiki:XML.Entity.Actions.Move] * ^[A1]^ ~~''Walking''~~ * ''Running/charging'' * Adds combat bonus * ''Formations'' * Old description: [wiki:XML:_Formation], [wiki:XML.Entity.Traits.Formation] * ''Terrain conformance'' * Old description: [wiki:XML.Entity.Traits.Anchor] * Components: [source:ps/trunk/source/simulation2/components/CCmpPosition.cpp Position] * ''Pathfinding'' * ^[A1]^ ~~''Basic pathfinding''~~ * ''Better pathfinding'' * ''Ship movement'' * '''Combat''' * Components: [source:ps/trunk/binaries/data/mods/public/simulation/components/Attack.js Attack], [source:ps/trunk/binaries/data/mods/public/simulation/components/Armour.js Armour], [source:ps/trunk/binaries/data/mods/public/simulation/components/UnitAI.js UnitAI] * Old description: [wiki:XML.Entity.Actions.Attack], [wiki:XML.Entity.Traits.Armour] * ^[A1]^ ~~''Basic attacks''~~ * ''Secondary attacks'' (automatic switching between ranged and melee weapons) * ^[A1]^ ~~''Projectiles''~~ * [GameplayDesignProjectiles Current design] * ''Accuracy effects'' * ''Animation synchronisation'' (particularly for projectile attacks) * '''Health''' * Components: [source:ps/trunk/binaries/data/mods/public/simulation/components/Health.js Health] * Old description: [wiki:XML.Entity.Traits.Health] * ^[A1]^ ~~''Death''~~ * ^[P]^ ~~''Corpses''~~ * ^[P]^ ''Decay'' * ''Healers'' * Old description: [wiki:XML.Entity.Actions.Heal] * '''Experience''' * Old description: [wiki:XML.Entity.Traits.Promotion], [wiki:XML.Entity.Traits.Rank] * ''Accumulating'' * ''Upgrading'' * ''Rendering'' * '''Resources''' * Components: [source:ps/trunk/binaries/data/mods/public/simulation/components/ResourceGatherer.js ResourceGatherer], [source:ps/trunk/binaries/data/mods/public/simulation/components/ResourceSupply.js ResourceSupply] * Old description: [wiki:XML.Entity.Traits.Supply], [wiki:XML.Entity.Actions.Gather], [wiki:List:_Entities:_Nature:_Fauna], [wiki:List:_Entities:_Nature:_Fauna:_Herd], [wiki:List:_Entities:_Nature:_Geological:_Minerals] * ^[A1]^ ~~''Basic resource gathering''~~ * ^[P]^ ''Dropsites'' * ''Kill animals before gathering meat'' * ''Corrals'' * ''Fields'' * Old description: [wiki:List:_Entities:_Player:_Structures#Field] * ''Decay'' * ^[P]^ ''Auto-select nearby resources'' (when the currently targeted resource is exhausted) * '''Building construction''' * [GameplayDesignConstruction Current design] * ^[A1]^ ''Placement constraints'' (on map; not on obstruction; not on water; on visible land) * ^[A1]^ ~~''Population effects''~~ * Old description: [wiki:XML.Entity.Traits.Population] * ^[A1]^ ~~''Resource usage''~~ * ^[A1]^ ~~''Foundations''~~ * ^[A1]^ ''Flatten terrain'' * ''Animation'' * ''Diminishing returns with more builders'' * ^[P]^ ''Repair'' * Old description: [wiki:XML.Entity.Actions.Repair] * '''Training''' * [http://www.wildfiregames.com/forum/index.php?showtopic=13027 Current design] * Old description: [wiki:XML.Entity.Actions.Create], [wiki:XML.Entity.Traits.Creation] * ^[A1]^ ~~''Training queues''~~ * ^[P]^ ''Rally points'' * ^[P]^ '''Research''' * Old description: [wiki:XML.Tech] * ''Research queues'' * ''Tech effects'' * ^[P]^ '''Settlements''' * Old description: [wiki:List:_Entities:_Nature:_Geological:_Other] * '''Loot''' * Old description: [wiki:XML.Entity.Traits.Loot], [wiki:XML.Entity.Actions.Loot] * '''Gates''' * Old description: [wiki:XML.Entity.Actions.Lock] * '''Garrisoning''' * Old description: [wiki:XML.Entity.Traits.Garrison] * ^[P]^ '''Auras''' * Old description: [wiki:XML.Entity.Traits.Auras] * ''Detect range entering/leaving'' * ''Modify unit stats'' * ^[P]^ '''LOS''' * Old description: [wiki:XML.Entity.Traits.Vision] * ''Determine from units'' * ''Render'' * ''Affect pathfinding'' * '''Forests''' * Old description: [wiki:List:_Entities:_Nature:_Flora:_Trees] * ''Hiding'' * '''AI''' * Components: [source:ps/trunk/binaries/data/mods/public/simulation/components/UnitAI.js UnitAI] * Old description: [wiki:XML.Entity.Traits.AI] * ^[P]^ ''Order queues'' * ''Stances'' * ''Scouting'' * Old description: [wiki:XML.Entity.Actions.Scout] * ''Patrolling'' * Old description: [wiki:XML.Entity.Actions.Patrol] * ''Escorting'' * Old description: [wiki:XML.Entity.Actions.Escort] * ''AI players'' * ^[A1]^ Extremely primitive AI framework * Decent AI * '''Audio''' * Old description: [wiki:TDD_Audio] * ^[A1]^ ~~''Basic sound group integration''~~ * '''Territories''' * Old description: [wiki:Background:_Territories] * '''Seasons''' * Old description: [wiki:Background:_Seasons] * '''Weather''' * Old description: [wiki:Background:_Weather] * '''Bartering''' * Old description: [wiki:XML.Entity.Actions.Barter] * '''GUI''' * Old description: [wiki:TDD_GUI] * Components: [source:ps/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js GuiInterface], [source:ps/trunk/binaries/data/mods/public/gui/session_new/ session GUI code] * ^[A1]^ ''Unit selection'' * ~~''Selection rendering''~~ * Old description: [wiki:XML.Entity.Traits.Footprint] * ~~''Bandboxing''~~ * ^[P]^ ''Numbered groups'' * ^[A1]^ ''Health bars'' * Old description: [wiki:XML.Entity.Traits.Health] * ^[A1]^ ~~''Minimap''~~ * Old description: [wiki:XML.Entity.Traits.MiniMap] * ''Go to hero unit'' * ^[P]^ ''Go to idle worker'' * ^[P]^ ''Detect combat'' * ''In-game manual'' * ^[P]^ '''Networking''' * '''Hero units''' * '''Walls''' * '''Capturing''' * '''Diplomacy''' * '''Triggers''' * '''Objectives'''