Civ 1 Style

mycophobia

Warlord
Joined
Oct 14, 2017
Messages
100
I looked over darkpanda's excellent explanation of Civlization 1's map generation here: https://forums.civfanatics.com/threads/civ1-map-generation-explained.498630/ and wanted to adapt the landmass generation to a Civ 4 map script cuz I just like those kinds of maps. Rivers, features and resources are all handled by Civ 4's stock functions.

I implemented everything as accurately as I could and made it adaptable to any map size. One change is that I added a check for coastal mountains which will get replaced with regular land due to their impassibility. There is also an option to use the map size as a parameter by which to scale the number of map tiles to however many civs are in the game; meaning if you select Standard and leave the default number of civs (7) then you get a map size of 7 * 571.42 rounded down (3999), which is close to the normal Standard map size, however if you only add 4 civs with this option on then you get 4 * 571.42 (2285). So there's a good deal of versatility in terms of precise map sizes, from 18 civs on Duel yielding ~2571 tiles, roughly the size of the normal Small map, to 2 civs on Huge yielding 1714 tiles.
 

Attachments

Last edited:
The attachment in the OP has been updated for better mountain/hill distribution and to add custom terrain handling that sorta follows Civ 1's logic in a very simplified way.
 
Updated again, this time with much better accuracy to Civ 1's land generation, climate adjustment and erosion algorithms
 
Some poor quality comparison shots, for your perusal:

1-1.png


4-3.png


1-2.png


4-2.png


1-3.png


4-1.png
 
The first post has been updated with a new option to ignore Civ 4's usual map sizes and just generate a map sized proportionally for the number of civs the game starts with, roughly 571 tiles per civ. So if you select this option and only have 4 civs total in the game, you'll get a map of around 2284 tiles in the normal 8:5 aspect ratio. If you select 7 civs then you get around the same number of tiles as the usual standard sized map. If you go up to the max of 18 civs you get a gigantic 10278 tile map, and so on.

It's an option that doesn't really have anything to do with the script's Civ 1-ness but I thought it'd be neat.
 
Updated again to add more flexibility to the map sizing, see the original post for details. But basically for the behavior described in the post directly above you'd turn the option on and use a Standard map, whereas smaller and larger sized map options give less or more tiles per civ.
 
571 tiles per person? That's a lot! Can you make the number configurable, e.g. options for 100, 200, 300, 400, 500? Would appreciate that on a number of scripts.
 
571 tiles per person? That's a lot! Can you make the number configurable, e.g. options for 100, 200, 300, 400, 500? Would appreciate that on a number of scripts.
To be clear, it's 571 tiles period, not land tiles specifically. So if you have Map size "Standard" selected and you keep the default 7 civs, the "Size by player count" option makes almost no difference.

The "Map Size" option, when used in conjunction with "Size by player count", controls how many tiles per civ in increments of about 142. So Duel would be 142*players, Tiny would be 285*players, Small 428*players, and so on up to 856*players for Huge. How much of that is land can be controlled by Sea Level like usual.
 
For illustrative purposes, here is nearly the entirety of a Duel-sized map with 2 players and "Size by player count" enabled. Germany and I might be able to squeeze 9 cities on here collectively, lol.

Screenshot at 2025-03-13 17-44-26.png
 
Back
Top Bottom