This is the mail archive of the xconq7@sourceware.cygnus.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Some proposals to implement *sieges*


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
surrender.

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
likely.


What do you think?  De-lurk and contribute! ;-)

Ciao,
	Massimo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]