Map Generator

From TI3 PBF Wiki
Jump to: navigation, search

This is a simple python program written by Sunchaser that creates a preset galaxy. It is based on the algorithm for asymmetric setup.


Current version

Windows 7 binary (might work on older Windows versions): ti3map_v1.2.1.rar

Source Code (requires python 2.6, numpy 1.6.1 and matplotlib 1.1.0, other version might work as well): ti3map_v1.2.1.tar.gz


Starting the program

Using the Windows binary:

Double-click ti3map.exe, a command prompt should open (and not close immediately)

Using the source code (in case you try this, you will probably know enough about using python on your OS):

Open a UNIX shell, command prompt or the like
Change to the directory you expanded it to
Enter "python"

Creating a new map/Loading an old one

You should see this:

Choose option:
(n)ew map
(l)oad saved map
(n/l, default: n)

You can enter "n" and press ENTER to make a new map or enter "l" and press ENTER to load a previously saved map.


The settings for the map can be modified to your liking.

Output: "Map" or "Hands". The latter does not create a map but uses the settings to create balanced hands of map tiles for star-by-star galaxy setup.

Number of Rings: 3 or 4

Players: 6 or 8 (No other number of players is supported so far.)

Tile distribution: "Random", "Even" or "Even System Tiles"

Random: Tiles are distributed completely randomly.
Even: Tiles are distributed to six piles in a way that the system values are evenly spread.
Even System Types: Same as "Even" but number a systems of one type is fixed per pile.

HS distribution: "Random" or "Corners".

Random: An HS is shuffled into each pile and distributed randomly.
Corners: HSs are place in the corners as in RAW.

Systems: State three numbers for regular systems, special systems, and empty systems that are used for making the map. If the numbers add up to more than 30 (54 in 4-ring galaxies), tiles in excess of that number will be removed before trying to build the map. If the numbers add up to less than 30 (54), a warning is returned and continuing without correction will cause the program to crash.

Systems per Pile: Used for "Even System Types". Like "Systems" but stating the numbers of system types per pile. If the numbers don't add up to 5, a Warning will be returned.

Planet values: "res/inf" or "high/low"

res/inf: Multipliers for resources and influence of each planet.
high/low: Multipliers for the higher and the lower value of each planet.

Tech Specialty value: Supply a value for a tech specialty to indicate whether resources or influence are the higher value. If a planet has equal resources and influence, the first number is used.

Multiple Planets: "flat" or "per planet 2+".

flat: Add flat value if system contains more than one planet.
per planet 2+: Add value for each planet in excess of one.

(Note that these values can be set to any value including negative ones.)

Max. Dispersion: Limit for the dispersion of system values between the piles.

Number of tries: How often the program should shuffle the tiles until "Max. Dispersion" is increased.

Dispersion Increment: Value by which "Max. Dispersion" is increased after too many failed realizations.

Modifying the map

Either way, now you will be able to modify the map. A preview will be available in the folder "maps", in the form of a text file ending on ".map.txt". On Windows, try editing the file in a text editor like Notepad++ (it will prompt you to reload the file when it changes). The Windows Notepad application does not have that option, so you will have to close and reopen the file. When using the source code, a plot of the map will be saved as a pdf file as well. This option caused some complications when compiling and was therefore disabled for the binary.


  • Swap two systems by entering a pair of coordinates, e.g. "1,2 2,2", and pressing ENTER. Note that there must be no space after the commas.
  • Insert/Remove a Wormhole by entering one of the letter A, B or C and the coordinates of the desire system, e.g. "A 1,1".
  • Save by entering "s".
  • Save under a different file name by entering "a".
  • Quit by entering "q".