Re: siege
Sam Steingold <sds-mXXj517/[email protected]> Tue, 09 Aug 2005 15:08:06 -0400
| Newsgroups | gmane.games.freeciv.general |
|---|---|
| Organization | disorganization |
| Message-ID | <[email protected]> |
> * Sam Steingold <fqf-zKKw517/[email protected]> [2005-08-07 13:33:01 -0400]: > > Placing an enemy city under siege should be easier: > a city should not be able to work a square that is reachable by an enemy > unit in 1 turn. > this means that entering the area around the city so as to be able to > displace another player's city work should require a declaration of war. > alternatively, displacing worked squares requires declaration of war. > (squares covered by friendly units can be worked) for each tile and player, define "tile availability" to be a number from 0 to 1, and use it to determine the actual benefit derived from working the tile by multiplying it by the nominal benefit (food, trade &c) and rounding appropriately. tile availability is defined as follows: 1. if there is an enemy[*] unit on the tile, tile availability is 0. 2. if there is no enemy units on the tile, tile availability is defined to be the probability that the player will win an all-out war for the tile. specifically, A. if no enemy unit can attack the tile in 1 move, tile availability is 1. B. if some enemy units can attack the tile in 1 move, but no unit belonging to the player can reach it in 1 turn, the tile availability is 0. C1. if some enemy units can attack the tile in 1 move, and some player's units can reach the tile in 1 turn too, the probability is computed by applying the standard "Probability 101" formulas by playing out battles between the best units one by one. E.g.: suppose a coastal tile can be reached by one player's "warrior" unit, and the enemy has a battleship and a cruiser at distance 3 from the tile. Suppose the probability of battleship winning against the warrior is 0.9 and the probability of the cruiser is 0.8. Then tile availability is 0.1*0.2 = 0.02 [not taking damage into account]. C2. if the player has units more suitable for attack than for defense (e.g., a submarine in the above case), we play out the battles like this: the enemy places his attack units on a square adjacent to the tile in question, and then the player attacks it. E.g., the submarine attacks battleship and cruiser as if they were standing on the square from which they attack the tile. C. The higher of the two numbers computed in C1 and C2 is the tile availability. To recap: the enemy prepares to attack the tile with his best attack units, then the player either defends the tile or attacks the enemy unit. this imaginary battles determine tile availability. 3. Embellishments: SAMs, walls, SDI, coastal defense &c should all have beneficial effects on tile availability. 4. Of course, one has to be at war to have all these effects. Crossing national boundary with a combat unit should require a war. Building a city on someone else's territory should require a war too. [*] enemy unit is defined to be the unit belonging to a party in a state of "war" with the player. -- Sam Steingold (http://www.podval.org/~sds) running w2k <http://www.iris.org.il> <http://www.jihadwatch.org/> <http://www.memri.org/> <http://www.palestinefacts.org/> char*a="char*a=%c%s%c;main(){printf(a,34,a,34);}";main(){printf(a,34,a,34);}