Support this website or
listen to my music
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
While I do not plan up updating Totestra at this time, there are some known
- 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.
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
- 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
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.
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
/Documents/My Games/Sid Meier's Civilization 4
Complete/PublicMaps or somewhere similar.
For support with Totestra.py, please first read the
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.
Please note that while Cephalo has given me permission to make
my fork Totestra.py available, he is still the copyright owner of this
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
- 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