This is the mail archive of the
mailing list for the Xconq project.
Some proposals to implement *sieges*
- To: Xconq 7 Mailing List <firstname.lastname@example.org>
- Subject: Some proposals to implement *sieges*
- From: Massimo Campostrini <email@example.com>
- Date: 17 Apr 1998 17:09:08 +0200
Now that 7.2 is released it's the time to discuss all those wild
ideas for 7.3.
IMHO, one big fat feature missing from xconq is a way to implement
sieges. In many historical periods sieges were a focal point of
warfare; it is currently impossible to design a game approximating
them even roughly.
I have given some thought to the matter; here are some proposals:
1) Cities and/or fortresses at full strength should be (almost)
impossible to capture and won't surrender. No new GDL needed.
2) Damaged units should be easier to capture and more likely to
UnitTypeProperty: `capture-damage-effect' INTERPOLATION-LIST
`capture-chance' is multiplied by this.
UnitTypeProperty: `surrender-damage-effect' INTERPOLATION-LIST
`surrender-chance' is multiplied by this.
3) We should be able to starve out the defenders. We need a way to
decrease production of certain materials when hostile units are close.
IMHO this is the most important and difficult point to be solved.
One possibility is to use ZOCs; e.g., if a city is in the ZOC of an
hostile infantry, its productivity is reduced; if it's in the ZOC of
many hostile units, it drops to zero. We need a material-dependent
productivity drop; e.g. pirate ships disrupt trade (gold production)
but don't affect (as much) food production. To avoid a 3D table,
let's factor it into two tables
Table: `zoc-unit-prod' U1 U2 -> N
Table: `zoc-material-prod' U1 M -> N
The productivity of M by U1 is then
productivity[U1,T] - sum(U2) zoc-unit-prod[U1,U2] * zoc-material-prod[U1,M]
where the sum runs over all the units exerting a zoc over U1; the
result is then corrected by `productivity-min' and `productivity-max'.
4) We could have explicit effects of materials over surrender
Table: `surrender-material-effect' U M -> INTERPOLATION-LIST
(are interpolation-list valued tables implemented?)
5) Morale would tie in nicely:
Table: `morale-material-effect' U M -> INTERPOLATION-LIST
UnitTypeProperty: `surrender-morale-effect' INTERPOLATION-LIST
when food (or gold) gets scarce, morale drops and surrender is more
What do you think? De-lurk and contribute! ;-)