MapScriptTools

Terkhen

King
Joined
Aug 1, 2011
Messages
917
Location
Granada
MapScriptTools 1.06

MapScriptTools provides tools to facilitate the creation of MapScripts and adapting existing ones for Civilization IV Beyond the Sword. It helps on making MapScripts compatible for 'Normal', 'Fall from Heaven 2', 'Planetfall' and 'Mars Now!' mods. It is not intented to work with 'Final Frontier' based mods. It also includes a selection of MapScripts already adapted to make use of these features. All included MapScripts can be used with the mods mentioned before, and they have a detailed changelog in the initial part of each file that explains all changes and new features.

MapScriptTools was originally created by Temudjin. This new version has been made in order to incorporate bugfixes and some new features to these excellent tools. The original version can be found here: http://forums.civfanatics.com/threads/mapscripttools-and-associated-maps.371816/

Installation: Put the files contained in the zip file in the root of the mod you want to use with MapScriptTools. Assets should be merged with the mod's Assets folder, and PrivateMaps should be merged with the mod's PrivateMaps folder. Bear in mind that if you are a player you should only use MapScriptTools with supported mods.

Download: https://bitbucket.org/Terkhen/mapscripttools-for-civilization-iv/downloads

Source code repository: https://bitbucket.org/Terkhen/mapscripttools-for-civilization-iv/

Issue tracker: https://bitbucket.org/Terkhen/mapscripttools-for-civilization-iv/issues

MapScriptTools Features

MapScriptTools provides the tools to include the following features in existing MapScripts. All included MapScripts also include these features.

  • Easily adapt maps for Planetfall or Mars Now!
  • Produce maps with special features for Fall from Heaven 2.
  • Add Marsh terrain, if the mod supports it.
  • Add Deep Ocean terrain, if the mod supports it.
  • Make the map look prettier and more realistic.
  • Add special regions to the map, such as big dents, big bogs, the lost isle or the elemental quarter. These region names are translatable.
  • Replaced and expanded bonus balancer (from Warlords).
  • Manipulate river creation: (starting from lakes, on islands...)
  • Handle starting-positions for teams.
  • Store used map options for future map generation.
  • Print various sorts of maps to the log file for testing.
  • Print stats about mod and map.
  • Find the path for Civ4, Mod or Log files.
  • Prevent triggering assertions when possible.

Included MapScripts

The following Map Scripts have been modified to be supported by MapScriptTools. They also include additional features, and can also be used as an example to adapt new maps to make use of MapScriptTools' features.

Archipelago_mst by Bob Thomas (Sirian) (Civilization IV)
The ultimate water map for Civilization IV. Powerful navies not optional!

