Corbeau's ruleset (2.5) - v1.0 released

Contribute, display and discuss rulesets and modpacks for use in Freeciv here.
User avatar
Corbeau
Elite
Posts: 719
Joined: Mon Jan 13, 2014 11:13 pm

Corbeau's ruleset (2.5) - v1.0 released

Postby Corbeau » Mon Apr 10, 2017 10:06 pm

I see this as a basically LONGTURN ruleset, to be played at 1 turn per day, as it is almost the only way I can play FreeCiv. See here under #Secondly, "time to play". (Also, I have a hunch that many other people are in the same situation.)

Important: This ruleset offers some significant changes to gameplay. However, this post is not arranged with that in mind, stuff is listed in no particular order so that more important changes are mixed with more technical ones.

BASE RULESET

civ2civ3 (or maybe multiplayer, don't remember anymore)

THE BASICS

All movement x2 compared to classic ruleset.
except
fighter: 12 (not 20)
stealth fighter: 16 (not 28)
helicopter: 8
carrier: 8 (not 10)
transport: 8 (not 10)

Terrain movement cost:
glacier: 4
forest: 3
hills: 3
jungle: 4
mountains: 6
swamp: 4
River move cost changed to 2/3
Because:
- boats don't move so much more quickly than units on plains
- having 2/3 of a MP to go through a forest is more than enough reward
- mounted (maybe) and wheeled units (definitely) shouldn't AT ALL move faster by river than over a plain, especially when compared to a road

IgTer_cost = 3 (fragment=3 => MP=1)
It should be enough bonus for a unit to move over a mountain at a cost of 1 MP. Allowing it to pass a whole mountain range as if it were moving over a highway is a bit too much.

Units with property of Bombarder:

Archers (bombard_rate = 5)
Catapult (bombard_rate = 5)
Cannon (bombard_rate = 6)
Artillery (bombard_rate = 6, removed City Buster)
Howitzer (bombard_rate = 8, firepower = 2, removed City Buster)
Submarine (bombard_rate = 10)
Submarine, Helicopter, Bomber and Stlth Bomber

Units added to Big Land class (no terrain defence bonus):

Chariot
Elephants
Knights
Dragoons
Cavalry
Armor

Paratroopers and Marines: added "CityBuster" flag - doubled strength when attacking cities.

Republic and Fundamentalism give 1 Veteran bonus. Democracy gives 0. All others give 2.

veteran_power_fact = 100, 110, 120, 140, 150, 160, 170, 180, 200, 210, 220, 230, 240, 260, 280, 300, 330
veteran_raise_chance = 100, 95, 90, 75, 60, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 5, 0
veteran_move_bonus = 0, 0, 0, 2, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
veteran_work_raise_chance = 50, 30, 10, 10, 10, 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0

UNIT UPKEEP - very big changes

- Complete concept rehaul. Units are now cheaper, however, much (some VERY much) more expensive to maintain.
- A .rtf file with all unit data appended to the ruleset.
- Upkeep independent of government (except food, see below), different units have different upkeep, some cost money, some cost money AND shields.
- On top of standard food upkeep (if city size X has morethan X units), ALL units under Republic spend 1 food. ALL units under Democracy spend 2 food. (I tried to make them spend +1 and +2 gold per unit respectively, but that particular combination is not supported by the ruleset. Ideas for exactly that are welcome.)
- NO WOMEN'S SUFFRAGE; you want peace at home during war abroad, you spend money on TV shows.
- Under Democracy, a Universty in the city increases unhappinness by 1 per deployed unit.

TECHNOLOGY

Tech upkeep: <Cost of all known technologies> * <Number of cities> / tech_upkeep_divider
tech_upkeep_divider = 1500

; 3 - Technology cost is reduced depending on the number of normal
; players (human and AI) which already know the tech.
tech_leakage = 3

Also:
Bridge Building tech doesn't exist anymore. Its role has been taken by Construction.

CORRUPTION AND EMPIRE SIZE

Limiting empire size by unhappy citizens has been removed and replaced by corruption-by-distance:
- corruption rate now depends heavily on government
- production waste independent of government and distance


Corruption table:
- "100% at" means approximate distance from the capital at which corruption without buildings is 100%.
- buildings reduce corruption by %

Code: Select all

                base %: 100% at : %per tile: temple : corthus : cthedrl : police : libry/uni
Despotism         25      15         5         25       30        25       10         -
Monarchy          25      20         4         15       40        20       20         -
Fundamentalism    25      20         4         30       10        30       20         -   
Republic          30      25         2          5       30        20       20        5/10
Democracy         40      N/A        0          5       30        20       20        5/10
Communism         50      N/A        0          0       25        10       30         10


Base waste is 50%. Following techs reduce waste by 10% (5% total): Alphabet, Writing, Trade, Physics, Invention, Chemistry, Electricity, Refining, Mass Production, Robotics

CITY SIZE

Cities begin with base working radius sqrt(1). Each of the following increases sqrt() by 1:
- city grows by 1
- Granary, Courthouse, Barracks (all), Walls, Aqueduct, Harbour
- Mass Transit, Police Station, Supermarket and Sewer System increase sqrt() by 2

MISCELLANEOUS

- Bribe and incite city base costs increased x10.
- One veteran level lost when upgrading a unit.
- Civil war disabled.
- Border: radius_sq_city = 10
- Trade routes enabled, but income set to 1% (Is there a setting for a one-time revenue when the caravan reaches the city?)
- add_to_size_limit = 16
- fort doesn't change tile ownership
- New building: Manufaktur (with Monarchy) gives +2 Shield to city tile; obsolete by Industrialization, turns into museum (+2 Trade), but makes Factory cheaper
- Max Sci/Tax/Lux rate reversed; Despotism: 100, Monarchy & Communism: 80, Fundamentalism: 70, Republic: 60, Democracy: 50.
- Migrants I - VII, all doing the same thing, but becoming successively more expensive (10 to 100) through the tech tree to avoid artificial pumping up of new cities
- Diplomats I-IV spread out from Alphabet to Democracy, with costs 10 to 40
- Communism only: five Five Year Plan small wonders, each adding 1 shield to every city; cost 200-1000, can be built in capital only, in direct succession only; once government is no longer Communism, they stop working

Food storage size:
- for city sizes 1-6: 16, 18, 20, 22, 24, 30
- for city size >6: +10

- Helicopters can carry one unit: Land (infantry), Spies, Diplomats and Explorers
- on top of the usual, Submarines and Carriers can carry Diplomats, Spies and Missiles

Barracks, Courthouse, Poliec Station each add 25% to Spy Resistance.
Base chance for diplomat to succeed: 50.
Chance to lose tech when receiving: 0.

PENDING
Adjusted bombard_rate(s)

TODO
Small Wonder - Atlantic Telegraph Company - embassies with everybody (electricity)
World Wonder - United Nations: everybody has embassies with everybody, owner can declare war even under Republic or Democracy
check national borders? (server?)
fix Statue of Liberty
Attachments
RulesetCorbeau.zip
(71.8 KiB) Downloaded 23 times
Last edited by Corbeau on Wed Jun 13, 2018 7:57 am, edited 62 times in total.

bard
Veteran
Posts: 90
Joined: Fri Jun 14, 2013 2:00 pm

Re: Corbeau's ruleset

Postby bard » Wed Apr 12, 2017 4:52 pm

I like the idea. I'm also considering to add bombardment ability to artillery and warships in my version of civ2civ3, but for now, I'm testing with lower bombard_rates (up to 4).
I have seen that freeciv v3.0 includes bombardment as an unhardcoded unit action, so it will be possible to add requirements about where is it possible to bombard, and to/by which units. It seems also possible to give a unit at same time the possibility to bombard or attack normally, and to increase the shot range to more than one tile. I hope devs are also working to allow the AI to use those features.

I'd appreciate that you keep posting the modifications that you make to your ruleset, I always liked your comments about balance in multiplayer games.

User avatar
Corbeau
Elite
Posts: 719
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset

Postby Corbeau » Fri Apr 14, 2017 8:51 am

Thank you :)

