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]

Re: Some proposals to implement *sieges*



   From: Massimo Campostrini <campo@mailbox.difi.unipi.it>
   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 agree.  There are surrender parameters, but they don't seem to be
very effective in practice; while you can accumulate units around
the besieged, the effect is additive rather than multiplicative
as it should be.

   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.

I think this makes a lot of sense.

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

I like this too, at least the concept.  The requirement for materials is
not ideal, one could imagine material-less games that would still want
to have sieges.

   4) We could have explicit effects of materials over surrender

   Table: `surrender-material-effect' U M -> INTERPOLATION-LIST
   (are interpolation-list valued tables implemented?)

No, sorry, table entries have to be integers.

One of the underlying problems is deciding *when* a siege is supposed
to be happening.  Should we say there's a siege when a unit is
surrounded in all directions?  Do the surrounding units have to be of
particular types?  Six is a lot of units, especially since they'll
block all the nearby terrain, which is not how sieging really works at
Xconq's multi-mile scales - so should one unit be sufficient?  What if
the unit were in the same cell as the intended besieged?  Should there
be a special type of action or task?

							Stan


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