Support this website or
listen to my music
Totestra

Totestra is a program that makes random maps for Civilization IV. It
is based on Cephalo's excellent PerfectWorld2 map script, and uses
plate tectonics, meteor, and weather modeling to create a remarkably
realistic earth-like planet. It is an update to PerfectWorld that adds
more parameters that can be set inside Civ IV to the map generator, as
well as fixing some long standing bugs with Cephalo's map generator. One
goal of Totestra is 100% compatibility with PerfectWorld2; given the right
parameters, Totestra will make the exact same map that PerfectWorld2 did.
In addition, I have tested this map script against a large number of
different mods; click here to see if this
map script works with a given mod.
With Cephalo's permission, I have made my own version of his excellent 
PerfectWorld2.py script, with the goal to address some long-standing issues
users have had with Perfect World, as well as adding some other features.
The last update to this script was on June 3, 2012.
Totestra is finished
Totestra is a finished product and I have no plans to further develop
this program.  
Known issues
While I do not plan up updating Totestra at this time, there are some known
issues:
- There appear to be issues with regenerated maps having multiple service
    tags on them.  For people who want help with such a map, just post all of
    the service tags on the map in the support request.  The workaround is
    to not regenerate a map.
 - About once every dozen maps, Totestra will generate a map with no
    hills nor mountains.  I have no plans to fix this bug; the workaround is
    to generate a new map.
 
New features
Totestra adds the following features to Perfect World:
- Maps now have all parameters used to generate the map stored on a 
    sign in the map.  This makes debugging easier.
 - The ability to adjust the ocean level from the GUI.
 - The ability to adjust the climate from the GUI.
 - The ability to adjust the number of islands the map will tend to 
    generate from the GUI.
 - The ability to use a fixed random seed from the GUI.
 - The map's width:height ratio can be adjusted.
 - Perfect World has some code that ensures only a single continent
    has a single resource.  This code can now be disabled by changing the
    "Map resources" value.  It's now also possible to have a "full of 
    resources" map.
 - The player's handicap amount can now be selected.  Handicap level is 
    the number of bonus resources placed near the player's starting location. 
    The higher the handicap level, the more bonuses are placed. 
 - In addition to the Perfect World options of evenly distributing players
    or keeping a continent empty for new world exploration, it is now
    possible to choose to have all civs start on the same continent.
 - The ability to quickly make a lower-quality map.  Please be aware that
    selecting this disables a number of options: The number of islands becomes
    fixed, as well as the map ratio, and the map can not be any larger than
    a standard map.
 - The generator will now, by default, avoid splitting up large continents in
    the middle where the map wraps.
 - There is now an option to remove coastal mountain peaks and reduce 
    mountains elsewhere.
 
Service tags

One frustration Cephalo has had is 
bugs he could not reproduce.  This in mind,
maps generated with this map generator store all settings to recreate
the map as a hex-encoded string.  This sign, which I call a "service tag",
is put in an out-of-the-way place in arctic ice.  It's a code which not only 
stores the seed used to make the map, but all other parameters, such as the 
climate, water height, number of islands desired, and so on.  
Install
To install the script, copy 
Totestra.py
(to save this file, right click on it and choose "save as"/"save
target as"/"save link as") to the PublicMaps directory (make
sure it has the name Totestra
.py there), which should be at
/Users/
yourname/Documents/My Games/Sid Meier's Civilization 4
Complete/PublicMaps or somewhere similar.
Support
For support with Totestra.py, please first read the 
FAQ to see if your question has already been
answered.  If not, I do not provide support for Totestra at this time.
Please do not email me or send me personal messages 
that discuss this map script.
Copyright
Please note that while Cephalo has given me permission to make
my fork Totestra.py available, he is still the copyright owner of this
file.
Files
The files here:
- Totestra.py.  This is the file you want to
    download.   This is identical to Totestra-20120512.py, but has DOS
    line feeds which makes it easier to edit in Windows.
 - Files with '-' in their filename will not be seen by Civ IV.  If you 
    wish to download an earlier release, rename the file so Civ4 can
    see it.
 - The file ServiceTag.txt describes the binary
    format of the service tag (which is a hexadecimal number).
 - .diff files (in the Totestra directory) compare a version of Totestra with its previous version.
    This is a standard UNIX format: Lines that begin with '-' are deleted
    when going from one version to the next; lines beginning with '+' are
    added.
 
Totestra.py
Totestra-2017-03-30.py
Totestra-2017-03-29.py
Totestra-2017-03-29.diff
Totestra-20120615.py
Totestra-20120615.diff
Totestra-20120612.py
Totestra-20120612.diff
Totestra-20120610.py
Totestra-20120610.diff
Totestra-20120603.py
Totestra-20120603.diff
Totestra-20120530.py
Totestra-20120530.diff
Totestra-20120527.py
Totestra-20120527.diff
Totestra-20120526.py
Totestra-20120526.diff
Totestra-20120524.py
Totestra-20120524.diff
Totestra-20120523.py
Totestra-20120523.diff
Totestra-20120522.py
Totestra-20120522.diff
Totestra-20120521.py
Totestra-20120521.diff
Totestra-20120519.py
Totestra-20120519.diff
Totestra-20120512.py
Totestra-20120512.diff
Totestra-20120505.py
Totestra-20120505.diff
ServiceTag.txt
ServiceTag.jpg
service.tag.decode.python
qTotestraHUGE.py
qTotestraHUGE.diff
BigCoast.py
BigCoast.diff