"Simulation" ruleset (2.5) - v1.0 released

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

"Simulation" ruleset (2.5) - v1.0 released

Post by Corbeau »

.
New thread here

The ruleset is effectively finished. It can now be downloaded and tested. I'm sure there will be glitches so feel free to test it extensively.

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 (and enjoy) play(ing) 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)
Worker: 3 (not 2)

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.

Warriors can attack from sea and move immediately after disembarking

Units with property of Bombarder:
Check attached file for full numbers.

Archers
Catapult
Cannon
Artillery
Howitzer
Submarine
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.

Migration (spontaneous) is enabled.

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, 20, 15, 10, 8, 6, 5, 4, 3, 3, 2, 2, 2, 1, 1, 1, 0

Barracks (all) give 3 veteran bonus (when building a unit) for Land units, 1 for Big Land.
All religious, financial and education buildings give 1 veteran bonus (when building a unit).

UNIT UPKEEP - very big changes

- Complete concept rehaul. Units are now cheaper, however, much (some VERY much) more expensive to maintain.
- A file with all unit data appended to the ruleset (README.rtf)
- Upkeep almost independent of government (except food, see below), different units have different upkeep, some cost money, some cost money AND shields.
- On top of general "free food unit upkeep per city" (see table in README.rtf) each city can supply food to one more unit per two sizes. So, for example, in Despotism, a size-10 city doesn't pay food to 10 units and a size-20 city doesn't pay food for 15 units.
- 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

New granary sizes. Numbers presume Granary improvement.

Code: Select all

City    Food    Max
size    after   food
        growth
  1			  	10
  2		 2*	  12
  3		 4*	  15
  4		 6*	  18
  5		 8		22
  6		10		26
  7		12		30
  8		15		35
  9		20		40
 10		25		50
 +1		+5		+10

* free Granary
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
- Small Wonder - Atlantic Telegraph Company - embassies with everybody (electricity)
- Max Sci/Tax/Lux rate reversed; Despotism: 100, Monarchy & Communism: 80, Fundamentalism: 70, Republic: 60, Democracy: 50.
- Migrants are a unique unit; also "FieldUnit": cause unhappiness in a city where built
- 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
- no empire size limit by cities
- one unit per turn upgraded by default; Leonardo upgrades 2 more
- NATIONALITY: ON; when you conquer a city, 51% of its population will be unhappy if belonging to the enemy nationality
- when your palace is conquered, you don't get another one autiomatically, you need to build it yourself
- no civil war
- under Communism, Banks don't add 50% to Luxury and Stock Markets don't work at all

- 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, Police Station each add 25% to Spy Resistance.
Base chance for diplomat to succeed: 50.
Chance to lose tech when receiving: 0.

Adjusted bombard_rate(s)

NO TERRAIN TRANSFORM
Railroad gives Trade to hills and mountains
Tech Explosioves makes it possible to build Resorts on Hills Mountains, resulting in +2 Trade

TODO

World Wonder - United Nations: everybody has embassies with everybody, owner can declare war even under Republic or Democracy
fix Statue of Liberty


Ruleset is no longer maintained on this forum. Instead, you can find it here:
https://github.com/longturn/games/tree/master/LT42

All information will still be updated here.
Attachments
LT42.zip
(74.39 KiB) Downloaded 384 times
Last edited by Corbeau on Sat Jan 28, 2023 8:55 pm, edited 88 times in total.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
bard
Veteran
Posts: 121
Joined: Fri Jun 14, 2013 2:00 pm

Re: Corbeau's ruleset

Post by bard »

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: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset

Post by Corbeau »

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.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
User avatar
Corbeau
Elite
Posts: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset

Post by Corbeau »

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.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
bard
Veteran
Posts: 121
Joined: Fri Jun 14, 2013 2:00 pm

Re: Corbeau's ruleset (2.5)

Post by bard »

- 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
Elite
Posts: 303
Joined: Thu Jul 27, 2017 10:43 am

Re: Corbeau's ruleset (2.5)

Post by wieder »

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: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset (2.5)

Post by Corbeau »

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.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
User avatar
Corbeau
Elite
Posts: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset (2.5)

Post by Corbeau »

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.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
User avatar
VladimirSlavik
Posts: 47
Joined: Thu Aug 27, 2015 7:27 am

Re: Corbeau's ruleset (2.5)

Post by VladimirSlavik »

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: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Corbeau's ruleset (2.5)

Post by Corbeau »

I think you automatically get money. Which makes sense because it's trivial to sell all barracks manually one turn before they are obsolete.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
Post Reply