cephalo
Deity
Hi Folks!
This map script for vanilla Civ4,Warlords, BtS and most mods based on Civ4 generates a random, earth-like map, usually with a 'New World' with no starting locations that can only be reached with ocean going technology. Landforms are created using a random heightfield and a plate tectonic scheme. Climate is simulated using the interaction between the landforms and geostrophic winds. Though great pains are taken to semi-accurately simulate landforms and climate, the goal must be to make unpredictible, beautiful looking maps that are fun to play on.
Download the file here from the downloads database.
This script is a rebuilt version of my first map script, PerfectWorld v. 1.13. As this version is almost a complete rewrite, and is quite different from previous versions, I will keep version 1.13 available from it's original thread.
To use this map, put it in your Civilization 4\PublicMaps folder, not in your My Documents\My Games\Civilization 4\PublicMaps folder.
-- Map Options --
New World Rules:
Start in Old World(Default): Reserves some continents to act as a new world
Start Anywhere: Disables the new world functionality
Pangaea Rules:
Break Pangaeas(Default): Breaks up Pangaeas with a simulated meteor shower.
Allow Pangaeas: Allow pangaeas to exist. Keep in mind that this will likely eliminate any 'New World' as well.
-- Summary of creation process: --
First, a random heightfield is created using midpoint displacement. The resulting altitudes are then modified by a plate tectonics scheme that grows random plates and raises the altitudes near the plate borders to create mountain ranges and island chains.
In generating the plot types from a heightmap, I had found that using peaks for high altitude and land for less altitude created large clusters of peaks, surrounded by a donut of hills, surrounded again by a donut of land. This looked absolutely terrible for Civ, so I made it such that peaks and hills are determined by altitude *differences* rather than by absolute altitude. This approach looks much better and more natural.
The terrain generator gives the other needed visual cues to communicate altitude. Since air temperature gets colder with altitude, the peaks will be plots of ice and tundra, even near the equator, if the altitude is high enough. Prevailing winds, temperature and rainfall are all simulated in the terrain generator. You will notice that the deserts and rainforests are where they should be, as well as rain shadows behind mountain ranges.
Rivers and lakes are also generated from the heightmap and follow accurate drainage paths, although with such a small heightmap some randomness needs to be thrown in to prevent rivers from being merely straight lines.
Map bonuses are placed following the XML Rules but slightly differently than the default implimentation to better accomodate this map script.
I've always felt that the most satisfying civ games are the ones that provide a use for those explorers and caravels. Though the map generator does not explicitly create a 'New World', it will take advantage of any continents that can serve that purpose. No starting locations will be placed on these continents. Therefore, the likelyhood of a significant new world is very high, but not guaranteed. It might also come in the form of multiple smaller 'New Worlds' rather than a large continent.
Enjoy!
Here are some screenshots to illustrate some of the features of PerfectWorld2.
Here is a typical map overview, using the same random seed value to generate three different sized maps. Dual, Standard, and Huge.
Here is an example of how PerfectWorld2 creates an illusion of altitude differences. On the left you can see an area of high mountain peaks covered in snow. As you look to the right you can follow the rivers as they flow into the ocean through lower, warmer altitudes.
Rivers follow accurate drainage paths governed by the altitudes of each map square. Rivers in PerfectWorld2 are longer and more natural looking compared with previous versions. Here is a typical example.
The climate model simulates weather patterns caused by geostrophic and monsoon winds. Here is a picture of how high mountains can cause a 'rain shadow' effect by blocking moisture coming in from the ocean.
Version History
2.06 - Fixed a few bugs from my minimum hill/maximum bad feature function.
2.05 - Made maps of standard size and below a bit smaller. Changed the way I remove jungle to prevent excessive health problems. Tiles in FC on differen continents have zero value. Tiles on different continents will not be boosted with resources or hills. Water tiles have zero value for non-coastal cities. Water tiles will not be boosted with resources for non-coastal cities, land tiles will be boosted instead. (lookout Sid's Sushi!)
2.04 - Changed many percent values to be a percent of land tiles rather than total map tiles for easier, more predictable adjustment. Ensured a minimum number of hills in a starting fat cross. Disabled the normalizeRemovePeaks function a replaced it with a maximum peaks in FC function. Added bonus resources to FC depending on player handicap. Added a value bonus for cities placed on river sides.
2.03 - Fixed an initialization problem related to Blue Marble. Added some enhanced error handling to help me track down some of the intermittant bugs that still remain.
2.02 - Fixed some problems with monsoons that were creating strange artifacts near the tropics. Added an exponential curve to heat loss due to altitude, so that jungles can appear more readily without crawling to inappropriate latitudes.
2.01 - Changed the way I handled a vanilla version difference. Added toroidal and flat map options. Made tree amount more easily adjustable. Added a variable to tune the level of resource bonuses. Changed the rules for fixing tundra/ice next to desert. Added altitude noise to the plate map to improve island chains. Added a variable to control heat loss due to high altitude. Implimented a new interleaved bonus placement scheme so that bonuses are placed individually in random order, rather than all of each bonus type at once. Brought back the meteor code from PerfectWorld 1 and eliminated the east/west continent divide.
2.0 - Rebuilt the landmass and climate model using the FaireWeather.py for Colonization map script engine. Improved the river system. Fixed some old bugs.
This map script for vanilla Civ4,Warlords, BtS and most mods based on Civ4 generates a random, earth-like map, usually with a 'New World' with no starting locations that can only be reached with ocean going technology. Landforms are created using a random heightfield and a plate tectonic scheme. Climate is simulated using the interaction between the landforms and geostrophic winds. Though great pains are taken to semi-accurately simulate landforms and climate, the goal must be to make unpredictible, beautiful looking maps that are fun to play on.
Download the file here from the downloads database.
This script is a rebuilt version of my first map script, PerfectWorld v. 1.13. As this version is almost a complete rewrite, and is quite different from previous versions, I will keep version 1.13 available from it's original thread.
To use this map, put it in your Civilization 4\PublicMaps folder, not in your My Documents\My Games\Civilization 4\PublicMaps folder.
-- Map Options --
New World Rules:
Start in Old World(Default): Reserves some continents to act as a new world
Start Anywhere: Disables the new world functionality
Pangaea Rules:
Break Pangaeas(Default): Breaks up Pangaeas with a simulated meteor shower.
Allow Pangaeas: Allow pangaeas to exist. Keep in mind that this will likely eliminate any 'New World' as well.
-- Summary of creation process: --
First, a random heightfield is created using midpoint displacement. The resulting altitudes are then modified by a plate tectonics scheme that grows random plates and raises the altitudes near the plate borders to create mountain ranges and island chains.
In generating the plot types from a heightmap, I had found that using peaks for high altitude and land for less altitude created large clusters of peaks, surrounded by a donut of hills, surrounded again by a donut of land. This looked absolutely terrible for Civ, so I made it such that peaks and hills are determined by altitude *differences* rather than by absolute altitude. This approach looks much better and more natural.
The terrain generator gives the other needed visual cues to communicate altitude. Since air temperature gets colder with altitude, the peaks will be plots of ice and tundra, even near the equator, if the altitude is high enough. Prevailing winds, temperature and rainfall are all simulated in the terrain generator. You will notice that the deserts and rainforests are where they should be, as well as rain shadows behind mountain ranges.
Rivers and lakes are also generated from the heightmap and follow accurate drainage paths, although with such a small heightmap some randomness needs to be thrown in to prevent rivers from being merely straight lines.
Map bonuses are placed following the XML Rules but slightly differently than the default implimentation to better accomodate this map script.
I've always felt that the most satisfying civ games are the ones that provide a use for those explorers and caravels. Though the map generator does not explicitly create a 'New World', it will take advantage of any continents that can serve that purpose. No starting locations will be placed on these continents. Therefore, the likelyhood of a significant new world is very high, but not guaranteed. It might also come in the form of multiple smaller 'New Worlds' rather than a large continent.
Enjoy!
Here are some screenshots to illustrate some of the features of PerfectWorld2.
Here is a typical map overview, using the same random seed value to generate three different sized maps. Dual, Standard, and Huge.
Here is an example of how PerfectWorld2 creates an illusion of altitude differences. On the left you can see an area of high mountain peaks covered in snow. As you look to the right you can follow the rivers as they flow into the ocean through lower, warmer altitudes.
Rivers follow accurate drainage paths governed by the altitudes of each map square. Rivers in PerfectWorld2 are longer and more natural looking compared with previous versions. Here is a typical example.
The climate model simulates weather patterns caused by geostrophic and monsoon winds. Here is a picture of how high mountains can cause a 'rain shadow' effect by blocking moisture coming in from the ocean.
Version History
2.06 - Fixed a few bugs from my minimum hill/maximum bad feature function.
2.05 - Made maps of standard size and below a bit smaller. Changed the way I remove jungle to prevent excessive health problems. Tiles in FC on differen continents have zero value. Tiles on different continents will not be boosted with resources or hills. Water tiles have zero value for non-coastal cities. Water tiles will not be boosted with resources for non-coastal cities, land tiles will be boosted instead. (lookout Sid's Sushi!)
2.04 - Changed many percent values to be a percent of land tiles rather than total map tiles for easier, more predictable adjustment. Ensured a minimum number of hills in a starting fat cross. Disabled the normalizeRemovePeaks function a replaced it with a maximum peaks in FC function. Added bonus resources to FC depending on player handicap. Added a value bonus for cities placed on river sides.
2.03 - Fixed an initialization problem related to Blue Marble. Added some enhanced error handling to help me track down some of the intermittant bugs that still remain.
2.02 - Fixed some problems with monsoons that were creating strange artifacts near the tropics. Added an exponential curve to heat loss due to altitude, so that jungles can appear more readily without crawling to inappropriate latitudes.
2.01 - Changed the way I handled a vanilla version difference. Added toroidal and flat map options. Made tree amount more easily adjustable. Added a variable to tune the level of resource bonuses. Changed the rules for fixing tundra/ice next to desert. Added altitude noise to the plate map to improve island chains. Added a variable to control heat loss due to high altitude. Implimented a new interleaved bonus placement scheme so that bonuses are placed individually in random order, rather than all of each bonus type at once. Brought back the meteor code from PerfectWorld 1 and eliminated the east/west continent divide.
2.0 - Rebuilt the landmass and climate model using the FaireWeather.py for Colonization map script engine. Improved the river system. Fixed some old bugs.