Original post changed heavily, can't call them "new changes", maybe updates. Too many to list here, but will do so in the future.

User avatar
Corbeau
Elite
Posts: 719
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset

Postby Corbeau » Sat Apr 15, 2017 7:51 am

This is messy.

Gave up trying to update 2.4 to 2.5, too many cris-crossing terrain stuff, messy, took civ2civ3 2.5 instead and rewrote all x2 movement from scratch. First post updated.

bard
Veteran
Posts: 90
Joined: Fri Jun 14, 2013 2:00 pm

Re: Corbeau's ruleset (2.5)

Postby bard » Tue May 23, 2017 2:16 pm

- since I'm inexperienced with the technicalities of changing rulesets, I'd appreciate help with finding where exactly these settings are

There is a useful txt file in doc\README.effects which lists all effects and explains them.

- bigger corruption/waste by distance *

effects.ruleset -> search for Output_Waste_By_Distance and increase the value (for example to 2% per tile of distance to capital)

Code: Select all

[effect_corruption_distance]
type    = "Output_Waste_By_Distance"
value   = 2
reqs    =
    { "type", "name", "range"
      "OutputType", "Trade", "Local"
    }


- libraries, universities, cathedrals, police stations additionally decrease corruption/waste *

effects.ruleset -> add effects similar to courthouse (Output_Waste_Pct). But all them are summed, so there won't be any corruption if they sum 100%.

