Ticket #43 (new task)

Opened 6 years ago

Last modified 16 months ago

Terrain - Gameplay Properties

Reported by: stuart Owned by:
Priority: Should Have Milestone: Backlog
Component: Game engine Keywords:
Cc:

Description (last modified by olsner) (diff)

  • 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

comment:1 Changed 6 years ago by jason

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 Changed 6 years ago by stuart

  • Description modified (diff)

comment:3 Changed 6 years ago by olsner

  • Owner set to olsner
  • Status changed from new to assigned
  • Description modified (diff)

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

comment:4 Changed 5 years ago by olsner

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 Changed 3 years ago by feneur

  • Owner olsner deleted
  • Status changed from assigned to new

comment:6 Changed 16 months ago by anonymous

  • Milestone Playability Demo deleted

Milestone Playability Demo deleted

comment:7 Changed 16 months ago by wacko

  • Milestone set to Backlog
Note: See TracTickets for help on using tickets.