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. * '''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''~~ * ''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''' * Components: [source:ps/trunk/binaries/data/mods/public/simulation/components/Builder.js Builder], [source:ps/trunk/binaries/data/mods/public/simulation/components/Cost.js Cost], [source:ps/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js GuiInterface] * Old description: [wiki:XML.Entity.Actions.Create], [wiki:XML.Entity.Traits.Creation], [wiki:List:_Entities:_Player:_Structures] * ^[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''' * 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 * ^[A1]^ '''Audio''' * Old description: [wiki:TDD_Audio] * '''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''~~ * ^[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'''