Code: Select all

[effect_courthouse]
type    = "Output_Waste_Pct"
value   = 10
reqs    =
    { "type", "name", "range"
      "Building", "University", "City"
      "OutputType", "Trade", "Local"
    }


- nationalities (server?) *

If you mean unhappiness caused by enemy citizens in your cities, use something like this (25% means 1 unhappy face for each 4 citizens):
(beware that the effect is too heavy, it can not be counter by buildings nor martial law)

Code: Select all

[effect_nationality]
type    = "Enemy_Citizen_Unhappy_Pct"
value   = 25
reqs    =
    { "type", "name", "range", "present"
      "Gov", "Despotism", "Player", TRUE
    }


- cheaper units

units.ruleset -> You have to change build_cost values one by one.

- dynamic borders - borders change as nearby cities change size *

It works this way in civ2civ3. Since v2.6 there is an option in game.ruleset to define how many tiles can be stolen from a nearby cities (-3 means that the 9 tiles adjacent to the city can't be stolen, change to -5 if you want all tiles being stolen):

Code: Select all

radius_sq_city_permanent = -5


- (MAYBE) pre-industrial building that slightly increases production, perhaps by a fixed amount of shields instead of percentage if possible, middle-ages era

Sounds good. Use this to increase the production of city central tile by fixed amount of shields:

Code: Select all

[effect_mill]
type    = "Output_Add_Tile"
value   = 3
reqs    =
    { "type", "name", "range"
      "CityTile", "Center", "Local"
      "OutputType", "Shield", "Local"
    }


Or this to increase by one the production of forests:

Code: Select all

[effect_sawmill]
type    = "Output_Inc_Tile"
value   = 1
reqs    =
    { "type", "name", "range"
      "Terrain", "Forest", "Local"
      "OutputType", "Shield", "Local"
    }


- adjust granary so that growth from 1 to 2 is faster

This can be changed in game.ruleset -> granary_food_ini (the first value is food needed to grow from 1 to 2).
But it is not so simple. If you half the food (from 10 to 5) needed to grow from 1 to 2, then a city that shrinks to size 1 (after building a settler for example) would waste a different amount of food depending if the food in the Granary was greater or lower than 5.

If you change one of these values: granary_food_xxx, Growth_Food (Granary building effect), or Settlers pop cost, you should adjust all the others, else you will create non linearities that can be exploited to build settlers at certain city sizes with less food than other sizes. I needed months of tests until I got values for civ2civ3 that avoids micromanaging to build settlers, and I do not think there is margin to mod it without breaking it.

wieder
Hardened
Posts: 195
Joined: Thu Jul 27, 2017 10:43 am

Re: Corbeau's ruleset (2.5)

Postby wieder » Sun Sep 03, 2017 2:13 pm

Sounds interesting. Especially changing the siege units for bombarding the cities instead of attacking them. I was actually considering the same for LT40 but decided not to go for it because I was unabe to predict the probabe outcome(s) with such a setting.

There is one setting that's going to be really nice for those who are into commervial Civ's. That's the no killstack option. We had that disable for one of the longturn.org's Ladder Wars games. As a result there were some stacks of doom (50-100) units wandering all around the map killing everything they hey. Or almost everything. One stack can't really kill another one. That was kind of interesting even while stackkill has been enabled for the LT series.

User avatar
Corbeau
Elite
Posts: 719
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset (2.5)

Postby Corbeau » Sun Sep 03, 2017 7:43 pm

After a long break started looking into this again. Huge thanks to Bardo for pointers. In the meantime lost some files (not lost as "deleted" but as "don't know where they are anymore / not sure which they are from the gazillion versions I have") so started some things from scratch. First post slightly updated, newest files attached there.

User avatar
Corbeau
Elite
Posts: 719
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset (2.5)

Postby Corbeau » Sun Sep 03, 2017 8:25 pm

I have also added (not yet uploaded) this:

Code: Select all

[building_manufaktur]
name      = _("Manufaktur")
genus      = "Improvement"
reqs   =
    { "type", "name", "range"
      "Tech", "Monarchy", "Player"
    }
graphic   = "b.barracks_i"
graphic_alt   = "b.barracks_i"
obsolete_by   = "Industrialization"
build_cost   = 30
upkeep      = 1
sabotage   = 100
sound      = "b_generic"
sound_alt   = "b_generic"
; /* xgettext:no-c-format */
helptext   = _("\
Increases production in the city by 3 shields.\
")


(The image is for Barracks; if there are better suggestions, feel free.)

Also, about to add this:

Code: Select all

[effect_manufaktur]
type    = "Output_Add_Tile"
value   = 3
reqs    =
    { "type", "name", "range"
      "CityTile", "Center", "Local"
      "OutputType", "Shield", "Local"
      "Building", "Manufaktur", "City"
    }


Is the syntax here ok? This is my first time doing this.

Also, about balance: the building shouldn't really be too cheap, but if it's more expensive, once it's sold for being obsolete, it will be a source of a lot of money, too much in my opinion. Any idea about how to get around this?

Historical note: "Manufaktur" is a German and Slavic word very different in meaning from the English word "manufacture", and specific for a certain method of production. As far as I know - and this is weird - the word itself doesn't even exist in English so this is why I left it in this form.
Last edited by Corbeau on Mon Sep 04, 2017 11:26 am, edited 1 time in total.

User avatar
VladimirSlavik
Posts: 46
Joined: Thu Aug 27, 2015 7:27 am

Re: Corbeau's ruleset (2.5)

Postby VladimirSlavik » Mon Sep 04, 2017 11:05 am

When barracks get obsoleted,they are auto-destroyed, without a way to profit from them, I think. (Or does that destruction guarantee some income?)

User avatar
Corbeau
Elite
Posts: 719
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset (2.5)

Postby Corbeau » Mon Sep 04, 2017 11:22 am

I think you automatically get money. Which makes sense because it's trivial to sell all barracks manually one turn before they are obsolete.