Opened 18 years ago

Closed 12 years ago

#43 closed task (invalid)

Terrain - Gameplay Properties

Reported by: Stuart Walpole Owned by:
Priority: Should Have Milestone:
Component: Core engine Keywords:
Cc: Patch:

Description (last modified by Simon Brenner)

  • Unit Speed: Other terrains affect the movement rates of certain units. (eg speed is reduced for most units on sand (though increased for camels), while speed is improved for most units on roads.)
  • Traversability: Certain terrains are only traversable by certain units. (Ships can only move on deep and shallow water; infantry on land and shallows but not deep water. Some infantry can move directly through forests. Cliffs are impassable to all, as they are too steep to climb.)

Change History (8)

comment:1 by Jason, 18 years ago

Attrition Damage: In some game settings, entering an opponent's territory during ceasefire causes rapid damage to those units.

This attrition damage might have to wait till we impliment territories?

comment:2 by Stuart Walpole, 18 years ago

Description: modified (diff)

comment:3 by Simon Brenner, 18 years ago

Description: modified (diff)
Owner: set to Simon Brenner
Status: newassigned

Moving attrition damage to its own task, targeted at the Diplomacy Demo Milestone.

comment:4 by Simon Brenner, 17 years ago

Things lacking in the current implementation (as of [4640]):

  • Inheritance. If a terrain has no default passability tag (one without type="..."), the engine should search for a passability matching an entity in the parent terrain XML. And conversely, if a default passability tag is present in the XML, the engine would never search the tags in the parent XML.
  • Multiple entity types/classes in one tag. The XML reader should parse a comma-separated list of classes whereas it currently treats it as a single class name.
  • Performance. Basically, what the code tries to do is a join on a list of (entity, class) pairs and a list of (class, passability) pairs, sorted on some criterion (by default, position in file - first named first matched, excluding the match-all default rule). The current implementation simply sticks all passability tags in a list, traversing the list in order to select a matching rule. Every time an entity is pathfinded over the terrain in question.

comment:5 by Erik Johansson, 15 years ago

Owner: Simon Brenner removed
Status: assignednew

comment:6 by (none), 14 years ago

Milestone: Playability Demo

Milestone Playability Demo deleted

comment:7 by Andrew, 14 years ago

Milestone: Backlog

comment:8 by historic_bruno, 12 years ago

Milestone: Backlog
Resolution: invalid
Status: newclosed

We already have passability classes, and as for variable terrain speed, that seems to be dropped in the new pathfinder design for simplicity, we've never really used it anyway so that isn't a big loss. If we want units to follow roads or take other predefined paths, a different pathfinding mode would be better (as well as Atlas integration).

Note: See TracTickets for help on using tickets.