Earth3_mst by jkp1187 (http://forums.civfanatics.com/threads/map-script-earth3.253927/)
Derivative map generator that simulates a randomized Earth.

Erebus_mst by Cephalo (http://forums.civfanatics.com/threads/map-script-creation-py-for-ffh2.261688/)
Random map that creates a region of a fantasy type world where much of the world is unknown and irrelevant. It allows terrain to be created on a smaller, more detailed scale than planetary maps.

FracturedWorld_mst by Temudjin (http://forums.civfanatics.com/threads/map-script-fracturedworld.371842/)
Evolving plate tectonics map. When the eons come and go, the world slowly changes as the continents drift and break apart, and new islands are created that may be driven into the continents.

Inland_Sea_mst by Bob Thomas (Sirian) (Civilization IV)
A large sea inhabits the center, surrounded by a thick ring of land.

Medium_and_Small_mst by Bob Thomas (Sirian) (Civilization IV)
Realistic world with highly random landmasses, medium and small. East and west hemispheres are divided by ocean, although rarely an island chain may connect them.

Pangaea_mst by Bob Thomas (Sirian) (Civilization IV)
Pan-Gaia: "One Earth," a massive single continent.

PerfectWorld_mst by Cephalo (http://forums.civfanatics.com/threads/map-script-perfectworld2-py.310891/)
Random map that simulates earth-like plate tectonics, geostrophic and monsoon winds and rainfall.

Planetfall_mst by Maniac (http://forums.civfanatics.com/threads/planetfall.252829/)
Creates few landmasses with many hilly regions and mountain ranges. Small islands surround them.

RandomMap_mst by Terkhen (https://bitbucket.org/Terkhen/mapscripttools-for-civilization-iv)
Map script which allows to randomly select a map script between Archipelago, Earth3, Erebus, Fractured World, Inland Sea, Medium and Small, Pangaea, PlanetFall, Sea Highlands and Tectonics.

Ringworld3_mst by Temudjin (http://forums.civfanatics.com/threads/map-script-ringworld3.371831/)
Random map based on Larry Niven's famous 'Ringworld' novel. It creates a thin (16 tiles wide) but long map with artificial landmasses and climate.

Sea_Highlands_mst by Bob Thomas (Sirian) (Civilization IV)
Highlands, valleys and mountain ranges with several bigger lakes.

SmartMap_mst by surt (http://forums.civfanatics.com/threads/map-script-smartmap.154989/)
This highly customizable map script can create an incredible assortment of gameplay experiences.

Tectonics_mst by Laurent Di Cesare (http://forums.civfanatics.com/threads/map-script-tectonics.149278/)
Produces mountain ranges, and simulates plate tectonics, giving more realistic/earthlike terrain (mountain ranges, mountains near coasts like the Andes, or between subcontinents like the Himalaia).

MapScript features

  • When using mods based on Fall from Heaven 2, all maps will generate a small number of city ruins along with some roads.
  • All maps will store used map options, and restore them the next time they are loaded.
  • All maps can (and will) produce Marsh terrain, if the mod supports it.
  • All maps can (and will) produce Deep Ocean terrain, if the mod supports it.
  • Supported maps look prettier and more realistic.
  • All maps support any number of map sizes supported by the mod.
  • All maps support the expanded coastal water option.
  • All maps may add big dents, a special mountainous map region.
  • All maps may add big bogs, a special map region consisting on a great swamp that may also contain a lake. This region is not used in Mars Now! maps.
  • All maps may add the lost isle, a small and isolated island with city ruins, roads and perhaps some intact improvements. Other goodies may also appear.
  • When using mods based on Fall from Heaven 2, all maps may add the Elemental Quarter, the place where elemental mana nodes meet.
  • Most maps give random names to their Special Regions. These names can be translated.
  • All maps may add map features such as Kelp, Haunted Lands or Crystal Plains, if supported by the mod being used.
  • All maps may add Map Features ( Kelp, HauntedLands, CrystalPlains ), if supported by mod (FFH only).
  • All maps may add some rivers on small islands and from lakes.
  • All maps support Mars Theme options, if 'Mars Now!' is the active mod.
  • All maps support Team Start options (neighbours, separated, random). This option does not appear when using 'Mars Now!'.
  • All maps support any number of players, depending on the mod.
  • All maps produce printed maps in "My Documents\My Games\Beyond the Sword\Logs\PythonDbg.log"
  • All maps produce printed statistics in "My Documents\My Games\Beyond the Sword\Logs\PythonDbg.log"
  • If 'Planetfall' is the active mod, usually the planetfall-default starting plot finder will be used.
  • If 'Mars Now!' is the active mod, oceans and lakes are converted to desert (Sands of Mars), except if Terraformed Mars is choosen in the Mars Theme options.
  • All maps allow to use balanced resources, add missing boni and try to move some minerals to nearby hills.

MapScriptTools credits

Temudjin: Creation of MapScriptTools.
Terkhen: Tweaks, improvements, fixes.

MapScript credits

Archipelago: Bob Thomas (Sirian), Terkhen (MapScriptTools adaptation, improvements, fixes)
Earth3: Bob Thomas (Sirian) (Terra), GRM7584 (Earth2), jkp1187 (Terra3), Temudjin (Earth3, MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).
Erebus: Cephalo, Temudjin (MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).
FracturedWorld: Temudjin, Terkhen (improvements and fixes)
Inland_Sea: Bob Thomas (Sirian), Soren Johnson, Andy Szybalski, Temudjin (MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).
Medium_and_Small: Bob Thomas (Sirian), Temudjin (MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).
Pangaea: Bob Thomas (Sirian), Soren Johnson, Andy Szybalski, Terkhen (MapScriptTools adaptation, improvements, fixes)
PerfectWorld2: Cephalo, Temudjin (MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).
PlanetFall: Maniac, Oleg Giwodiorow / Refar, Temudjin (MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).
RandomMap: Terkhen (based on Sansimap by sansi)
Ringworld3: Ruff_Hi (Ringworld2), Temudjin (Ringworld3, MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).
Sea_Highlands: Bob Thomas (Sirian), vbraun, Temudjin (MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).
SmartMap: Doug McCreary, Keldath, Mrgenie, TAfirehawk, Temudjin (MapScriptTools adaptation, improvements, fixes), Terkhen (fixes).
Tectonics: LDiCesare, Temudjin (MapScriptTools adaptation, improvements, fixes), Terkhen (improvements, fixes).

Manual and API

If you are a modder interested in these tools, the mapscripttools_API.py file included with MapScriptTools contains a detailed description of what you can do with MapScriptTools, and help on how to do it.
 
Last edited:
Release post: MapScriptTools 1.03

After some time tinkering with MapScriptTools to add support for my ModMod and include some new features in it, I decided to release my changes publicly to allow everyone interested to play with it and/or help with improving it. MapScriptTools was originally created by Temudjin, you can find its original thread here (http://forums.civfanatics.com/showthread.php?t=371816) I decided to open a new one in order to not mix the new and old versions.

This version has been playtested mostly with mods based on Fall from Heaven 2, but I have also tested that the maps work with with Mars Now! and Planetfall. Feedback is very welcome :)

The version is available for download here: https://bitbucket.org/Terkhen/mapscripttools-for-civilization-iv/downloads

MapScriptTools 1.03 changes

  • Added, RandomMap. This MapScript allows to choose choose randomly between a selection of MapScripts, giving each one a separate random weight and using the selected option for the one that is finally chosen.
  • Added, support for storing map options, and restoring them the next time the map is selected.
  • Added, translatable names for Big Dents, Big Bogs and Lost Islands.
  • Added, additional Big Bog names.
  • Added, most map scripts now allow to select if the bonus balancer should be used or not.
  • Added, allow more wrapping options when possible.
  • Added, When possible, MapScriptTools will try to not trigger asserts.
  • Added, when using all from Heaven 2 it is now possible to get Water Mana as a bonus in the Lost Island.
  • Added, ExtraModMod (for Fall from Heaven 2) compatibility.
  • Fixed, MapScriptTools will no longer place scrubs on top of mountains or hills.
  • Fixed, the Fall from Heaven 2 bonus 'BONUS_REAGENTS' was misspelled as 'BONUS_REAGENS'.
  • Fixed, Corrected a few typos.
  • Changed, Simplify Big Bog name selection.
  • Changed, Standardize order of map options.
  • Changed, Unique terrain feature chance of appearance reduced slightly.
  • Changed, Splitted documentation from the MapScriptTools main file to separate text files.
  • Changed, Translatable text strings included for all MapScripts except SmartMap.

MapScript changes

Earth3 1.64_mst changes
  • Added, save/load map options.
  • Added, compatibility with RandomMap.
  • Changed, use TXT strings instead of hardcoded ones.
  • Changed, use standard resource placement by default.

Erebus 1.07d_mst changes
  • Added, save/load map options.
  • Added, allow to select between the map script starting point placer and the default one when using Fall from Heaven.
  • Added, compatibility with RandomMap.
  • Added, resource balance option.
  • Added, tubular wrapping.
  • Fixed, Erebus unique feature placer would not take into account changes to terrain made by MapScriptTools.
  • Fixed, use Erebus starting points only when using Fall from Heaven 2 based mods.
  • Fixed, prevention of assert errors.
  • Changed, use TXT strings instead of hardcoded ones.
  • Changed, the MapScript no longer needs to convert peaks from desert to tundra.

FracturedWorld 1.03_mst changes
  • Added, compatibility with RandomMap.
  • Added, resource balancement option.
  • Changed, use TXT strings instead of hardcoded ones.

InlandSea 1.32_mst changes
  • Added, save/load map options.
  • Added, compatibility with RandomMap.
  • Changed, use default resource placement by default instead of balanced.
  • Changed, use TXT strings instead of hardcoded ones.

Medium_and_Small 1.12_mst changes
  • Added, save/load map options.
  • Added, compatibility with RandomMap.
  • Added, resource balancement option.
  • Changed, reordered options to have a similar order than the one used in other MapScripts.
  • Changed, use TXT strings instead of hardcoded ones.

PerfectWorld2 2.06g_mst changes
  • Added, save/load map options.
  • Added, resource balancement option.
  • Fixed, prevention of assert errors.
  • Changed, reordered options to have a similar order than the one used in other MapScripts.
  • Changed, use TXT strings instead of hardcoded ones.

PlanetFall 1.02_mst changes
  • Added, save/load map options.
  • Added, compatibility with RandomMap.
  • Added, resource balancement option.
  • Changed, reordered options to have a similar order than the one used in other MapScripts.
  • Changed, use TXT strings instead of hardcoded ones.

Ringworld3 1.03_mst changes
  • Added, save/load map options.
  • Changed, use default resource placement by default instead of balanced.
  • Changed, use TXT strings instead of hardcoded ones.

Sea_Highlands 1.22_mst changes
  • Added, save/load map options.
  • Added, compatibility with RandomMap.
  • Added, resource balancement option.
  • Changed, use TXT strings instead of hardcoded ones.

SmartMap 9.23_mst changes
  • Fixed, BONUS_REAGENTS was mispelled.


Tectonics 3.17_mst changes
  • Added, save/load map options.
  • Added, compatibility with RandomMap.
  • Changed, resource balance option.
  • Changed, use TXT strings instead of hardcoded ones.
 
Hi. For my mod everything works perfectly .
Can you please specify what exactly changes in the choice of Eons in Fractured world ?
I'm not a programmer , it is somewhere ( especially Fractured world ) the ability to set the percentage of some feature ?
 
Hi. For my mod everything works perfectly.

I'm glad to hear that :)

Can you please specify what exactly changes in the choice of Eons in Fractured world?

In FracturedWorld Temudjin included a simulation of plate tectonics. The number of eons is just the duration of the simulation. If the world is older, the randomly placed original continental plates will move around the world (and collision with other plates) more.

I'm not a programmer , it is somewhere ( especially Fractured world ) the ability to set the percentage of some feature?

If you don't want to touch code, the available options are the ones you can see. With regard to the code, MapScriptTools has percentifyTerrain and percentifyPlots methods which could be used for what you want, but I wouldn't follow that path too much in existing MapScripts because allowing too much percentage customization will probably make the map lose its character. If you want that kind of control and customization in map creation, in my opinion it is better to use MapScripts specifically designed to allow that such as SmartMap.
 
Thanks. I know somethink about land drifting. I just did not know how to script it works :)
Fractured world has one option that is closest to what I used years before ... But there are too many deserts and marsh instead of multiple smaller deposits of two or three big , like deserts . This is illogical . However, you are right , in my case it would be unwise to interfere with the script and destroy its functionality ...
 
Release post: MapScriptTools 1.04

This release fixes a bug in FracturedWorld, and it also adds support for recent releases of More Naval AI and ExtraModMod. Enjoy, and if you have any comments or feedback write a post here :)

I am interested on getting the English strings proofreaded by a native speaker. I am also looking for translators for French, German and Italian. If you are interested in helping with any of these, please let me know. You can find the XML file with all these strings in the following link: https://bitbucket.org/Terkhen/mapsc...sets/XML/Text/CIV4GameText_MapScriptTools.xml

The version is available for download here: https://bitbucket.org/Terkhen/mapscripttools-for-civilization-iv/downloads

MapScriptTools 1.04 changes

  • Added, More Naval AI (for Fall from Heaven 2) compatibility.
  • Fixed, Python exception on FracturedWorld when not using RandomMap.
  • Fixed, Certain mods like More Naval AI or ExtraModMod use a Player instead of a Team as a parameter for canHaveImprovement and calculateBestNatureYield.
  • Changed, Simplified mod determination code.

MapScript changes

FracturedWorld 1.04_mst changes
  • Fixed, Certain mods like More Naval AI or ExtraModMod use a Player instead of a Team as a parameter for canHaveImprovement and calculateBestNatureYield.
  • Fixed, Python exception when not using RandomMap.


PerfectWorld2 2.06h_mst changes
  • Fixed, Certain mods like More Naval AI or ExtraModMod use a Player instead of a Team as a parameter for canHaveImprovement and calculateBestNatureYield.


Ringworld3 1.03_mst changes
  • Fixed, Certain mods like More Naval AI or ExtraModMod use a Player instead of a Team as a parameter for canHaveImprovement and calculateBestNatureYield.


SmartMap 9.24_mst changes
  • Fixed, Certain mods like More Naval AI or ExtraModMod use a Player instead of a Team as a parameter for canHaveImprovement and calculateBestNatureYield.
 
Release post: MapScriptTools 1.05

A quick release, to add support for the Ashes of Erebus mod. It should also work with Rise from Erebus, although this has not been tested extensively. Enjoy, and if you have any comments or feedback write a post here :)

The version is available for download here: https://bitbucket.org/Terkhen/mapscripttools-for-civilization-iv/downloads

MapScriptTools 1.05 changes

  • Added, Ashes of Erebus compatibility.
  • Fixed, MapScriptTools will now always use the globally defined terrain, feature and improvement definitions instead of trying to obtain them directly.

MapScript changes

Earth3 1.65_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.

Erebus 1.07e_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.

FracturedWorld 1.05_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.

PerfectWorld2 2.06i_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.

PlanetFall 1.03_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.

RingWorld3 1.04_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.

Sea_Highlands 1.23_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.

SmartMap 9.25_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.

Tectonics 3.18_mst changes
  • Fixed, use terrain, feature and improvement definitions from MapScriptTools.
 
Release post: MapScriptTools 1.06

Yet another release in a short time (mostly because Erebus was broken in the previous version) although this one also includes a lot of new stuff. Among other things, the Archipelago and Pangaea Mapscripts from Civilization IV have been adapted to work with MapScriptTools, RandomMap will work even if you remove some of the MST Mapscripts that you can use, and when using mods based on Fall from Heaven 2, some city ruins will be placed on the map on startup. Let me know about any feedback or issues you have!

The version is available for download here: https://bitbucket.org/Terkhen/mapscripttools-for-civilization-iv/downloads

MapScriptTools 1.06 changes

  • Added, in mods based on Fall from Heaven 2, city ruins (or ancient city ruins if available) will be placed on map creation along with some roads. The number of ruins scales with map size.
  • Added, Archipelago Mapscript. RandomMap is now compatible with Archipelago.
  • Added, Pangaea Mapscript. RandomMap is now compatible with Pangaea.
  • Added, RandomMap no longer requires all compatible mapscripts to work. If some are missing, it will only list the existing ones.
  • Added, Mapscripts now support all grid sizes.
  • Added, Mapscripts will not use stored map script options if they are from older versions.
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.
  • Fixed, some problems in Tectonics when playing with PlanetFall.
  • Fixed, restored compatibility with PlanetFall.
  • Fixed, corrected a trace in Erebus.

MapScript changes

Archipelago 1.1.0_mst INITIAL RELEASE
  • Added, compatibility with MapScriptTools
  • Added, compatibility with 'Planetfall'
  • Added, compatibility with 'Mars Now!'
  • Added, save/load map options.
  • Added, compatibility with RandomMap.
  • Added, tubular wrapping.
  • Added, resource balancement map option.
  • Added, expanded coastal waters map option (like in Civilization V)
  • Added, team start map option
  • Added [Mars Now!], new map option: 'Sands of Mars'/'Terraformed Mars'
  • Added, Marsh terrain, if supported by mod
  • Added, Deep Ocean terrain, if supported by mod
  • Added, rivers on islands and from lakes
  • Added, Map Regions ( BigDent, BigBog, ElementalQuarter, LostIsle )
  • Added, Map Features ( Kelp, HauntedLands, CrystalPlains )
  • Changed, use TXT strings instead of hardcoded ones.

Earth3 1.66_mst changes
  • changed, use grid definitions from the active mod instead of using hardcoded ones.

Erebus 1.07F_mst changes
  • Changed, the map size is now proportional to the actual world sizes defined by the mod.
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.
  • Fixed, correct reference to efJungle.

FracturedWorld 1.06_mst changes
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.

Inland Sea 1.33_mst changes
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.

Pangaea 1.1.0_mst INITIAL RELEASE
  • Added, compatibility with MapScriptTools
  • Added, compatibility with 'Planetfall'
  • Added, compatibility with 'Mars Now!'
  • Added, save/load map options.
  • Added, compatibility with RandomMap.
  • Added, tubular wrapping.
  • Added, resource balancement map option.
  • Added, expanded coastal waters map option (like in Civilization V)
  • Added, team start map option
  • Added [Mars Now!], new map option: 'Sands of Mars'/'Terraformed Mars'
  • Added, Marsh terrain, if supported by mod
  • Added, Deep Ocean terrain, if supported by mod
  • Added, rivers from lakes
  • Added, Map Regions ( BigDent, BigBog, ElementalQuarter, LostIsle )
  • Added, Map Features ( Kelp, HauntedLands, CrystalPlains )
  • Changed, use TXT strings instead of hardcoded ones.
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.

PerfectWorld2 2.06j_mst changes
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.

PlanetFall 1.04_mst changes
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.

RandomMap 1.1_mst changes
  • Added, compatibility with Pangaea.
  • Added, compatibility with Archipelago.
  • Added, RandomMap no longer requires all compatible mapscripts to work. If some are missing, it will only list the existing ones.
  • Fixed, RandomMap will use default grid sizes if the mapscript misses the getGridSize method.

Ringworld3 1.05_mst changes
  • Changed, the map area of the Ringworld is now proportional to the actual world sizes defined by the mod.
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.

Sea Highlands 1.24_mst changes
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.

SmartMap 9.26_mst changes
  • Changed, use grid definitions from the active mod instead of using hardcoded ones.

Tectonics 3.19_mst changes
  • Fixed [Planetfall], do not use snow and desert terrain, use their Planetfall equivalents instead.
 
After upgrading my (old) SmartMap.py to the SmartMap_mst.py version I can only conclude: The new version is much better.than the old one. It takes longer time for the engine to make a (gigantic) map, but it's worth waiting for. Great job.

However - there is (still) something fishy going on.
- The old one was really lousy when it should place the seafood-bonus (might be all sea-bonuses, but those are the most important for me). You nearly had to plot all yourself using the WorldBuilder.
- The new one add some seafood-bonuses, but not near the number I would expect (this might also be valid for other seabased bonuses). So there will still be some manual work to do here. But not nearly as much as it used to be.

I have tried to raise the <iPlayer> value and lower the <iTilesPer> value for the Fish-bonus to see, if "something" happens. But it seems like the new version of the SmartMap-scrip more-or-less ignores me - just as the old script did.
 
So there will still be some manual work to do here.
Look for
#the bountiful ocean - I add extra resources to water tiles because there #is a lot of coastal land in this map design if type_string in resourcesWater: playerFactor += 1 + players/2 areaFactor = totalCoastCount / 300
in SmartMap and tweak the last value. Or maybe player one too - it doesn't have /2 by default.
 
Last edited:
Great and a big thanks from me.

Had time to make 2 different tests and both were really promising.


I'll continue tomorrow with more tests and post my results..
 
It works perfect(!):thumbsup: I am so glad - so glad - for such advice:goodjob:


The section ended up like this:

#the bountiful ocean - I add extra resources to water tiles because there
#is a lot of coastal land in this map design
if type_string in resourcesWater:
playerFactor += 1 + players/2
areaFactor = int(totalCoastCount / 35)
extraSeparation -= int((3*sizeSelected)/2)

Now this line playerFactor += 1 + players/2 doesn't count in my setup as I normally start a new game with my preferred civ and add the AIs via WorldBuilder. Reason is, that even though I do not play on a strict worldmap, I do like to place the civs close to what you would see if you looked on a real map.


As for a normal game (with 1 human and 5 AIs) this settings seems to be close to perfect (at least as I see it).
#the bountiful ocean - I add extra resources to water tiles because there
#is a lot of coastal land in this map design
if type_string in resourcesWater:
playerFactor += 1 + players/2
areaFactor = int(totalCoastCount / 75)
extraSeparation -= int((3*sizeSelected)/2)

areaFactor = int(totalCoastCount / 100 is a bit too high (gives too few sea-bonuses) but I guess that an areaFactor = int(totalCoastCount / 50 will be too low.
 
A little add-on to above post.

The map-script itself with the small change works wonderful. However what I didn't notice back then was, the the SmartMap_mst.script can't handle the specific RI (RealismInvictus) features. Not yet. Though I can see from Terkhen issue-tracker, that this most likely will be added (#42: Realism Invictus support) some day.


Until then I will use the "old" Smartmap.py script WITH a change to areaFactor. It's now "down" to 25 ( areaFactor = int(totalCoastCount / 25) ). This setting works quite good, at least on a oversized gigantic map.
 
Last edited:
After upgrading my (old) SmartMap.py to the SmartMap_mst.py version I can only conclude: The new version is much better.than the old one. It takes longer time for the engine to make a (gigantic) map, but it's worth waiting for. Great job.

Thank you so much for the kind words! I'm happy you like it.

Though I can see from Terkhen issue-tracker, that this most likely will be added (#42: Realism Invictus support) some day.

Unfortunately I do not think I will make further updates to this project. I do not play Civilization IV anymore so my interest has switched to other projects.
 
SmartMap Oasis feature choice bugged:
IMG_20221223_042120_403.jpg
 
Top Bottom