Correct the rulesets civ1 and civ2

Do you want to help out with Freeciv development? Then check out this forum.
sveinung
Elite
Posts: 542
Joined: Wed Feb 20, 2013 4:50 pm

Re: Correct the rulesets civ1 and civ2

Postby sveinung » Wed Dec 04, 2019 8:30 pm

nef wrote:"Airliftable" flag in civ1 should be removed from [unitclass_land]. Can never be done because the effect Airlift is never set but AGH hasn't figured this out (and probably shouldn't need to).

Fixed as a part of Bug #850673 after cazfi discovered that 2.6, not covered by my original patch, had this problem too.

sveinung
Elite
Posts: 542
Joined: Wed Feb 20, 2013 4:50 pm

Re: Correct the rulesets civ1 and civ2

Postby sveinung » Wed Dec 04, 2019 8:57 pm

sveinung wrote:Civ 2: What should boarding and disembarking ships do to the movement points of land units? See bug #23782

I have improved civ1 and civ2 dis/embark move cost fidelity for Freeciv 3.1. I probably got the details wrong. Follow up patches with fine tuning would be great.

The new rules: Alighting to or boarding from a city or other transport at the same tile is free. The civ1 ruleset takes all movement when disembarking from a transport to an adjacent tile. Both civ1 and civ2 takes all movement when embarking to a transport from an adjacent tile. Embarking to a transport at an adjacent tile is legal for both.

Update: The civ1 rules. The civ2 rules.

"Transport Disembark 2" action is here already. If a "Transport Embark 2" helps civ1 or civ2 fidelity please request it before the 3.1 data file format freeze.

Ignatus
Elite
Posts: 461
Joined: Mon Nov 06, 2017 12:05 pm
Location: St.Petersburg, Russia
Contact:

Re: Correct the rulesets civ1 and civ2

Postby Ignatus » Sat Mar 14, 2020 10:53 pm

Civ2 Fighters in cities:
  • Have x4 defense against bombers;
  • Have x2 defense against another fighters;
  • Don't have SAM bonus unless the attacker is a missile.
Actually, we can't yet do this (defender-specific combat bonuses affected by the tile and city) but it's for the developers to think the way.
-->HRM#865085 HRM#865084 HRM#865086

Ignatus
Elite
Posts: 461
Joined: Mon Nov 06, 2017 12:05 pm
Location: St.Petersburg, Russia
Contact:

Re: Correct the rulesets civ1 and civ2

Postby Ignatus » Sun Mar 21, 2021 9:46 pm

Palace: if I get it right, in Civ I palace could be sold (in Democracy and Communism it had likely no ill effects), and in Civ II it was not rebuilt automatically if lost. The corruption without a capital is devastating but not 100% (we can model it giving "Gov_Center" effect to all cities and lifting basic waste). I also think, in all comercial Civ games palace is an improvement (just civ-unique one), not a wonder, in most senses (CivII AI usually have enough money to rush it the same turn they lose their capital).

Civil war is triggered when the conqueror is less strong (in Civ1, just has less cities or is a barbarian), and cities tend to fall to separatists if they have high corruption.

Also, in CivII incited cities likely don't shrink, but all planes inside are destroyed.

nef
Hardened
Posts: 223
Joined: Mon Jun 25, 2018 5:01 pm

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Mar 22, 2021 1:09 pm

In Civ I the palace is much like any other improvement with some exceptions:
A. Only one at a time (per player). If you build a duplicate the other is lost (no sales revenue I believe)
B. With civil war both players get a free replacement.
C. No civil war -> NO free replacement.

According to 'Rome' the corruption formula (p223) is:

Corruption = Total Trade * Dist * 3 / (10 * Gov) where Gov is = 8 (Anarchy), 12 (Despotism), 16 (Monarchy), 20 (Communism), 24 (Republic), 0 (Democracy) [The last is obviously a mistake - the corruption is zero for Democracy]. Divide by 2 for palace or courthouse in the city. Dist is always 10 for communism (and by implication 0 for Democracy so one could make Gov = 28). For the others Dist = 32 if you have no palace. but note 1. 'Rome' states that 32 is the maximum so in fc one should perhaps consider map size issue, 2. 'Rome' is ambiguous as to what happens with Communism and Democracy when there is no palace.

Also the metric used by Civ I (& II) is max(abs(dx), abs(dy)) + min(abs(dx),abs(dy))/2 giving what I consider to be a respectable approximation of a pythagorean sqrt. In any event, far superior to Chebyshev or Manhatten, being a compromise between the two, much like the sqrt pythagorean.

As for conditions for civil war 'Rome' again:

A. There must be a replacement civilisation. (That is one whose colour is not currently in use.)
B. There must be 4 or more cities left to divide up.
C. Empire larger than 'yours' (I presume this includes other AI`s but 'Rome' is silent on this).

Ignatus
Elite
Posts: 461
Joined: Mon Nov 06, 2017 12:05 pm
Location: St.Petersburg, Russia
Contact:

Re: Correct the rulesets civ1 and civ2

Postby Ignatus » Mon Mar 22, 2021 3:56 pm

nef wrote:According to 'Rome' the corruption formula (p223) is:

Corruption = Total Trade * Dist * 3 / (10 * Gov) where Gov is = 8 (Anarchy), 12 (Despotism), 16 (Monarchy), 20 (Communism), 24 (Republic), 0 (Democracy) [The last is obviously a mistake - the corruption is zero for Democracy]. Divide by 2 for palace or courthouse in the city. Dist is always 10 for communism (and by implication 0 for Democracy so one could make Gov = 28). For the others Dist = 32 if you have no palace. but note 1. 'Rome' states that 32 is the maximum so in fc one should perhaps consider map size issue, 2. 'Rome' is ambiguous as to what happens with Communism and Democracy when there is no palace.

Also the metric used by Civ I (& II) is max(abs(dx), abs(dy)) + min(abs(dx),abs(dy))/2 giving what I consider to be a respectable approximation of a pythagorean sqrt. In any event, far superior to Chebyshev or Manhatten, being a compromise between the two, much like the sqrt pythagorean.

I found these pages on corruption and (for civ2) waste: civ1 civ2. Note that Civ2 calculates prod waste after paying unit upkeeps And maybe it just uses "diagonal=1.5" distance formula for corruption, i.e. (map_distance+real_map_distance)/2 (oh, that's effectively exactly equal to what you wrote).

nef
Hardened
Posts: 223
Joined: Mon Jun 25, 2018 5:01 pm

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Mar 29, 2021 11:45 am

(oh, that's effectively exactly equal to what you wrote).

Six of one and half a dozen of the other.

I wrote it that way because of the way it can be compared to the others:
    A. max(abs(dx), abs(dy)) + min(abs(dx), abs(dy)) * 1 (Manhatten) (aka abs(dx) +abs(dy))
    B. max(abs(dx), abs(dy)) + min(abs(dx), abs(dy)) * 1/2 (Civ I/II) (aka straight distance + 1.5 diagonal)
    C. max(abs(dx), abs(dy)) + min(abs(dx), abs(dy)) * 0 (Chebyshev) (aka max (abs(dx), abs(dy)))

One sees that (B) is a neat compromise between the extremes of (A) and (C). One could go further and write these three in a single parametric form:
    max(abs(dx), abs(dy)) + min(abs(dx), abs(dy)) * parameter, or better?:
    max(abs(dx), abs(dy)) * pmax + min(abs(dx), abs(dy)) * pmin