Correct the rulesets civ1 and civ2

Do you want to help out with Freeciv development? Then check out this forum.
nef
Hardened
Posts: 166
Joined: Mon Jun 25, 2018 5:01 pm

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Jul 22, 2019 12:58 pm

My recollection was that Civ I applied a 50% defense bonus for river.
The wiki agrees with me.

I have also seen other material that confirms this defense bonus.

Sans denial add this field to section [extra_river] in civ1 terrain.ruleset:

Code: Select all

defense_bonus  = 50


Also as an amendment to a previous post the help text

Code: Select all

Any land terrain type may have a River on it.\
"), _("\
should be deleted. In fact it should be deleted from ALL rulesets since AGH tells you what you need to know - correctly (AGH 1, Humans 0).

Finally, can someone shed some light on these questions:
    Does a Civ I river provide trade (of 1)?
    If so, is this in addition to the usual road trade of 1?

In addition to the wiki reference (above), I have seen other comments that suggest the answer to the former is yes, but it is quite possible that this is patch/release dependant - in which case this would be an excellent candidate for being a server option. My assumption for the latter (addition to road trade) will be yes - if not otherwise advised.

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

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Jul 22, 2019 1:20 pm

The civ1 ruleset for section [effect_michelangelos_chapel] currently has:

Code: Select all

      "Building", "Michelangelo's Chapel", "City"

This should read:

Code: Select all

      "Building", "Michelangelo's Chapel", "Player"


N.b. the help text is correct so this is a bug. A somewhat more nuanced case of where AGH could have saved the day.

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

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Jul 22, 2019 1:37 pm

meynaf wrote:I can confirm civ1 does not limit tax/science.
Thanks for the confirmation - always reassuring.

Another difference is the way it is rounded. E.g. if you're at 50% tax / 50% science and you produce an odd number, extra point will be science at fciv but tax at civ1.
Not sure that this is all that important - the critical issue is that the trade point is not lost. As for the rates one can just tweek them - turn by turn if really necessary - to balance your books.

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

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Sep 02, 2019 1:10 pm

Turns out there is a second problem with Mike's Chapel in the civ1 ruleset. The benefit is only 50% of a cathedral (+2), not 100% (+4).

So here is the new rule for civ1 effects.ruleset replacing section [effect_michelangelos_chapel]:

Code: Select all

[effect_michelangelos_chapel]
type    = "Make_Content"
value   = 2                                           ;nef
reqs   =
    { "type", "name", "range"
      "Building", "Cathedral", "City"
      "Building", "Michelangelo's Chapel", "Player"   ;nef
    }
The help text in section [building_michelangelos_chapel] in civ1 buildings.ruleset should read:

Code: Select all

helptext   = _("\
Increases the effect of cathedrals by 50% in all your cities.\
")

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

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Sep 09, 2019 12:03 pm

After some research it seems that rivers do provide trade but NOT cumulative with roads.

References:

A. Online manual (Terrain Chart).

Fairly clear about river trade AND no accumulation with road. Note that the manual is not infallible (see the last entry for units).

B. Table 3-1 in 'Rome on 640k'.

Fairly definite about river trade AND no accumulation. But also not infallible.


So I have prepared this simple change to comply with my opening statement:

Code: Select all

[effect_river_trade]
type    = "Output_Add_Tile"
value   = 1
reqs    =
    { "type",       "name",  "range", "present"
      "Extra",      "River", "Local",  TRUE
      "Extra",      "Road",  "Local",  FALSE
      "OutputType", "Trade", "Local",  TRUE
    }

Add the section to the civ1 effects.ruleset somewhere near the end.

Although a minor issue it would be good if my (new) assumption is confirmed (or denied).

User avatar
meynaf
Veteran
Posts: 88
Joined: Sun Jan 21, 2018 10:27 am
Location: Lyon / France
Contact:

Re: Correct the rulesets civ1 and civ2

Postby meynaf » Mon Sep 09, 2019 4:19 pm

nef wrote:After some research it seems that rivers do provide trade but NOT cumulative with roads.

nef wrote:Although a minor issue it would be good if my (new) assumption is confirmed (or denied).

Checked in an old saved game, rivers produce trade which it is definitely not cumulative with roads.
Your assumption is confirmed.

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

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Sep 30, 2019 2:36 pm

Thanks again to meynaf for nailing down another loose end.

