In addition to random maps, it's possible to create custom maps. The only thing you need is a heightmap in form of a greyscale image. In an accompanying map.lua
file you can specify the height range of your heightmap and it's possible to add towns and industries.
Each map has its own separate folder and there is a specific directory for custom maps. The structure looks as follows:
Transport Fever\ ... maps\ test_map01\ heightmap.png map.lua test_map02\ ... ... ...
The heightmap used to create a custom map is represented by a greyscale image. Each pixels brightness represents a height value. The range of these values can be set in the accompanying maps.lua
file.
Restrictions for the greyscale image:
The width and heigth of the image should be multiples of 256 plus one and are limited to be between 257 and 16385.
The total number of pixels should be at most 16 millions, for example 4097 x 4097
or 2049 x 8193
(note 256 x 16 + 1 = 4097
or 256 x 32 + 1 = 8193
).
Greyscale image heightmaps can be found on the internet or created with standard image editing tools (Photoshop, Gimp, etc.).
Every custom map needs an accompanying maps.lua
file, where you at least need to specify a name. Otherwise, it will not show up in the “Create New Game” dialog. It's also highly recommended to define the range of the height values represented by the heightmap.
A typical map.lua
file:
function data() return { name = "test_map01", -- (1) range = { 10.0, 510.0 }, -- (2) seed = "test", -- (3) (optional) startDate = { year = 1950, month = 1, day = 1 }, -- (4) (optional) towns = { -- (5) (optional) { pos = { -800.0, 150.0 }, name = "Schaffhausen", sizeFactor = 1.0 }, ... }, industries = { -- (6) (optional) { pos = { -1500.0, 1600.0 }, fileName = "industry/farm.con" }, ... } } end