Happened to be reading a forum post (or 2) when I noticed a problem with [effect_isaac_newtons_college] and [effect_isaac_newtons_college_1. In fact , there are two.

A. The "Output_Bonus" for libraries and universities is 1/3 not 1/2 making the total 5/6 for each. Freeciv (and commentators) code this in percentages so we get the following from 'Rome' p303 "Increases the light bulb production of all Libraries and Universities from 50% each to 83% each (for a total, when both exist in the same city, of 166%)". (The last figure probably would be better at 167% but who cares about such trivia?)

B. Another case of wrong range; in the ruleset the range for the first effect (library) was "City".

So in civ1 effects.ruleset replace the sections mentioned above with:

Code: Select all

[effect_isaac_newtons_college]
type    = "Output_Bonus"
value   = 33
reqs   =
    { "type",       "name",                   "range"
      "Building",   "Library",                "City"
      "Building",   "Isaac Newton's College", "Player"
      "OutputType", "science",                "local"
    }

[effect_isaac_newtons_college_1]
type    = "Output_Bonus"
value   = 33
reqs   =
    { "type",       "name",                   "range"
      "Building",   "University",             "City"
      "Building",   "Isaac Newton's College", "Player"
      "OutputType", "science",                "local"
    }


In section [building_isaac_newtons_college] buildings.ruleset the helptext reads:

Code: Select all

helptext   = _("\
Boosts science production by 100% in the city where it is built.\
")
How wrong can you get? Replace it with

Code: Select all

helptext   = _("\
Increases the science production bonus of all the player's Libraries and Universities from 50% each to 83% each (for a total with both of 166%).\
")

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

Re: Correct the rulesets civ1 and civ2

Postby nef » Mon Sep 30, 2019 2:40 pm

'Rome' is quite specific about the tech bonuses for Copernicus' Observatory and for the SETI wonders. For SETI: "Increases light bulb production in all cities by 50% after all adjustments for Libraries, Universties and Einsteins" For the observatory the language is identical with the differences being the rate is 100% and range city not player.

The Einstein component "Citizens" is always included with "Taxed From Trade" as a basis so there is no need to do anything about the effect [effect_scientist]. But the civ1 ruleset is all wrong with the accounting for the SETI wonder. Fortunately there is an unused effect which actually makes the fix easy but first a note: it is possible to have both these wonders active at the same time and there is no clear indication of how they interact so I will proceed under the assumption that they simply 'add' together but together they form an independent multiplier.

The unused effect is [Output_Bonus_2].

So here is the replacment section for [effect_copernicus_observatory], [effect_copernicus_observatory_1], and [effect_copernicus_observatory_2] (n.b. all three) in the civ1 effects.ruleset

Code: Select all

[effect_copernicus_observatory]
type    = "Output_Bonus_2"
value   = 100
reqs   =
    { "type",       "name",                    "range"
      "Building",   "Copernicus' Observatory", "City"
      "OutputType", "science",                 "local"
    }

and for [effect_seti_program]:

Code: Select all

[effect_seti_program]
type    = "Output_Bonus_2"
value   = 50
reqs   =
    { "type",       "name",         "range"
      "Building",   "SETI Program", "Player"
      "OutputType", "science",      "local"
    }


There does appear to be a minor cosmetic glitch - client and server disagree on how to deal with integer rounding issues.

The help text for Copernicus' was wrong (humans 0, AGH silent). The percentage increase is 100% not 50 so replace the text with:

Code: Select all

helptext   = _("\
Boosts science production by 100% in the city where it is built.\
")

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

Re: Correct the rulesets civ1 and civ2

Postby nef » Sat Oct 05, 2019 10:13 am

After searching the literature I could find no reference to Civ I trade routes giving a one time bonus to science. In fact there were many times where the issue was raised in discussions on Civ II - suggesting that the concept was novel (to Civ II). So - replace section [trade] in civ1 game.ruleset with :

Code: Select all

[trade]
settings =
  { "type",       "pct", "cancelling", "bonus"
    "National",   100,   "Cancel",     "Gold"
    "NationalIC", 200,   "Cancel",     "Gold"
    "IN",         200,   "Cancel",     "Gold"
    "INIC",       400,   "Cancel",     "Gold"
    "Ally",       200,   "Cancel",     "Gold"
    "AllyIC",     400,   "Cancel",     "Gold"
    "Enemy",      200,   "Cancel",     "Gold"
    "EnemyIC",    400,   "Cancel",     "Gold"
    "Team",       200,   "Cancel",     "Gold"
    "TeamIC",     400,   "Cancel",     "Gold"
  }

I have tried this out on a few games but it seems to have had little effect on actual gameplay. Still, I expect it will help even out the play a little.

In other respects my earlier comments appear to be correct.

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

Re: Correct the rulesets civ1 and civ2

Postby nef » Sat Oct 05, 2019 10:17 am

Clarification of a previous post?
According to wiki baracks uk is 0/1/2 whereas the civ1 ruleset codes 1/2/3.
I now suspect that this was a change with version 3 (from 0/1/2 to 1/2/3), perhaps being part of an attempt to reduce the advantage of the ICS (smallpox) strategies.

I am not sure that this particular change is all that important (one way or the other), but maybe one could consider reinstating (or not changing) the original values in the fc2.6 distro; these being 1/2/3. If the values are to be 1/2/3 then there is a clear paradigm in Civ I that NO improvements are free of upkeep. This has important gameplay consideration (but, as usual, this nuanced point was to be thoroughly trashed in Civ II). [N.b. an economic siege of a player under despotism is a strategy I sometimes use to force the selloff of all city improvements (read: city walls). If the player changes to another goverment type then I change the siege to shields - reducing the defenders to (typically) 1. Anarchy is a problem but the AI don't usually persist with it for long.]