Using Teragon
A21 Guide by Riamus
Teragon is an app developed by Pille to generate maps for use in 7 Days to Die. As of v0.44.3, much of the text of this documentation is now in Teragon itself. You can still use this documentation to see examples and comparisons of different values in parameters.
This will not cover every command and some of these may change based on the version of Teragon you are using. This was written using testing versions 0.39.0 through 0.44.3.
A21 RWG Features not Currently Available 7
Preview Updates during River Generation 18
Export High Resolution Preview / Export Preview 18
Available Commands and their Properties 20
Add Height Map (Or Subtract Height Map) 45
Filter Logistic Square Mask 48
Create Environmental Biome Map 56
Create Environmental Region Map 97
Read/Import POI Property List Introduction 99
Read/Import Town Property List Introduction 104
Create Independent Player Spawn 191
Export Additional World Data 228
Rivers Flowing Through Lakes 237
Alternative River Generation 239
Snowy Mountaintops on a Noise Biome Map 241
Using Random in Command Parameters 241
Using Math in Command Parameters 241
Here are a few things to note when using Teragon unrelated to specific settings:
As A21 is just newly released, Teragon is working to become fully compatible with it. At this time, there are certain A21 features that are not implemented or only partially implemented. This list will help you to know what isn't yet available.
You will get this initial setup screen when loading Teragon for the first time. You can change the values in here later by going to the Tools menu and selecting Initial Setup. These values can be used within Teragon's presets so you can share a preset with others and not have them need to adjust their paths when loading your preset. Make sure that you have these paths set correctly. It is recommended that you use the tags (variables) explained below when sharing your preset so others don’t need to change paths when loading your preset. Update any existing presets to use these tags. Don't use the tags in the Initial Setup screen. They are for the Basic and Expert tabs only. The Initial Setup screen should have the actual paths.
Game is the name of the game and should just be left alone.
Game Version is the version of the game you're using. This should be changed whenever you update the game to a new version. To use this saved value in a preset, use [gamepath]. For example, the Game Directory field on the Basic tab should be set to [gamepath] so that the path set here on each person's setup will be used instead of the path from the person who made the preset. This no longer uses the location from the registry unless no path is set up from Initial Setup.
AppData is the path to your AppData folder. This can usually be left at the default value. To use this in a preset, use [appdata].
User Data is the path to your User Data folder. This is the folder where your saved game, generated worlds, and mods folders will be located. To use this in a preset, use [userdata]. It is recommended that you use [userdata]\Mods\Modname for any Add Source Path commands, where Modname is the name of the specific mod's folder. For Import POI Property List commands and Import Town Property List commands, it is recommended that you use [userdata]\Mods\Modname\filename.txt, where Modname is the name of the specific mod's folder and filename.txt is the name of the POI Property List or Town Property List text file that you want to import. Using [userdata] will make it so the preset's paths will not need to be changed no matter where a person has their files saved on their computer. You should also use this in your Output Directory on the Basic tab: [userdata]\GeneratedWorlds .
Note that you can press F12 at any time to see a Tour of Teragon that provides information about the interface.
The following set of buttons are across the bottom of the screen.
Run will start the map generation.
Continue will continue the map generation after you have stopped generation at an interrupt.
Repeat will repeat a command after you have stopped generation at an interrupt. Note that some commands will change things if repeated and some commands will not change anything even if you repeat them as you are using the same Seed value.
Skip will skip a command after you have stopped generation at an interrupt.
Interrupt will automatically stop the map generation after the current command finishes executing, even if you did not enable the Interrupt setting on the next command. This is very useful if you realize you made a mistake, so you do not need to continue the map generation until reaching the next interrupt that is enabled.
Stop will completely stop the map generation after you have stopped generation at an interrupt. It can only be clicked after you are at an interrupt.
The following buttons are across the top of the screen. All tabs can be undocked, allowing you to resize and reposition them so you can see multiple tabs at the same time. This can also allow you to have different tabs on different monitors at the same time. To dock or undock a tab, double click where it says "(Double Click Dock/Undock)" while on the tab that you want to dock or undock.
Basic provides some basic commands in the default preset and may contain other specific commands in other presets.
Expert is where everything really happens and gives you a lot of control over your maps.
2D Preview provides a top-down preview of the map. It will update only when an Update Preview command is completed. All screenshots of maps in this documentation are from this tab.
3D Preview is currently not used. Once completed, it will provide a 3D view of your map.
Testing provides some testing commands.
Help Center provides a list of helpful links. You can find links to tutorial videos by Tallman Brad as well as the official documentation and this documentation on that tab. A link to the Teragon Discord channel is also here.
Console is a detailed log of what is happening as you run your map generation. There is a lot of information that is displayed there and a limit to how much can be shown before older text is cut off, so you will want to watch it closely if you're trying to catch any error messages or warnings. Note that if you're trying to find details about an error, the console is where you need to look. The log file that is saved only shows the commands that are run and not the detailed information shown in the console.
Also note that if you use Interrupts, you can more easily see information if you're trying to find something specific. TIP: You can hold Ctrl and move the mouse wheel up or down to resize the text if you’re having trouble reading it.
This POI Display is located at the top left of the preview screen. You can hide it by pressing the arrow button on the left. Press it again to show it again. Hovering your mouse over a POI or clicking on a POI on the preview will display that POI in this display.
You can search for a POI by typing the POI name into the search box. Note that the name is case sensitive. You can type in any part of the name to search for it. In this screenshot, the army_barracks_01 is shown. If you were looking for this POI, you could search for "army" or "barracks" or "army_barracks_01" or something similar. However, if you search for "Army", nothing will appear. Vanilla POI are all lowercase but custom POI may have uppercase letters. All matching POI on the map will be highlighted in a light blue color. Note that you can search for parts, prefabs, and tiles.
The Match Count box will show how many results there are for your search. If you didn't search for anything, this will be empty.
The second line shows the highlighted POI's name. In this case, it is army_barracks_01.
The third line shows the coordinates of the highlighted POI in the first box and the rotation of the POI in the second box.
The last line shows the POI size.
A picture of the POI is shown on the right side. Note that if this picture is blank, you may have an invalid path to your POIs in your preset.
When you are on the map preview, you can place the mouse at a starting location, hold SHIFT, and move the mouse to an ending location to find out the distance between two points on the map. The distance line will remain on the preview even after letting go of SHIFT until you click SHIFT again for a new distance or click SHIFT to cancel.
The console tab lets you view information, warnings, and errors about what is happening in Teragon. It is recommended that you always have "Use Console" enabled so you can see information about your map generation. By checking or unchecking the 3 options of Info, Warning, and Error, you can choose what information to show in the console. This can make it easier to find warnings or errors. Note that changing these options will only affect new console text and will not remove or add older text.
You can also clear the console or copy the console to your clipboard at any time. The Filter box lets you filter the console to only show what you want by typing in what you want to see.
New in v0.44.3, there is an Options dialog that you can open from the Tools menu. This dialog will be updated with more options in future versions.
Change Font Sizes allows you to change the size of most text in Teragon. The + button will increase the font size and the - button will decrease the font size. The Reset button will reset the font size to the default value but will require restarting Teragon to apply the change. A restart is not required if using only the + and - buttons. Note that not all sections in Teragon will update the font size at the same time (pressing the + or - button will update one section and pressing it again will update another section).
Using the World Generator 1 preset, your Basic Tab will look like this. There are some things here that are important to look at before using Teragon. These include Output Directory, World, and Game Directory. See below for specific details on each of these values.
The output directory is the location where Teragon will save your worlds. This should normally be set to wherever your game's worlds are located, though you can set it to somewhere else if you want to keep your worlds separate. Depending on how you have your game installed, the location may not be what is shown here, so you should double check that it is correct. It is recommended that this be set to [userdata]\GeneratedWorlds and that you set the correct User Data path in Tools > Initial Setup.
World is the name of the world you are going to create. Be sure to change this value each time you create a new world, or you will overwrite a world you already created.
This seed is used to randomize your world. If you use the same seed and all other settings are the same, you should get the same world each time. If you change the seed, your world will be different even if you do not change any other settings. Note that various expert commands allow you to set different seeds if you don't want to use the same seed everywhere.
World Size is the size you want your map to be. Note that the time to generate a map will increase significantly for each map size larger that you use. If you are just testing different settings, using a smaller map size can let you see how things work in far less time than larger maps and you can always change to a larger map when you're ready to make a map to use in the game.
This should match the version of the game you have installed and should not need to be changed. Note that it is not automatically updated, so you will have to type in the correct version if you change your games version to something other than Alpha 20.6. It is recommended that you use [gameversion] here and only change the value in Tools > Initial Setup. However, if you are sharing your preset, you should leave the version number here that corresponds to the preset so the other people know what version it is compatible with.
This is the location where the game's .exe file is located. The default value of [gamepath] will be the location you entered for Game Directory in Tools > Initial Setup. You can hover over [gamepath] to see where it is pointing. If it isn't the correct location, change it to the correct path in Tools > Initial Setup. If it is incorrect, you will have problems with POI not appearing in your game after making a map.
Erosion will create an effect on the map as if centuries of erosion has taken place. It will greatly increase the time it takes to generate a map, so is best left turned off until after you have a map that you like. You can then enable it and generate the map again to get the erosion effect.
When enabled, this will create Rivers on your map. This can take a lot of time on larger maps, so you may want to leave it off until you have a map you like and then see what it looks like when you enable Rivers.
This will update the map preview while generating the rivers. Note that the preview takes a very long time to update, so this will add a lot of time to your map generation if enabled.
When using Environmental Biomes (this is the default and will be explained when discussing the Expert Tab), diffuse biomes will create an area between biomes where the biomes will gradually change from one to another rather than having it change instantly. This can look great, but it does have an effect in the game if driving over these transitions when weather is occurring as the weather will go on/off as you move across them.
This is the maximum number of towns/cities that will appear on the map. It is not a guarantee that you will get this many.
This is the maximum number of tiles in a town (not counting the gateway tile where a trader is located). It is not a guarantee that your towns will be this large but will prevent larger towns.
*Currently not working* This is the minimum number of tiles in a town (not counting the gateway tile where a trader is located). Towns will be at least this many tiles. For now, you can set minimum town size by changing the minimum size value in the Read or Import Town Property List for each town type you want to change. See info on that command for more details.
This is the maximum number of Wilderness (aka Region) POI that will appear on the map. These are the POI that are not inside a town.
These will export previews of your map (either high resolution or normal) that you can show to others or view yourself. Note that by default, these Exports will occur only after fully generating a map. If you stop generating a map before it is completed, nothing will be exported. Normal Preview is a JPG image and High Resolution Preview is a PNG image.
The Expert tab is where everything happens. Even if you only look at the Basic Tab, everything there is just pointing to commands in this tab. On the left side, you have all commands you can use. On the right side are all commands that are being used. If a command has a line through it, then it is disabled even though it is still on the right side. Some commands are highlighted. The three shades of gray are from top down are: Mountains, Hills, Lakes (subtracted areas that don't necessarily have to be lakes). The dark blue are water-related commands. You can adjust highlight colors by clicking on the C button at the bottom right of this image and selecting a color. The R button will remove the highlight. On the right side are up and down arrows. If you select a command on the right side, you can move it up or down the list with these buttons.
Below the commands are < and > arrows. These allow you to Add a command from the left side (>) to the right side or Remove a command from the right side (<).
On the right side is help text from this documentation that will appear when selecting a command. It will provide information right in Teragon rather than having to look in this documentation. However, it doesn't include any screenshots for examples or comparisons, so this documentation will continue to be updated and made available.
As there are a lot of commands and properties, this will be a work in progress and I'll start with commands that are more likely to be used rather than go straight down the list.
Note that all commands have checkboxes for Enabled and Interrupt and these function the same, so I'll just mention them here. If Enabled is checked, the command will be used. If you don't want the command to be used, but do not want to remove it from the command queue, you can disable it by unchecking this box. If a command is disabled, it will appear crossed out in the Command Queue.
The Interrupt option is a way to stop the map generation before this command is run. By default, Main Roads has an interrupt enabled. The value of this is that you can update your preview before running a time-intensive command like Create Main Roads or Create Side Roads and then pause (interrupt) map generation to look at the preview. If it isn't what you want, you can stop the map generation and make changes without continuing. If interrupted, you'll have the option to Continue the map generation, Skip the command that has Interrupt enabled, or Stop the map generation. If Interrupt is enabled on a command, it will appear underlined in the Command Queue.
All parameters in the commands have checkboxes for Show in Basic. If you enable one of these, the command will appear on the Basic tab. This can place commonly used commands in one place. Note that the description field will be what shows up for that parameter on the Basic tab, so should be filled in with something meaningful.
There is an arrow button on the right side in each command (to the right of the Show in Basic checkboxes). Clicking this button will hide or show the description box and the Show in Basic checkboxes to give you more room to view the rest of the information. You can see this button at the beginning of the Expert Tab section above and on the various screenshots.
Many of the parameters will show the range and number type (integer or float) that is accepted in the command. To see this, remove any value that is in the parameter.
Clear Variables
When creating worlds, Teragon generates various data such as images and lists and stores them in memory for later reuse. By using this command or by terminating the program, the occupied memory can be released. Any items that have a check next to them will be removed from memory. Items that are not checked will not be removed from memory. It is recommended that this command with all items checked is placed as the first command in all of your presets or directly after the Save Preset command.
Create Text Data
This command generates the map_info.xml information. This needs to be included in every preset. You normally do not need to edit the default text in the command.
Set Game Data
This command sets certain data related to the game and needs to be included in all presets.
Name of the Game should always be 7 Days To Die.
Game Directory is the location where the game's .exe file is located. The default value of [gamepath] will be the location you entered for Game Directory in Tools > Initial Setup. You can hover over [gamepath] to see where it is pointing. If it isn't the correct location, change it to the correct path in Tools > Initial Setup. If it is incorrect, you will have problems with POI not appearing in your game after making a map.
Game Version should match the version of the game you have installed and should not need to be changed except for new versions. Note that it is not automatically updated, so you will have to type in the correct version if you change your games version to something other than Alpha 21. It is recommended that you use [gameversion] here and only change the value in Tools > Initial Setup.
However, if you are sharing your preset, you should leave the version number here that corresponds to the preset so the other people know what version it is compatible with.
Use Vanilla POIs allows you to enable or disable the use of vanilla POIs on your map. If you do not want vanilla POIs on your map, you can disable this option.
Set World Size
This command sets the size of the map you are generating and needs to be in all presets. You can adjust the size to whatever size you want from this command. The default preset has this command enabled on the Basic tab, allowing you to change the size from that tab.
World Size is the size of the map you want to create.
Read World Size
This command can be used to set the world size based on a heightmap you plan to import. This is useful if you want to import heightmaps of different sizes and create maps based on those sizes rather than setting the map size by hand each time. NOTE: If you are using this command, you should NOT be using the Set World Size command.
File Name is the filename for the heightmap you want to use to set the world size. This would normally be dtm.raw but can be other names if your heightmaps are from sources other than previously generated 7D2D maps. This file should be in the world folder that you have set up on the Basic tab.
Define Custom Tag
This command can allow you to set up a custom tag (variable) that can be used in later commands. As it affects later commands, setting it up near the beginning of your command queue is recommended. A useful option for this is to set a tag of mods with the value pointing to your Mods folder so that all Add Source Path commands and any Import POI Property List or Import Town Property List commands that need to point to a mods folder can just point to [mods] instead of including a path. This is very useful if you want to share the preset with others who may have mods in other locations. If you do use this when sharing a preset, you can check the Basic box on the Value line and enter something like Mods path in the description field on that line so people can change their Mods path on the Basic tab.
Tag is the tag (variable) name you want to use. TIP: Even though the example in the empty field shows [tagname], do not put the []'s around the tag name. If you want a tag like [mods], you'd use mods in this field instead of [mods].
Value is the value of the variable. This can be whatever value makes sense. For example, if you use it for the location of your mods folder, you will enter a path to that folder here, but it can be anything that fits with the tag you're setting up.
TIP: You can set the value to a path to your main Mods folder and then in a command like Add Source path, you can use [mods]\ModName\ to point to a specific folder within the Mods folder. You can also use [mods]\filename.txt in an Import POI Property List or Import Town Property List command.
NOTE: Because there is already a [userdata] tag, it wouldn’t be much help to create a [mods] tag but it
works well as an example.
Copy File
This command lets you copy a file or folder from one location to another. The default preset uses it to copy Teragon POIs to your Mods folder, for example.
Source is the file or folder that you want to copy.
Destination is where you want to copy the file or folder.
Save Preset
This command lets you save your preset automatically when you click Run. This can help prevent you from losing any changes to your preset if Teragon crashes during the map generation. NOTE: This will save it to the temporary preset file that Teragon uses and will not update or change your actual preset file. If you want to save changes to your actual preset, you can select Save from the File menu or use the Ctrl-S shortcut.
Create Flat Height Map
The flat height map is the default terrain height for your map. All changes to the map height, such as adding mountains or hills will start out at this height. Note that if you are importing your own heightmap, this command is not needed and can be removed or disabled.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Elevation is the height above bedrock for the flat heightmap. Lower values will generally mean you have to dig less to reach bedrock, while higher numbers will mean you'll have to dig more to reach bedrock. There are benefits to changing this based on what you're trying to accomplish. For example, if you don't care about deep mines, but want very tall mountains, you can lower this value and mountains will be able to have extra overall height. Or, if you don't care about mountains being as tall, but want to cut very deep areas into the terrain, you can raise this value. For most maps, leaving it at default is fine.
Create Noise Height Map
This command is used multiple times in the default preset. It is used for mountains, hills, lakes, and even just to give more texture to the final terrain. In each command, it works the same way.
Height Map Name is the name of your temporary heightmap. This is a heightmap that is temporarily used to generate various heights and then is combined into your final heightmap. It will not affect your final heightmap until you use a command like Add Height Map or Subtract Height Map.
Seed is the random generation seed you want to use. The default preset uses [seed], which means it will use whatever seed you have entered on the Basic tab. You can change it to something different if you want, but keep in mind that if you change it, then changing the seed on the Basic tab will no longer affect the seed in this command. If you want to use [seed] in your own presets, you will need to have [seed] defined as a custom tag by using the Define Custom Tag command. You can then put that custom tag on the Basic tab like the default preset does so you can change the seed only on the Basic tab. You can use [random] here to get a random seed each time you run the command.
Frequency is basically how often you'll see the command used. As an example, if this was part of the mountains section, a frequency of 0.0002 would get around half the mountains as a frequency of 0.0004. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Frequency does.
Frequency 0.0005 on the Mountains Create Noise Height Map command
Frequency 0.0002 on the Mountains Create Noise Height Map command
Octaves affect the "fine" smoothness of terrain. It will be hardly noticeable within Teragon but will be noticeable in the game at ground level. Higher values will smooth terrain just a little compared to lower values. You'll have fewer sharp edges, but terrain will have mostly the same shape. It can be thought of as a very minimal blurring effect. As the effect is not easily seen within Teragon, I'm not including comparisons for this property.
Lacunarity has a significant effect on the smoothness of terrain. Lower numbers are smoother, while higher numbers are rougher. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Lacunarity does.
Lacunarity 2.0 on the Mountains Create Noise Height Map command
Lacunarity 2.9 on the Mountains Create Noise Height Map command
Gain also has a significant impact on smoothness of terrain even more so that lacunarity. Lower numbers are smoother, while higher numbers are rougher. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Gain does.
Gain 0.2 on the Mountains Create Noise Height Map command
Gain 0.4 on the Mountains Create Noise Height Map command
As a final note regarding Octaves, Lacunarity, and Gain – you can think of these along the lines of sandpaper. Octaves is your very fine sandpaper that won't take much away. Lacunarity in the medium sandpaper that will take more away. Gain is the coarse sandpaper that will take a lot away. Depending how rough or smooth you want to make the terrain, you can use a combination of these three commands to get what you're looking for.
Noise Type is a choice of a variety of noise types to use when generating the terrain. Each creates a different type of "noise," which impacts how the terrain ends up looking. However, from testing, it is not noticeable. This may be similar to Octaves, where it has an impact only on the very fine level and can only be seen in game.
Fractal Type is a choice of a variety of fractal types to use when generating the terrain. Each uses a different type of fractal. These choices have a significant impact in how the terrain looks. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Fractal Type does.
Fractal Type FBM on the Mountains Create Noise Height Map command
Fractal Type Billow on the Mountains Create Noise Height Map command
Fractal Type RegidMulti on the Mountains Create Noise Height Map command
Note that Random will just select one of these at random.
Filter Gaussian Height
Filter Gaussian Height is used to create more, or less, distinct mountains or hills (or subtract areas for lakes). If the area being affected has two high mountains and some smaller hills, the hills can be flattened without having much effect on the mountains. This lets the mountain section create mountains without also creating a lot of hills. In the hills section, it can help to flatten out the smaller hills so the hills that remain are more distinct.
Height Map Name is the name of your temporary heightmap. This is a heightmap that is temporarily used to generate various heights and then is combined into your final heightmap. It will not affect your final heightmap until you use a command like Add Height Map or Subtract Height Map.
Reference Height relates to the height of the map. 255 is the max height of a map in 7D2D. Using this value will scale the terrain based on that as a max height. If you use lower values, terrain will end up scaling based on the lower value and essentially raise terrain heights. This is hard to explain, but the comparisons give a good view of how this works. Note that most commands are disabled for this example so you can easily see what changing the value of only Width does.
Reference Height 255 on the Filter Gaussian Height command
Reference Height 100 on the Filter Gaussian Height command
Width relates to the size of the area the command is affecting. For mountains, if you were to double the width, each mountain would take up about twice the area. Using very large values, like 150000 can give you a map with one huge mountain (dependent on frequency setting and map size), while small values will give you mountains that cover small areas. This doesn't affect the number of mountains, but just the area the mountains cover. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Width does.
Width 15000 on the Filter Gaussian Height command
Width 30000 on the Filter Gaussian Height command
Add Height Map (Or Subtract Height Map)
Note that Subtract Height Map works the same way, but instead of adding to the heightmap (making terrain that is higher, like hills and mountains), it subtracts from the heightmap (making lakes and lower areas).
Here are the details about how these two commands work:
Start by having a main heightmap (by default: my height map) and create a secondary heightmap (by default: hills).
For Add... Place the secondary heightmap on top your main heightmap. If a place on the main heightmap is height 10 and the same place on the secondary heightmap (such as hills) is 20, then Add will make that place a height of 30 (10+20).
For subtract, it will subtract the height. So, if a place on the main heightmap is 50 and the same place on the secondary heightmap is 10, then Subtract will make that place a height of 40 (50- 10). Higher areas will subtract more, while lower areas will not subtract as much.
This is done across the entire heightmap.
Target Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Height Map Name is the name of your temporary heightmap. This is a heightmap that is temporarily used to generate various heights and then is combined into your final heightmap (in this case, using "Add").
Elevation of Height Map will raise or lower the lower height values. Higher values will put the ground level (and lower height values) lower, while lower values will put the ground level (and lower height values) higher. It has little effect on the higher height values. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Elevation does.
Elevation 190 on the Add Height Map command
Elevation 50 on the Add Height Map command
Filter Logistic Square Mask
This command is used to create an edge around your map, generally of water.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Steepness affects the steepness/sharpness of the slope of your terrain going into the water that is being added to the edge of the map with this command. Lower values are less steep/sharp and will give a less square shape. Note that this also affects the overall roughness of terrain on the map without changing overall terrain heights. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Steepness does.
Steepness 0.07 on the Filter Logistic Square Mask command
Steepness 0.02 on the Filter Logistic Square Mask command
Steepness 0.005 on the Filter Logistic Square Mask command
Trim Midpoint is the math used to generate the water around the map. The only part of this that you may want to consider changing is the final part that subtracts 400. This will be the average amount of water on the edge of the map (in meters). If you want less water, lower
400. If you want more water, raise it. You can set it to 0 for no water. You can also disable the command for no water, but it affects the map in other ways that you may still want as you can see by looking at the hills and mountains on those comparisons.
Create Rivers
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Seed is the random generation seed you want to use. The default preset uses [seed], which means it will use whatever seed you have entered on the Basic tab. You can change it to something different if you want, but keep in mind that if you change it, then changing the seed on the Basic tab will no longer affect the seed in this command. If you want to use [seed] in your own presets, you will need to have [seed] defined as a custom tag by using the Define Custom Tag command. You can then put that custom tag on the Basic tab like the default preset does so you can change the seed only on the Basic tab. You can use [random] here to get a random seed each time you run the command.
Elevation is the height of the river above bedrock. If you don't want rivers cut deep into the terrain, it works best to have this value at or near the value of your Flat Height Map command's elevation. It will still cut deep if it passes through hilly or mountainous terrain, but most of it will be less steep.
Branch Count is the number of branches that the river splits into. By default, it will have 1 branch for every 1k map size (8 branches in an 8k map). You can put a specific number in there or adjust the math for whatever you're looking for. For example, if you wanted to double it, you could add *2 to the end of the math (before the final square bracket). Example: [math,int,[worldsize]/1024*2] .
Smoothing affects how smooth the corners of the river are. Higher numbers or more smooth and lower numbers are more jagged. Note that changing this value can also change the path of the river. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Smoothing does.
Smoothness 1200 on the Create Rivers command
Smoothness 50 on the Create Rivers command
Update Preview will update the preview at each stage of the river generation. Note that updating the preview takes a lot of time, so updating it many times during river generation will greatly increase the time it takes.
Create Flat Water Map
The Flat Water Map determines where water is placed on your map. It does not create a water table like in real life, where future commands to subtract terrain will fill in with water. It just fills in water in terrain once and will not update the water again. Because of this, it should appear after any height map changes that you want to have water in them (rivers, subtract height map, etc.). If placed before these commands, there will be no water added to these locations even if they are deep enough. Also note that using multiple Create Flat Water Map commands will only change the height of all of the water. It will not allow you to have different water heights. There is no reason to use more than one copy of this command.
Water Map Name is the name of your final water map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Elevation is the height of the water level above bedrock. This value should be changed to get the water levels high enough to fill in any rivers or lakes you want without being so high that you're covering terrain that you don't want covered in water. For example, if you set it lower than the elevation of your rivers, your rivers will be dry.
Create Environmental Biome Map
Using the Create Environmental Biome Map will create biomes based on height. This would allow you to have snow on mountains and desert by the coast, for example. This is different from how the game's Random World Generator (RWG) works.
Biome Map Name is the name of your final biome map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Humidity Map Name is the name of your final humidity map.
Humidity Impact will shift your biome heights slightly up or down. Higher values will shift them up, while lower values will shift them down.
Seed is the random generation seed you want to use. The default preset uses [seed], which means it will use whatever seed you have entered on the Basic tab. You can change it to something different if you want, but keep in mind that if you change it, then changing the seed on the Basic tab will no longer affect the seed in this command. If you want to use [seed] in your own presets, you will need to have [seed] defined as a custom tag by using the Define Custom Tag command. You can then put that custom tag on the Basic tab like the default preset does so you can change the seed only on the Basic tab. You can use [random] here to get a random seed each time you run the command.
Diffuse Biome Transitions creates a diffuse area (a transition area) between biomes where you can have a mix of the biomes rather than a straight edge between the biomes.
Diffusion Range is the range between biomes where this diffusion exists. Higher values makes this a larger range, while lower values make a short range. 0 would be the same as turning Diffuse Biome Transitions off. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Diffusion Range does and what it looks like when Diffusion Biome Transitions is disabled.
Diffusion Range 6 on the Create Environmental Biome Map command
Diffusion Range 2 on the Create Environmental Biome Map command
Diffuse Biome Transitions Disabled on the Create Environmental Biome Map command
Max Heights along with Biome dropdown menus, allow you to set the heights that biomes will appear. These are max heights, so the first biome will appear from height 0 up until the max height set for that biome. The second biome will appear from the first biome's max height up until the max height of the second biome. Repeat for each biome. You can duplicate biomes if you don't want all 5 biomes or if you want the same biome at different heights. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Max Height and Biome dropdown menus do.
Max Height settings as shown in the image of the Create Environmental Biome Map settings
Alternate Map Height settings, showing a change of biome positions and heights
Create Noise Biome Map
Noise biomes are what you are probably used to in the game. These biomes are not based on height and can appear at all heights.
Biome Map Name is the name of your final biome map.
Seed is the random generation seed you want to use. The default preset uses [seed], which means it will use whatever seed you have entered on the Basic tab. You can change it to something different if you want, but keep in mind that if you change it, then changing the seed on the Basic tab will no longer affect the seed in this command. If you want to use [seed] in your own presets, you will need to have [seed] defined as a custom tag by using the Define Custom Tag command. You can then put that custom tag on the Basic tab like the default preset does so you can change the seed only on the Basic tab. You can use [random] here to get a random seed each time you run the command.
Frequency affects how many different biome areas there are on the map. Higher frequency will have more different biome areas. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Frequency does.
Frequency 0.001 on the Create Noise Biome Map command
Frequency 0.004 on the Create Noise Biome Map command
Biome Count may not be working correctly, and I'll do some tests later before I give info on this parameter.
Noise Type offers different noise types that will affect the shape of the biomes that appear on the map. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Noise Type does. As there are many choices, I am only including a few.
Noise Type Celular on the Create Noise Biome Map command
Noise Type OpenSimplex2 on the Create Noise Biome Map command
Noise Type Perlin on the Create Noise Biome Map command
Fractal Type offers different fractal types to use for generating biomes. Similar to Noise Type, there are many to choose from, so only a few comparisons will be given. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Fractal Type does.
Fractal Type DomainWarpIndependent on the Create Noise Biome Map command
Fractal Type FBm on the Create Noise Biome Map command
Fractal Type Ping Pong on the Create Noise Biome Map command
Fractal Gain seems to affect the smoothness of the edges of a biome. Higher values are more jagged, while lower values are smoother. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Fractal Gain does.
Fractal Gain 0.6 on the Create Noise Biome Map command
Fractal Gain 0.3 on the Create Noise Biome Map command
Fractal Lacunarity also affects the smoothness of the edges of the biomes. It can break up the edges some, causing an effect somewhat similar to the Diffusion effect found in the Create Environmental Biome Map command, though not as much. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Fractal Lacunarity does.
Fractal Lacunarity 2.0 on the Create Noise Biome Map command
Fractal Lacunarity 2.9 on the Create Noise Biome Map command
Fractal Octaves also affects smoothness of the edges of biomes, but at to a lesser amount than some of the other parameters. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Fractal Octaves does.
Fractal Octaves 5 on the Create Noise Biome Map command
Fractal Octaves 20 on the Create Noise Biome Map command
Fractal Ping Pong Strength has no apparent effect on some of the Fractal Types but does impact the Ping Pong Fractal Type. It changes what biomes are in a given area and changes the shapes of the biomes. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Fractal Ping Pong Strength does. Note that these use Ping Pong as the Fractal Type.
Fractal Ping Pong Strength 2 on the Create Noise Biome Map command
Fractal Ping Pong Strength 5 on the Create Noise Biome Map command
Cellular Distance Function has a minimal effect on the shapes of the biomes. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Cellular Distance Function does.
Cellular Distance Function Euclidean on the Create Noise Biome Map command
Cellular Distance Function Hybrid on the Create Noise Biome Map command
Cellular Distance Function Manhattan on the Create Noise Biome Map command
Cellular Distance Function EuclideanSq on the Create Noise Biome Map command
Cellular Return Type affects the shape of biomes and what biomes are in different locations. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Cellular Return Type does.
Cellular Return Type Distance2 on the Create Noise Biome Map command
Cellular Return Type Distance2 on the Create Noise Biome Map command
Cellular Jitter also affects the shape of biomes and what biomes are in different locations. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Cellular Jitter does.
Cellular Jitter 1.0 on the Create Noise Biome Map command
Cellular Jitter 2.0 on the Create Noise Biome Map command
Domain Warp Type also affects the shape of biomes and what biomes are in different locations. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Domain Warp Type does.
Domain Warp Type OpenSimplex2 on the Create Noise Biome Map command
Domain Warp Type BasicGrid on the Create Noise Biome Map command
Domain Warp Type OpenSimplex2Reduced on the Create Noise Biome Map command
Domain Warp Amp can make the edges of biomes smoother or rougher. Higher values are rougher, while lower values are smoother. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Domain Warp Amp does.
Domain Warp Amp 2000 on the Create Noise Biome Map command
Domain Warp Amp 800 on the Create Noise Biome Map command
Domain Warp Amp 400 on the Create Noise Biome Map command
Create Single Biome Map
If you want to create a map that has only one biome, you can use this command. It will work faster than the other biome commands but only creates a single biome across the entire map.
Biome Map Name is the name of your final biome map.
Biome Type is the biome you want to have on your map.
Fill Area with Biome
This command allows you to fill an area with a specific biome. You will need to enter the coordinates where you want it to start filling and it will fill everything under that with the biome you selected. This could be used to fill a crater area with a biome that is different from what would normally be there based on your Environmental Biome or Noise Biome commands, for example.
Biome Map Name is the name of your final biome map.
Biome Type is the type of biome you want to use with the command.
Water Map Name is the name of your final water map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Offset is how high above the selected coordinates you want to start from.
Position is the coordinates for where you want to start.
Water Limiting will stop the fill when it reaches water, regardless of heights. For example, if you have a river in the fill area, it will fill one side of the river, but not the other.
Height Limiting appears to be a way to prevent the fill from going above the offset value. If enabled, it will fill downward from the elevation of your coordinates plus the offset value with the selected biome. Example: If the elevation of your coordinates is 100 and your offset is 5, then it will fill everything lower than 105 (100+5) with the selected biome. If disabled, it appears to fill everything, but this may be a misunderstanding of how the command works and needs further testing.
Fill Altitude with Biome
Similar to the Fill Area with Biome command, this command allows you to fill an area with a biome based on height. This will fill an area between 2 different heights with the selected biome and can be limited to one area of a map or the entire map. This can be used instead of Environmental and Noise Biomes if you fill all elevations by using multiple copies of this command, or it can be used after using one of those commands in order to make some changes to certain parts of the biome map.
Biome Map Name is the name of your final biome map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Biome Type is the type of biome you want to use with the command.
Min. Altitude is the lowest altitude to fill with the command.
Max. Altitude is the highest altitude to fill with the command. The heights between minimum and maximum altitudes are what will be filled with the biome.
Position A and Position B are coordinates to use to restrict what area of the map to fill. This will still fill only between the elevations entered but allows you to only fill the biome within the rectangle that the coordinates indicate. This can allow you to have some mountains with snow on them and others without if you want, for example. Note that you can easily get these by making a map first so you can get the preview and then placing your mouse on the map where you want the road to start, press Ctrl-C, click on the Position A box and press Ctrl-V (delete what's in the boxes first). Repeat for the end of the road and pasting it into Position B. Leave the default math values to fill the entire map between the elevations entered with the biome. The default math value in all four boxes is: [math,int,-[worldsize]/2]
Create Environmental Region Map
Teragon uses Regions to help place region POIs in specific locations on your map. This is not something you see in RWG maps. It allows you to place region POIs in locations like the mountains or the coast or in the water. This command will create the regions based on your map. To place region POIs in these regions, the POIs need to list the region(s) that they can be placed in the Read or Import POI Property List command. For example, if you have a boat POI, you'll probably want it to be set up for region:ocean so that it only gets placed in water. See the Read or Import POI Property List command for details on using regions.
Region Map Name is the name of your final region map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Map Name is the name of your final water map.
Create Single Region Map
Teragon uses Regions to help place region POIs in specific locations on your map. This is not something you see in RWG maps. It allows you to place region POIs in locations like the mountains or the coast or in the water. This command will create a region map that is only one region. To place region POIs in this region, the POIs need to list the region(s) that they can be placed in the Read or Import POI Property List command. For example, if you have a boat POI, you'll probably want it to be set up for region:ocean so that it only gets placed in water. See the Read or Import POI Property List command for details on using regions. NOTE: Using a Single Region Map instead of an Environmental Region Map is faster, but region POIs will be placed anywhere on that map if they are allowed within the Region Type that you select. This can cause region POIs to be placed in water, so it is usually better to use the Create Environmental Region Map command instead, even if it takes longer.
Region Map Name is the name of your final region map.
Region Type is the region you want to use for the map. Only region POIs that are set up to appear within that region type will be placed on your map.
Read/Import POI Property List Introduction
The POI Property List is a list of information about the POI you want to include on your map. It is required if you want to have POI. The format to use in the list is as follows:
For town POI (Only needed if you want to use these parameters):
POI_Name;disabled;priority:1;player_spawn:0,0,0;theme:trader;theme_duplicate_distance:800; poi_duplicate_distance:2000;max_spawn:2;tier:2
For wilderness/region POI:
POI_Name;poi_distance:49;biome:burnt,desert,snow,forest,wasteland;region:mountains;road: gravel;max_spawn:2;priority:1;player_spawn:0,0,0;theme:trader;theme_duplicate_distance:800; poi_duplicate_distance:2000;tier:2
Explanation
POI_Name is the name of the POI. It must match the filename of the POI (no file extension).
POI_distance is the minimum distance away from other POI you want this POI to be. Note that this is the distance between this POI and any other POI. See other distance parameters for themes and duplicate POI distances.
Biome is a list of biomes where wilderness/region POI can be placed. Values include burnt, desert, snow, forest, and wasteland.
Region is a list of regions where the wilderness/region POI can be placed. These regions are created through the Create Environmental Region Map and the Create Single Region Map. Values include default, ocean, coast, mountains, island, sandbank. Note that default allows for all regions. If your map does not have the regions that are listed for a POI, that POI will not be on the map. If you want the POI to always be on the map, use default here, but it will not be placed in a specific region. An example of using regions is having a ship POI placed in water by having only the ocean region listed. Note that ocean refers to all water, including lakes.
Road should affect what type of road will connect to the POI but does not seem to work yet.
Max_Spawn allows you to set a maximum number of times the POI can be on the map. As of v0.44.0, this can now be used for town POI. Be careful not to limit town POI too much or you may have empty places in your towns where no POI are left that can be placed there.
Priority allows you to set a wilderness/region POI as higher priority so it will spawn before others. Note that the POI with the least copies on the map will always be the next to spawn. This parameter is basically a tiebreaker when two or more POI are tied for the least number of copies on the map. Priority of 1 is the highest priority. If no priority is specified for a POI, it defaults to 4,294,967,296. Multiple POI can have the same priority and it will just take one of those if they are tied for the least copies on the map when trying to place the next POI.
Disabled is currently only used for town POI and allows you to prevent the POI from being placed on your map. To disable wilderness/region POI, you can leave them off the POI Property List or comment them out of the list with // in front of them. WARNING: Disabling POI in a town can cause empty prefab places on tiles or prevent a town from being created properly if no other prefab or tile is able to be placed in that location. Make sure another prefab or tile can still be placed there.
Player_Spawn, when combined with the new Create Player Spawn command, makes it so you can have a spawn point automatically generated at any POI that has this tag. It does not place a spawn point at every copy of the POI but can place one at individual POI that have this tag. The first number is X and the last number is Y, so this is your position in the POI. The middle number is height. Leave it at 0 to spawn on the ground.
Theme is available for use for all POI (including Traders). POI can be part of a theme as of A21. Traders, for example, are part of the Trader theme. This theme can be used in combination with the Theme_Duplicate_Distance parameter to keep traders (or POI that are part of the same theme) from being closer than the distance you have set. Traders in the default POI Property List have this parameter added to them but it is not necessary as the Trader XML files already list these as the Trader theme. It is there to give an example of how it's used. You can create your own themes this way, even if the theme isn't part of the POI XML files. Using this parameter will override whatever is in the POI XML files.
Theme_Duplicate_Distance is available for all POI (including Traders). When used, this will prevent the POI that this parameter is on from being placed closer than this distance from any other POI that have the same Theme (see Theme above). Other POI with this Theme are not kept this distance apart from each other unless they also have this parameter set. Note that if 2 POI in the same theme use different distances, the larger distance is used between those 2 POI. For example, if you have 3 POI in a theme – POI1, POI2, POI3 – and POI1 and POI2 use 1000 for distance and POI3 uses 2000 for distance, POI1 and POI2 can be as close as 1000 from each other but POI3 will always be at least 2000 away from any others. Using this parameter will override whatever is in the POI XML files. If not used, the values in the POI XML files will be used.
POI_Duplicate_Distance is available for all POI (including Traders). When used, this will prevent the same POI (including Trader) from being placed closer than this distance from each other.
This can be set to allow you to only have one of a given POI on your map by setting the distance larger than your map size. It can also be used to keep the same POI from being within the same area so you won't have two or more of the same POI right next to one another. This is different from Theme_Duplicate_Distance as that will keep other POI that are in the same theme from being placed nearby while this will only keep the exact same POI from being placed nearby.
Using this parameter will override whatever is in the POI XML files. If not used, the values in the POI XML files will be used. NOTE: Certain POI (such as some of the tier 5 POI) have a default value in the XML files of 10000, which means that they will usually only be placed once except possibly on a large enough map. If you want to prevent this, you'll need to add them to the POI Property List with a smaller POI_Duplicate_Distance parameter.
Tier is a new parameter in v0.44. It is used to display tier colors on the Preview. In most cases, this is not needed as the tier will be pulled from the POI XML file but if you want to override the tier, you can add it as a parameter. Valid values are currently 0 through 5. The POI will be shaded based on the tier so you can more easily tell where the high and low tier POI are located on the map.
Note that if you are using multiple mods/prefab packs, it is recommended to use multiple Import or Read POI Property List commands so you can easily disable specific ones if needed.
Read POI Property List
Read POI Property List works the same way as the Import POI Property List, but instead of having a separate POI Property List file that you import into Teragon, you have the list entered into the command itself. There is a benefit to using Read instead of Import in that you can share your preset for a map and include all the POI properties without having to also include a separate POI Property List file.
The POI Property List that you are using needs to be placed within the textbox as shown. Use the format listed above if creating your own list. Any lines that start with // are comments and are not used by Teragon. They are there only to explain things. By hiding the Description and Show in Basic checkboxes, you can see a wider view of the list.
Import POI Property List
Import POI Property List works the same way as the Read POI Property List, but instead of having the POI Property List in Teragon itself, you are importing a separate POI Property List file. There is a benefit of using Import instead of Read in that you can easily update the list by overwriting the file without having to edit your preset. If the POIs are from someone else who may update their POIs, this lets you just overwrite the file without changing your preset and it will work.
POI Property File is the path/filename of the POI Property File you want to import.
Read/Import Town Property List Introduction
The Town Property List is a list of information about the towns you want to include on your map. It is required if you want to have towns. The format to use in the list is as follows:
Town_Name;MinSize;MaxSize;center:tile_type1,tile_type2;outskirt:tile_type1,tile_type2;layout
:layout_name;extra_link:float_number;gateway:gateway_cap_name1,gateway_cap_name2 Explanation
Town_Name is the name of the town. This can be anything you like.
MinSize is the minimum size of the town (not including the gateway tile). Size is the number of tiles that make up a town.
MaxSize is the maximum size of the town (not including the gateway tile). Size is the number of tiles that make up a town.
Center is a list of tile types (districts) that are allowed in the center area of the town. The center area is defined as a tile in a town that is surrounded on all four sides by another tile. To have larger towns without an empty (hollow) center area, you need something in center. If the town will always be small (generally a MaxSize of 8 or less), you do not need a center area. The district names can be vanilla names like downtown, commercial, or industrial, or can be custom district names used by custom tiles. You can use the same districts in Center as in Outskirt if you want.
Outskirt is a list of tile types (districts) that are allowed in the outskirt area of the town. The outskirt area is defined as a tile in a town that has wilderness on at least one side of the tile. The outskirt section is required for all towns. The district names can be vanilla names like countrytown, residential, or rural, or can be custom district names used by custom tiles.
Note that if you are using custom tiles/districts, you will need to use the Read or Import POI Property List commands to provide properties for those custom tiles and the Add Source Path command to point to where those custom tiles are located.
Layout can be grid, maze_1, maze_2, or maze_3 and relates to the type of tile layouts for the town. Grid will always be straight roads in a grid layout. Note that using this can prevent certain tiles and POI from appearing in a town because some tile types aren't available when using the grid layout. The maze layouts allow a more random layout of roads throughout the town and will allow a town to have any tile that is part of the districts for that town and any POI that are on the tiles for those districts. See comparisons below of the same map seed with only changing the layout type. Note these all use Extra_Link 0.0.
Layout Grid in Town Property List. This is a fully grid-based layout. Be aware that if you use this layout, certain tiles and POI will NOT appear on your maps. With this layout, all tiles in the center of the town will be intersections and so will not include curves, T-intersections, caps, or straights for those center districts and therefore will not include the POI that only appear on those tiles. It is recommended that you use one of the other layout types for your towns. If you like the Grid layout of roads but would like to have all tiles and POI available, you can use one of the other layouts with a higher value to Extra_Link to bring it closer to a grid layout while not being entirely a grid layout. See information about Extra_Link and the other layouts for more information.
Layout Maze_1 in Town Property List. Note that you have mostly straight N/S roads with few intersections in this layout.
Layout Maze_2 in Town Property List. Note that you have a lot of curvy roads (many corners) in this layout.
Layout Maze_3 in Town Property List. Note that you a somewhat grid-like road layout with more intersections and T-intersections while not being perfectly grid-like in this layout.
Extra_Link shifts the layout more towards a grid layout. Think of it as extra links (road connections) between tiles east to west. 0.0 will be the least like Grid layout for that particular layout, while 1.0 will effectively make the layout Grid even though you use one of the Maze layouts. You can use anything from 0.0 to 1.0 for this where the higher the number, the closer it is to Grid layout. See comparisons below using the same map seed and only changing the Extra_Link and Layout values. For these, it is best to compare them to the Layout examples above of the same layout so you can see how they differ.
Extra_Link 0.5 with the Maze_1 Layout in Town Property List. Comparing this to the Maze_3 Layout with Extra_Link 0.0, you see far more intersections with 0.5, while still have a strong N/S road layout. You still see the N/S roads mostly solid from top to bottom while the E/W roads that you now have still often break up. It would be assumed that if you increase Extra_Link to a higher value, you'll have fewer E/W breaks and lowering it would have more E/W breaks.
Extra_Link 0.5 with the Maze_3 Layout in Town Property List. Comparing this to the Maze_3 Layout with Extra_Link 0.0, you see far more T-intersections and X-intersections with 0.5, while still giving you some corner, cap, and straight tiles.
If you like the Grid layout but want to be sure to get all types of tiles and therefore have a chance of all POI on your maps, using Extra_Link set to somewhere around 0.3 or 0.4 may be your best option, though feel free to experiment with others to find what you like. The Layout used will still determine the overall preference for tile placement but using Extra_Link will help you to have more of a grid layout.
**Default values for Layout and Extra_Link, if not defined, are Maze_2 and 0.2. Note that default values may not give you many Dishong or Higashi POI as you will not have many downtown intersection tiles. Raising the Extra_Link a little will help with that and you can try the other layouts as well. Different layouts and extra_link values will affect what POIs can spawn and the chance they'll spawn by determining what tiles you see more of on the map.
Note that you can set each town up with different Layout and Extra_Link values and even have towns with the same districts and sizes that have a different town_name that use different Layout and Extra_Link values so you can get randomized roads in different towns of similar size.
Gateway can be used to specify a certain gateway tile (or tiles) to use for each town type. For example, if you want oldwest_town to have a gateway tile that does not have a trader, you can specify a custom gateway tile without a trader on it. If you were to create a "town" that is an airport, you could have the gateway tile be a custom gateway tile that fits the airport theme (with or without a trader). You will need custom gateway tiles to use this and can create those yourself or use any that someone else may have created. The name is the filename of the gateway tile you want to use (without the file extension), such as "rwg_tile_gateway_cap_airport" if you have such a gateway tile available. These need to be in a location where Add Source Path or your Game Directory point to so it can be found, just like with any custom POI you use. If you do not include this parameter, it will choose from all available gateway tiles. This means that if you have multiple gateway tiles and you don't want some of them to appear on more than one town type, then all towns will need to have the gateway tiles specified so they don't choose from the tile(s) you don't want to appear in other town types. Be sure you also include the vanilla gateway tile if you want to use it.
Read Town Property List
Read Town Property List works the same way as the Import Town Property List, but instead of having a separate Town Property List file that you import into Teragon, you have the list entered into the command itself. There is a benefit to using Read instead of Import in that you can share your preset for a map and include all the Town properties without having to also include a separate Town Property List file.
The Town Property List that you are using needs to be placed within the textbox as shown. Use the format listed above if creating your own list. Any lines that start with // are comments and are not used by Teragon. They are there only to explain things. Note that if a line wraps to the next line, the // still applies. By hiding the Description and Show in Basic checkboxes, you can see a wider view of the list.
Import Town Property List
Import Town Property List works the same way as the Town POI Property List, but instead of having the Town Property List in Teragon itself, you are importing a separate Town Property List file. There is a benefit of using Import instead of Read in that you can easily update the list by overwriting the file without having to edit your preset. If the Towns are from someone else who may update their Towns, this lets you just overwrite the file without changing your preset and it will work.
Town Property File is the path/filename of the Town Property List you want to import.
Add Source Path
In order for the Read or Import POI Property List commands to work, you also need to have an Add Source Path command. The Read/Import commands just let Teragon place the POI on the map, but without an Add Source Path command, the POI will not show up in the game and you'll have odd ground formations where they should be.
POIs will look for POIs in the path when enabled. When using this command for your POIs, make sure to check the POIs box.
Directory is the path to where the POIs are located. You have the option of having this be a main folder with subfolders of POIs, Parts, RWGTiles by enabling Subdirectories checkbox. You can also have it as your main Mods folder by also enabling Subdirectories checkbox. Lastly, you can set it to the specific folder, such as POIs, and the Subdirectories checkbox can be disabled. Any will work but note that if you want to easily disable or remove a specific mod, using multiple Add Source Path commands that each point to a specific mod's folder makes this easy to accomplish.
Subdirectories will look through all subdirectories when enabled.
Create Towns
Create Towns will create a variety of towns on your map. These towns will vary in size based on your settings and available space on your map. You have additional control over towns in the Read/Import Town Property List. See those commands for additional information.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Map Name is the name of your final water map. This is optional. However, if it is not used, towns may be placed in water.
Road Map Name is the name of your final road map. This is optional and is used if you have already created roads before using the Create Towns command so that Create Towns will not place towns on top of the roads. Leave blank if you have not yet created the roads.
Mask Map Name is the name of your final mask map. This is optional. It works in conjunction with the Import Mask Map command. See that command for details.
Seed is the random generation seed you want to use. The default preset uses [seed], which means it will use whatever seed you have entered on the Basic tab. You can change it to something different if you want, but keep in mind that if you change it, then changing the seed on the Basic tab will no longer affect the seed in this command. If you want to use [seed] in your own presets, you will need to have [seed] defined as a custom tag by using the Define Custom Tag command. You can then put that custom tag on the Basic tab like the default preset does so you can change the seed only on the Basic tab. You can use [random] here to get a random seed each time you run the command.
Tile Size is the size of tiles in a town. This should be left at the default value of 150 as that is the size of tiles in the game. Changing this value can cause overlapping tiles and space between tiles, causing your towns to be messed up.
Max Town Count is the maximum number of towns that can be placed on your map. It does not guarantee you will have that many towns.
Min Town Size is the minimum size (number of tiles, not including gateway tiles) towns can be on your map. This is currently not working. You can control minimum town sizes for each individual town type by editing the minimum town size value in the Read/Import Town Property List. See those commands for more information.
Max Town Size is the maximum size (number of tiles, not including gateway tiles) towns can be on your map. This does not guarantee your towns will be this large. You can control maximum town sizes for each individual town type by editing the maximum town size value in the Read/Import Town Property List. See those commands for more information. See the comparisons below. Note that most commands are disabled for this example so you can easily see what changing the value of only Max Town Size does.
Max Town Size 20 in the Create Towns command
Max Town Size 250 in the Create Towns command
Min Town Distance is the minimum distance between towns (in tiles, so 1 distance is 1 tile or 150m). You can set this to 0 if you want to use many smaller towns to make one mega city, but you'll likely have gaps here and there by doing it this way. NOTE: Min Town Distance of less than 2 may cause terrain artifacts between towns.
Min Town Distance 5 in Create Towns command
Min Town Distance 1 in Create Towns command
Min Water Distance is the minimum distance between towns and water (in tiles, so 1 distance is 1 tile or 150m). In the example above for Min Town Distance 1, you can see how the town at the top left is next to the water. This is because Min Water Distance was set to 0.
Towns Can Spawn at the Edge of the World allows you to allow or disallow towns from being placed at the very edge of the map (for maps that do not have water surrounding them).
Only Mask Defines Where Town Can Spawn (Criteria Below Are Ignored) will ignore the four parameters following this checkbox if enabled and will only use the mask map to determine where towns can be placed. Be aware that this could place towns in awkward locations. This can be left disabled while still using the mask map if you choose.
Flatness Threshold is used to allow or disallow placing a town over an area with rough terrain. For example, if a 1m block spikes up to 10m tall in an area, a low flatness threshold will prevent placing the town over that area, while a high threshold will allow the town to be placed there. This only looks at the tallest spike of terrain. If you find that you aren't getting enough towns on very rough terrain, try raising this value. This works in combination with Elevations Deviation Threshold and you'll probably want to adjust both when making changes. See image below Elevation Deviation Threshold for example.
Elevation Deviation Threshold is calculated using the mean height of each section of 16x16 blocks within the area. The Elevation Deviation would then be the difference in height between the highest and lowest mean values. If the location Teragon wants to place a town has a difference between minimum and maximum mean height that is high and you set the threshold low, the towns can't be placed there. If you set the threshold higher, the town may be able to be placed on the steep slope. Note that placing a town on a very steep slope may make extremely steep rise going up to the town and a very steep cliff dropping down to the town, which can look bad. A value between 5 and 10 will usually give you the best results. This works in combination with Flatness Threshold and you'll probably want to adjust both when making changes. See image below for example.
Flatness Threshold and Elevation Deviation Threshold example
The image above shows how Flatness Threshold and Elevation Deviation Threshold work. The curved line represents the terrain height where you are trying to place a town. You can see that it is on a sloped area and that there is a single spike in the terrain height for some reason. Below, each flat line represents the mean height of a 16x16 block section where the town will be placed. You can see that the spike has only a small impact on the mean height of that 16x16 section. Elevation Deviation will be the total height difference between the smallest and largest mean heights. If your Elevation Deviation Threshold is lower than this value, the town cannot be placed there. If it is higher than this value, then
the town can be placed there. Flatness Threshold will determine whether the town can be placed there based on spikes in the terrain. If the value is low, that single spike may prevent the town from being placed, while a higher value will allow the town to be placed in the location. Obviously, you will not normally see a single spike like this. This is just an example to explain rough terrain – terrain that goes up and down often in an area instead of being smooth. Flatness Threshold will determine if the town can be placed based on how smooth or rough the terrain is, while Elevation Deviation Threshold will determine if the town can be placed based on overall height difference.
Min Altitude is the minimum height a town can be placed.
Max Altitude is the maximum height a town can be placed. Set this lower if you don't want a town in the mountains. Set this higher if you want towns to potentially appear in mountains.
Create Region POIs
This command will place the wilderness/region POIs on your map. Note that POIs will not be placed right next to towns, so if you set the maximum POIs very high, you'll notice an area around the towns without POI. This is normal.
Region Map Name is the name of your final region map.
Biome Map Name is the name of your final biome map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Map Name is the name of your final water map.
Seed is the random generation seed you want to use. The default preset uses [seed], which means it will use whatever seed you have entered on the Basic tab. You can change it to something different if you want, but keep in mind that if you change it, then changing the seed on the Basic tab will no longer affect the seed in this command. If you want to use [seed] in your own presets, you will need to have [seed] defined as a custom tag by using the Define Custom Tag command. You can then put that custom tag on the Basic tab like the default preset does so you can change the seed only on the Basic tab. You can use [random] here to get a random seed each time you run the command.
Total Spawn Limit is the maximum number of wilderness/region POI that can be placed on the map. This does not affect POI in towns. It does not guarantee you'll get that many POI, but only sets a maximum number for the map. See comparisons below.
Total Spawn Limit 50 in Create Region POIs command
Total Spawn Limit 1500 in Create Region POIs command
Spawn Limit Per Region allows you to set a maximum number of POI that can spawn in a given region. For example, if you don't want many mountain POI, this will allow you to limit the mountain POI to a small number while still allowing many POI in other regions. You are still limited to overall POI numbers based on the Total Spawn Limit value.
Flatness Threshold is used to allow or disallow placing a POI over an area with rough terrain. For example, if a 1m block spikes up to 10m tall in an area, a low flatness threshold will prevent placing the POI in that area, while a high threshold will allow the town to be placed there. This only looks at the tallest spike of terrain. If you find that you aren't getting enough POI on very rough terrain, try raising this value. This works in combination with Elevation Deviation Threshold and you'll probably want to adjust both when making changes. See image below Elevation Deviation Threshold for example.
Altitude Deviation Threshold is calculated using the mean height of each section of 16x16 blocks within the area. The Altitude Deviation would then be the difference in height between the highest and lowest mean values. If the location Teragon wants to place a POI has a difference between minimum and maximum mean height that is high and you set the threshold low, the POI can't be placed there. If you set the threshold higher, the POI may be able to be placed on the steep slope. Note that placing a POI on a very steep slope may make extremely steep rise going up to the POI and a very steep cliff dropping down to the POI, which can look bad. A value between 5 and 10 will usually give you the best results.
This works in combination with Flatness Threshold and you'll probably want to adjust both when making changes. See image below for example.
Flatness Threshold and Elevation Deviation Threshold example
The image above shows how Flatness Threshold and Altitude Deviation Threshold work. The curved line represents the terrain height where you are trying to place a town. You can see that it is on a sloped area and that there is a single spike in the terrain height for some reason. Below, each flat line represents the mean height of a 16x16 block section where the POI will be placed. You can see that the spike has only a small impact on the mean height of that 16x16 section. Altitude Deviation will be the total height difference between the smallest and largest mean heights. If your Altitude Deviation Threshold is lower than this value, the POI cannot be placed there. If it is higher than this value, then the POI can be placed there. Flatness Threshold will determine whether the POI can be placed there based on spikes in the terrain. If the value is low, that single spike may prevent the POI from being placed, while a higher value will allow the POI to be placed in the location. Obviously, you will not normally see a single spike like this. This is just an example to explain rough terrain – terrain that goes
up and down often in an area instead of being smooth. Flatness Threshold will determine if the POI can be placed based on how smooth or rough the terrain is (only based on the tallest spike of terrain), while Altitude Deviation Threshold will determine if the POI can be placed based on overall height difference. See comparisons below. Note the steep slope at the right side to see how this setting affects POI placement.
Altitude Deviation Threshold 8 and Flatness Threshold 8 in Create Region POIs command
Altitude Deviation Threshold 50 and Flatness Threshold 50 in Create Region POIs command
All Regions is connected to the Region Type. If enabled, you can select the region that the Create Region POIs command will use for placing POI. If you want to only place POI in mountains, you can enable this setting and select mountains and any POI placed will be placed in only the mountain regions. Unless you are trying to fine tune POI placements, this can usually be left disabled. If you do enable it, you will likely want to have multiple Create Region POIs commands so that you fill in all regions.
Create POI
Create POI is a way to place a specific custom POI in a specific location on your map. This can be useful for wilderness/region POI that you want to have more of or that you want in specific locations. Be careful not to place POI on top of other POI.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
POI Property File is the filename of the POI Property List file you are using for placing the custom POI. Once you enter a valid path and filename and click somewhere else on the screen, the list of POI from that POI Property List will appear in the box below. The screenshot shows what appears if using ZZTong's POIs.
Game Directory is the location of your game's EXE file. This should be set to [gamepath] rather than manually setting the directory.
Search POI just allows you to find a specific POI in the following list of POI. You don't have to use this field unless you want to use it to find a specific POI in the list rather than scrolling through the list. In the list that follows, you can select the POI that you want to place on the map.
Name will be the name of the POI you're going to place on the map. This will auto-populate when you click the POI in the list above.
Seed is the random generation seed you want to use. The default preset uses [seed], which means it will use whatever seed you have entered on the Basic tab. You can change it to something different if you want, but keep in mind that if you change it, then changing the seed on the Basic tab will no longer affect the seed in this command. If you want to use [seed] in your own presets, you will need to have [seed] defined as a custom tag by using the Define Custom Tag command. You can then put that custom tag on the Basic tab like the default preset does so you can change the seed only on the Basic tab. You can use [random] here to get a random seed each time you run the command. NOTE: For this command, seed is probably not going to do anything since you are placing the POI in a specific location.
Position is the X and Y coordinates where you want the center of your POI to be located. Note that you can easily get these by making a map first so you can get the preview and then placing your mouse on the map where you want the road to start, press Ctrl-C, click on the Position box and press Ctrl-V.
Rotation is the rotation of the POI. This determines which direction the POI is facing. It should be 0, 90, 180, or 270.
Vertical Offset is how high or low the POI is in relation to the ground. If you are unsure, you can open the POI's XML file in a text editor and find the Y-Offset value. This is the value you should be using.
Extra POI Size is unknown. It may be an extra border around the POI that will be the same terrain height as the POI before the terrain starts to adjust to surrounding terrain heights.
Smoothing Range is unknown. However, it is assumed that this is the range around the POI that is used for smoothing terrain around the POI. Lower values are likely to cause very steep slopes around the POI if on steep or rough terrain, while higher values will cause more gradual slopes.
Create Main Roads
This command is used to create the main roads that connect the towns together. It does not create the roads that connect to wilderness/region POI. Main roads will take a long time to complete, especially with many towns on a larger map.
Road Map Name is the name of your final road map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Map Name is the name of your final water map.
Road Network determines whether the main roads create a "complete" network or if they connect the towns one to the next to the next. A complete network is one where every town connects to every other town. Random may use either complete or incomplete for each town but may just pick one or the other and use that for all towns (untested at this time).
Incomplete: A <> B <> C <> D
Complete: A <> B, A <> C, A <> D, B <> C, B <> D, C <> D
At this time, using complete will usually result in the same or almost the same road network because the roads overlap one another, so it is probably not worth the extra time to use it.
Road Network Incomplete on the Create Main Roads command
Road Network Complete (slow) on the Create Main Roads command Max Road Count is the maximum number of roads on the map.
Max Bridge Count per Road is the maximum number of bridges you can have on a road. For main roads, a road is defined as the road from one town to the next town.
Max Water Distance per Bridge [m] is the maximum distance a bridge can span over water. This can prevent very long bridges from being on your map.
Total Max Water Distance per Road [m] is the maximum distance bridges can span over water over the course of the entire road. For main roads, a road is defined as the road from one town to the next town.
Use Land Bridges Instead of POI Bridges will use bridges made of land built up to the road instead of an actual bridge. You can use this if you're having trouble with the POI Bridges working properly or if you prefer the look of the land bridges.
Elevation of Land Bridges is the elevation of land bridges if you have land bridges enabled. Unlike regular bridges, land bridges aren't meant to be too high above water.
Allowed Deviation to Cardinal Points limits the angle a road can come in towards a bridge. Acceptable values are 0.00 to 1.00. Bridges are only directly placed N/S or E/W and not at any angle. If a road is coming in toward a river at a low angle, it would need to make a sharp curve to go onto the bridge and then make a sharp curve again when exiting the bridge, which you may not like seeing. This parameter will eliminate these sharp corners by only allowing a bridge to be placed if the road coming towards the river is closer to perpendicular to the river (or other water that the bridge might cross). If you set this to 0, the road would have to be perfectly N/S or E/W when it reaches the water for a bridge to be placed. If set to 1, the road could be basically parallel to the water and make a 90-degree corner onto the bridge. Unless you have problems with the default value, it is recommended that you do not change this value.
Road Width / 2 is the width in meters of one side of a road.
Road Type determines the type of material used for the main roads.
Edge Width is the width in meters of the edge of the road.
Edge Road Type is the type of material used for the edge of the road.
Vertical Bridge Offset is the Y-Offset of the bridge POI. With Teragon bridges, this should be left at 1. If you use other bridges, you may need to adjust this depending on what offset the bridge uses.
State [%] is the condition of the road. 100 will be pristine. Anything less will start having parts that are no longer asphalt or gravel (depending on your road type) to indicate a road that is in disrepair. Lower numbers are more broken up.
Horizontal Smoothing affects how smooth the corners are, similar to Smoothing in the Create Rivers command. Higher values will provide smoother corners.
Inclination Compensation is used to level the road in a horizontal direction if one side of the road is higher than the other side of the road, such as when on the edge of a hill or mountain. Higher values will lower the higher side of the road more to help smooth the road.
Undirected Smoothing will remove bumps in the road. Higher values will make for a smoother road.
Undirected Smoothing Threshold allows undirected smoothing to automatically not be used when the path is already sufficiently smooth. This will speed up road generation over smooth areas of the map.
Water Avoidance Range is the distance roads try to avoid water except when crossing water with a bridge.
Search Simplification affects how roads are generated. Higher values will generate roads more quickly but can cause problems with where the roads end up, such as causing roads to go under the edges of towns when close to a town. The way it works is that at 0, it will generate the road using the original heightmap size; at 1 it will generate the road using a scaled down heightmap of ½ the original size; at 2 it will generate the road using a scaled down heightmap of ¼ the original size; and so on. Larger numbers improve speed of road generation, but because the heightmap being used is so much smaller, it isn't as easy to place the road as finely as at full size. 2 is the default value, but you can increase it if you want faster road generation or lower it if you want the best possible road placement (according to Teragon, anyhow). Note that the road pathing will change based on the value you use, and you may find that you like the roads better at certain values even if they perhaps aren't as accurately placed.
Create Side Roads
This command is used to create the side roads that connect the wilderness/region POI to the main roads. Note that side roads are perhaps the most time-consuming part of the map generation. If you have a lot of POI, it will take a very long time – even more than 24 hours – to complete the generation, even on a smaller map. You can get an estimate of the time it will take to complete by watching the percent completed change and noting the time difference between the changes. If it takes 30 minutes to go from 5% to 10%, then you can estimate it will take around 18*30 minutes to go the remaining 90% (540 minutes or 9 hours). The 18 comes from the 30 minutes being for a 5% change and there being another eighteen 5% changes to get from 10% to 100%. Note that this would only be an estimate and your total time may vary a lot from that number. To keep your map generation time lower, don't use too many POI or else don't use side roads if you want to have many POI. You can also limit the maximum number of side roads so there are not roads to every wilderness/region POI.
Road Map Name is the name of your final road map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Map Name is the name of your final water map.
Road Settings appears to be a placeholder at this time as the choices are either Default or Random, which suggests there are other options planned, but not yet implemented.
Max Road Count is the maximum number of roads on the map.
Max Bridge Count per Road is the maximum number of bridges you can have on a road. For side roads, a road is defined as the road from a POI to either the main road or another side road that it meets up with.
Max Water Distance per Bridge [m] is the maximum distance a bridge can span over water. This can prevent very long bridges from being on your map.
Total Max Water Distance per Road [m] is the maximum distance bridges can span over water over the course of the entire road. For side roads, a road is defined as the road from a POI to either the main road or another side road that it meets up with.
Use Land Bridges Instead of POI Bridges will use bridges made of land built up to the road instead of an actual bridge. You can use this if you're having trouble with the POI Bridges working properly or if you prefer the look of the land bridges.
Elevation of Land Bridges is the elevation of land bridges if you have land bridges enabled. Unlike regular bridges, land bridges aren't meant to be too high above water.
Allowed Deviation to Cardinal Points limits the angle a road can come in towards a bridge. Acceptable values are 0.00 to 1.00. Bridges are only directly placed N/S or E/W and not at any angle. If a road is coming in toward a river at a low angle, it would need to make a sharp curve to go onto the bridge and then make a sharp curve again when exiting the bridge, which you may not like seeing. This parameter will eliminate these sharp corners by only allowing a bridge to be placed if the road coming towards the river is closer to perpendicular to the river (or other water that the bridge might cross). If you set this to 0, the road would have to be perfectly N/S or E/W when it reaches the water for a bridge to be placed. If set to 1, the road could be basically parallel to the water and make a 90-degree corner onto the bridge. Unless you have problems with the default value, it is recommended that you do not change this value.
Road Width / 2 is the width in meters of one side of a road. Currently this is disabled and is taken from the width value of the road exits on the prefab. *Currently disabled*
Road Type determines the type of material used for the side roads. *Currently disabled*
Edge Width is the width in meters of the edge of the road. *Currently disabled*
Edge Road Type is the type of material used for the edge of the road. *Currently disabled*
Vertical Bridge Offset is the Y-Offset of the bridge POI. With Teragon bridges, this should be left at 1. If you use other bridges, you may need to adjust this depending on what offset the bridge uses. *Currently disabled*
State [%] is the condition of the road. 100 will be pristine. Anything less will start having parts that are no longer asphalt or gravel (depending on your road type) to indicate a road that is in disrepair. Lower numbers are more broken up.
Horizontal Smoothing affects how smooth the corners are, similar to Smoothing in the Create Rivers command. Higher values will provide smoother corners.
Inclination Compensation is used to level the road in a horizontal direction if one side of the road is higher than the other side of the road, such as when on the edge of a hill or mountain. Higher values will lower the higher side of the road more to help smooth the road.
Undirected Smoothing will remove bumps in the road. Higher values will make for a smoother road.
Undirected Smoothing Threshold allows undirected smoothing to automatically not be used when the path is already sufficiently smooth. This will speed up road generation over smooth areas of the map.
Water Avoidance Range is the distance roads try to avoid water except when crossing water with a bridge.
Search Simplification affects how roads are generated. Higher values will generate roads more quickly but can cause problems with where the roads end up, such as causing roads to go under the edges of towns when close to a town. The way it works is that at 0, it will generate the road using the original heightmap size; at 1 it will generate the road using a scaled down heightmap of ½ the original size; at 2 it will generate the road using a scaled down heightmap of ¼ the original size; and so on. Larger numbers improve speed of road generation, but because the heightmap being used is so much smaller, it isn't as easy to place the road as finely as at full size. 2 is the default value, but you can increase it if you want faster road generation or lower it if you want the best possible road placement (according to Teragon, anyhow). Note that the road pathing will change based on the value you use, and you may find that you like the roads better at certain values even if they perhaps aren't as accurately placed.
Create Road
Create Road is a manual way to place roads between two points that you want. It can be used as your only method of creating roads or you can use it in combination with the Create Main Roads and/or Create Side Roads commands. You can make both side roads and main roads using this command. A good use for this is to avoid tons of side roads on a map that has a lot of region/wilderness POI. Instead of using the Create Side Roads command, which will create side roads to every region/wilderness POI, you can use this command to make side roads only to the general area of a group of region/wilderness POI so there's a road going to that area, but not to every POI individually.
Road Map Name is the name of your final road map.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Map Name is the name of your final water map.
Position A and Position B are the coordinates where you want the road to start and end. Note that you can easily get these by making a map first so you can get the preview and then placing your mouse on the map where you want the road to start, press Ctrl-C, click on the Position A box and press Ctrl-V. Repeat for the end of the road and pasting it into Position B.
Max Bridge Count is the maximum number of bridges that can be placed on the road you are creating.
Max Water Distance per Bridge [m] is the maximum distance a bridge can span over water. This can prevent very long bridges from being on your map.
Total Max Water Distance per Road [m] is the maximum distance bridges can span over water over the course of the entire road.
Use Land Bridges Instead of POI Bridges will use bridges made of land built up to the road instead of an actual bridge. You can use this if you're having trouble with the POI Bridges working properly or if you prefer the look of the land bridges.
Elevation of Land Bridges is the elevation of land bridges if you have land bridges enabled. Unlike regular bridges, land bridges aren't meant to be too high above water.
Allowed Deviation to Cardinal Points limits the angle a road can come in towards a bridge. Acceptable values are 0.00 to 1.00. Bridges are only directly placed N/S or E/W and not at any angle. If a road is coming in toward a river at a low angle, it would need to make a sharp curve to go onto the bridge and then make a sharp curve again when exiting the bridge, which you may not like seeing. This parameter will eliminate these sharp corners by only allowing a bridge to be placed if the road coming towards the river is closer to perpendicular to the river (or other water that the bridge might cross). If you set this to 0, the road would have to be perfectly N/S or E/W when it reaches the water for a bridge to be placed. If set to 1, the road could be basically parallel to the water and make a 90-degree corner onto the bridge. Unless you have problems with the default value, it is recommended that you do not change this value.
Road Width / 2 is the width in meters of one side of a road.
Road Type determines the type of material used for the main roads.
Edge Width is the width in meters of the edge of the road.
Edge Road Type is the type of material used for the edge of the road.
Vertical Bridge Offset is the Y-Offset of the bridge POI. With Teragon bridges, this should be left at 1. If you use other bridges, you may need to adjust this depending on what offset the bridge uses.
State [%] is the condition of the road. 100 will be pristine. Anything less will start having parts that are no longer asphalt or gravel (depending on your road type) to indicate a road that is in disrepair. Lower numbers are more broken up.
Horizontal Smoothing affects how smooth the corners are, similar to Smoothing in the Create Rivers command. Higher values will provide smoother corners.
Inclination Compensation is used to level the road in a horizontal direction if one side of the road is higher than the other side of the road, such as when on the edge of a hill or mountain. Higher values will lower the higher side of the road more to help smooth the road.
Undirected Smoothing will remove bumps in the road. Higher values will make for a smoother road.
Undirected Smoothing Threshold allows undirected smoothing to automatically not be used when the path is already sufficiently smooth. This will speed up road generation over smooth areas of the map.
Water Avoidance Range is the distance roads try to avoid water except when crossing water with a bridge.
Search Simplification affects how roads are generated. Higher values will generate roads more quickly but can cause problems with where the roads end up, such as causing roads to go under the edges of towns when close to a town. The way it works is that at 0, it will generate the road using the original heightmap size; at 1 it will generate the road using a scaled down heightmap of ½ the original size; at 2 it will generate the road using a scaled down heightmap of ¼ the original size; and so on. Larger numbers improve speed of road generation, but because the heightmap being used is so much smaller, it isn't as easy to place the road as finely as at full size. 2 is the default value, but you can increase it if you want faster road generation or lower it if you want the best possible road placement (according to Teragon, anyhow). Note that the road pathing will change based on the value you use, and you may find that you like the roads better at certain values even if they perhaps aren't as accurately placed.
Here is an example of using Create Road to place a road between two points on the map. As you can see, it will still curve around terrain between the points, but will start and end at the points selected.
Create Crater
This command can be used to create craters or make terrain that is similar to a volcano caldera. Note that this command can take a long time to complete depending on settings. Be aware that the crater will cause the terrain around it to change as well. Also note that all of the parameters work with one another and changing one too far without changing others can cause the crater to look bad. You will need to work with all parameters to get something you like. This will likely be the most challenging command to get "right." TIP: Don't worry about any odd images shown below as these are all done by only changing a single value at a time, which can lead to strange craters.
Because there are so many parameters that have significant effects on the craters, if you come up with a crater that you really like the looks of, please consider sharing a screenshot of the crater and the settings you used in Discord or the 7D2D forum so others can use those settings if they like them.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Position is the location where you want to place the center of the crater. Note that you can easily get the coordinates by making a map first so you can get the preview and then placing your mouse on the map where you want the road to start, press Ctrl-C, click on the Position box and press Ctrl-V.
Absolute Stamp Size is the size of the outer radius of the crater. Note that too small and it will look weird as shown in the third comparison below.
Absolute Stamp Size 512 in the Create Crater command
Absolute Stamp Size 1024 in the Create Crater command
Absolute Stamp Size 256 in the Create Crater command
Crater Scaling is the overall scaling of the crater. Smaller numbers will give you a smaller crater and larger numbers will give you a larger crater. Note that just as too small a stamp will create weird craters, raising this too high will do the same. You can use a combination of the two to avoid that, though.
Raising both by an equal percent should maintain the same general shape while still increasing the size, for example. See the third and fourth comparison to see the difference when adjusting both values together and then compare the first and fourth to see that the same general look is there if you adjust Crater Scaling and Absolute Stamp Size in equal percentages (that fourth one was 2x original on both).
Crater Scaling 110.0 in the Create Crater command
Crater Scaling 55.0 in the Create Crater command
Crater Scaling 220.0 and Absolute Stamp Size 512 in the Create Crater command
Crater Scaling 220.0 and Absolute Stamp Size 1024 in the Create Crater command. (Larger area shown because the crater is twice the size).
Relative Crater Edge Height controls the slope of the outer edge of the crater. A smaller value will create a steeper slope go up to the crater and a larger value will create a more gradual slope.
Relative Crater Edge Height 1.2 in the Create Crater command
Relative Crater Edge Height 0.6 in the Create Crater command
Relative Crater Edge Height 2.4 in the Create Crater command
Relative Crater Bottom Height affects the overall depth of the crater. A larger number will create a deeper crater and a smaller number will create a more shallow crater. **Note that because these are negative by default, "larger" is -0.6 and "smaller" is -1.2 or -2.4.
Relative Crater Bottom Height -1.2 in the Create Crater command
Relative Crater Bottom Height -0.6 in the Create Crater command
Relative Crater Bottom Height -2.4 in the Create Crater command
Bottom to Edge Height Difference affects the difference in height between the bottom of the crater and the top of the crater's highest edge, essentially lowering or raising the height of the upper edge of the crater above the surrounding terrain. A smaller number will have a lower height difference, while a larger number will have a larger height difference.
Bottom to Edge Height Difference 2.8 in the Create Crater command
Bottom to Edge Height Difference 1.4 in the Create Crater command
Bottom to Edge Height Difference 5.6 in the Create Crater command
Relative Inner Radius has multiple effects on the crater. A larger value will make the crater deeper compared to surrounding terrain while also lowering the height of the upper edge from the surrounding terrain. A smaller value will make the upper edge higher above the surrounding terrain while making the crater less deep. Although not entirely accurate, you can think of it as taking the entire crater and either raising it or lowering it in comparison to the surrounding terrain (larger values lower it and smaller values raise it).
Relative Inner Radius 5.0 in the Create Crater command
Relative Inner Radius 2.5 in the Create Crater command
Relative Inner Radius 10.0 in the Create Crater command
Crater Inner Steepness changes how steep the outer and inner slopes are in the crater. Smaller values will make the slopes less steep. This will also tend to lower the height of the upper edge of the crater. Larger values will make the slopes more steep and raise the height of the upper edge of the crater.
Crater Inner Steepness 0.3 in the Create Crater command
Crater Inner Steepness 0.1 in the Create Crater command
Crater Inner Steepness 0.5 in the Create Crater command
Indistinctness is unknown. It has a slight effect on the crater, but it is very minimal. It appears that higher numbers will very slightly smooth out the inner slopes so they aren't as rough, but that may not be correct.
Indistinctness 10.0 in the Create Crater command
Indistinctness 5.0 in the Create Crater command
Indistinctness 15.0 in the Create Crater command
Relative Transition Radius affects the look of the transition from surrounding terrain to the crater. It is the radius at which the transition occurs. Higher values will have a larger transition area. This will also affect the depth of the crater and the height of the upper edge of the crater, where lower numbers will be shallower and with less height at the upper edge.
Relative Transition Radius 0.6 in the Create Crater command
Relative Transition Radius 0.3 in the Create Crater command
Relative Transition Radius 1.2 in the Create Crater command
Transition Strength affects how steep the transition is, both inside the crater and on the outside.
Transition Strength 0.04 in the Create Crater command
Transition Strength 0.02 in the Create Crater command
Transition Strength 0.08 in the Create Crater command
Gaussian Blurring provides a slight blurring effect on the crater, like how the Filter Gaussian Blur command works on the entire map. Higher numbers create more blur (more smoothing).
Gaussian Blurring 0.5 in the Create Crater command
Gaussian Blurring 2.0 in the Create Crater command
Erosion Iterations determines how many rounds of erosion are used on the crater. Higher values mean more erosion has taken place. Note that this plays a significant role in how long the Create Crater command takes to complete. More iterations will create a more rippled look and will increase the time to complete this command. This also has a noticeable effect on the surrounding terrain.
Erosion Iterations 1000000 in the Create Crater command
Erosion Iterations 100000 in the Create Crater command
Erosion Iterations 10000000 in the Create Crater command
Flood Area
This command allows you to fill a depression with water. For example, if you have a crater like area and use this command, you can fill the crater with water, even if the bottom of the crater is higher than the elevation in your Create Flat Water Map command. Alternatively, you can also "flood" the depression with soil if you did not want a lower area where Teragon placed one. Make sure to place this before you create the Region Map or POI may be placed in the water.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Map Name is the name of your final water map.
Material is what you want to flood the area with – either Water, Soil, or Air (or Random of the three). Water will fill the low area with water and soil will fill the low area with soil and air will fill the area with are (good for removing water from an area).
Offset is how far above the position you choose that you want the water or soil to fill. It will always fill everything lower than the position you choose. For example, if you wanted to fill a crater with water, you can set your position on the bottom of the crater and put offset 20 and you will have 20m of water above the bottom of the crater. Or you can click part way up the side of the crater and not use any offset and it will fill the crater from the bottom up to the position you chose on the side of the crater without going any higher.
Position is the location you want to start flooding. This position, combined with the offset, will determine how what area is flooded and how high the flooding goes. Be aware that flooding an area that is not surrounding by higher terrain around it will flood everything lower than where you select. So, unless you want to have most of your lower map covered in water, only use this command in areas that are surrounded by higher terrain. Note that you can easily get the coordinates by making a map first so you can get the preview and then placing your mouse on the map where you want the road to start, press Ctrl-C, click on the Position box and press Ctrl-V.
Depression in the terrain before using Flood Area.
Depression in the terrain after using Flood Area with Offset 30
Depression in the terrain after using Flood Area with Offset 60
Notice that the water filled only this depression and did not fill the area to the top left that is the same elevation as what was filled. If using Create Flat Water Map, the water would fill all areas of the map equally.
And, as you can see in the two flooded examples, the higher offset fills more of the depression (60m instead of 30m).
Invert Height Map
This command will invert your heightmap. Low parts of your heightmap will become high and high parts will become low. It will change any height 0 to height 255 and height 255 to height 0. All values in between will be reversed in the same way. This can allow you to turn mountains into lakes and lakes into mountains, if your water level is set correctly.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Example map before inverting the Height Map with the Invert Height Map command
Example map after inverting the Height Map with the Invert Height Map command
Update Preview
Update Preview will show a preview of your map. You can place this after you have a heightmap created and as many times as you want it to show the changes to the map during the map generation. Note that generating the preview does take a little bit of time.
Coordinate System will show the coordinates where your mouse is when hovering over the preview.
Contour Lines will show contour lines to help you to see where mountains and hills are located.
POIs will show where POIs are located. Turning this off doesn't remove the POIs.
Show POI Names will show the names of POIs on each POI on the map. *There is a bug that will cause Teragon to crash if there are too many POIs on the map and this is enabled, though a fix has been put in place to help prevent that.. Even when disabled, you can still see POI Names by hovering over the POI or selecting it.
POI Colors will color the POI based on their tier from white (tier 0) to black (tier 5).
Show Statistics will show statistical information on the left side of the preview. This can be useful if you want to share the map with others and include a preview of it with information about the map.
The Statistics panel includes:
Biome Map Name is the name of your final biome map.
Debug Map Name is the name of your final debug map.
This map is normally not used.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Region Map Name is the name of your final region map. This is not needed for the preview and can be left blank.
Road Map Name is the name of your final road map. Water Map Name is the name of your final water map. Zone Map Name is the name of your final zone map.
Player Spawn List Name is the name of your player spawn list.
Create Independent Player Spawn
This command will let you create your spawn points for the map. Alternatively, you can use Create Player Spawn to create a random set of spawn points.
List Name is the name of your spawn point list.
Clear Spawn List will clear any previously created spawn points.
List of Player Spawn Points (one position per line) is a list of spawn points that can be used on the map. Each spawn point will consist of 3 numbers. The first is the X value (negative is West and positive is East). The second is the height value and can be left at 0 as you will always spawn on the ground. The third is the Y value (negative is South and positive is North). 0 0 0 will be the center of the map. You can have any number of spawn points and the game will randomly pick one when spawning a player. It is a good idea to set these after you have a map generated so that you can get points that are in good locations – not in water or on top of a mountain, and normally you'd want them relatively close to a town.
Create Player Spawn
This is an alternative to the Create Independent Player Spawn command. That command will have a list of spawn points that you manually enter. With this command, you can have Teragon generate spawn points randomly (they'll still be static in the game). There are some parameters to help generate these spawn points in locations that would make sense, but there is still no guarantee you'll get them where you want. If you want more control over the locations, then stick to the Create Independent Player Spawn command.
List Name is the name of your spawn point list.
Biome Map Name is the name of your final biome map. It is optional, but required if you want to limit spawns to certain biomes.
Road Map Name is the name of your final road map. It is optional, but required if you want to enable Spawn on Roads.
Seed is the random generation seed you want to use. The default preset uses [seed], which means it will use whatever seed you have entered on the Basic tab. You can change it to something different if you want, but keep in mind that if you change it, then changing the seed on the Basic tab will no longer affect the seed in this command. If you want to use [seed] in your own presets, you will need to have [seed] defined as a custom tag by using the Define Custom Tag command. You can then put that custom tag on the Basic tab like the default preset does so you can change the seed only on the Basic tab. You can use [random] here to get a random seed each time you run the command.
Clear Spawn List can be used to clear any spawn list you already have. Normally this can be left disabled unless you are using multiple Spawn List commands and want to clear previous spawns (or you are using this in a loop/repeat).
Completely Random Spawn Count is the number of spawn points you want to have placed completely randomly (not necessarily on roads are at POI).
Road Spawn Count is the number of spawn points you want to have placed on roads.
POI Spawn Count is the number of spawn points you want to have placed at POI that have the Player_Spawn tag in the Import or Read POI Property List command (see the introduction to those commands above for more information).
Distance to Towns [m] is the distance away from towns to have spawn points. *Not yet available*
Regions allow you to set what region(s) the spawn points can appear in. If you don't want to have spawn points in the wasteland, for example, you can enable all biomes except the wasteland.
Filter Gaussian Blur
This command can be useful for smoothing the terrain. It can be especially useful with imported heightmaps that are very rough. Note that this is not meant to flatten and area, but to smooth rough spots. However, with a high enough Sigma, that may be possible.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Sigma affects how much blur to use. A higher number will smooth the terrain more than a lower number. The default of 0.5 works well for normal use, but I've used 2.0 for some imported heightmaps (such as the one used for the map shown on the first page of this documentation) and it worked well.
Range x/y is the area of the map you want to use the blur on. If left blank, the command will be used on the entire map. You can set a range if you want to smooth a specific area.
Seamless Borders will not do anything if you are using this on the entire map, but if you're using this on only a section of the map, this will allow the edges of that blurred section to smooth into the terrain rather than having noticeable edges around the blurred section.
Filter Eroding Rain
This command will simulate changes to terrain caused by erosion over time due to rain. It does not simulate erosion due to wind or rivers. I may redo these without POI/towns for better viewing later.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Filter Eroding Rain disabled
Min. Height is the minimum height to have the erosion effect. The effect can still be seen at a lower height, but the effect will start getting less noticeable below this value. If you look at the comparisons, you can see that the erosion effect is far more noticeable when Min. Height is lower. Also note that the time it takes for the command to run is more significant with a lower value. In the comparison set with Min Height set to 150, it may look at first glance like the original image above with Filter Eroding Rain disabled, but there is a very small amount of erosion taking place on the left side of the mountain.
Min Height 60 in Filter Eroding Rain (ignore the addition of a town)
Min Height 150 in Filter Eroding Rain
Max. Height is the maximum height to have the erosion effect. The erosion effects can still be seen above this height (if it's not at the maximum height of 255) but it appears to have more of an effect at lower values.
Max. Height 255 in Filter Eroding Rain
Max Height 150 in Filter Eroding Rain
Iteration Count is how many iterations of erosion to run. A higher iteration count is like having a longer time period for the erosion to occur and will create more significant erosion effects. The default value is an equation that sets the value at 200,000 times the square root of the map size. An 8k map will have 200,000 * 90.51 or about 18.1 million iterations. A 16k map would have 25.6 million iterations and a 4k map would have 12.8 million iterations. You can also just set a specific value. It would be good to have this value at least 10 million. Keep in mind that this value will have a significant impact on the time it takes to complete the command. These can be hard to compare in the preview screenshots but would be more noticeable in game.
Max Iterations at default value: 200,000 * Sqrt(WorldSize)
Max Iterations at half default value: 200,000 * Sqrt(WorldSize) / 2
Max Iterations at double default value: 200,000 * Sqrt(WorldSize) * 2 Mode is unknown.
Filter Enhance Shoreline
This command is new in v0.44 and allows you to create nicer looking shorelines. It can help to prevent shorelines from being too flat, causing a lot of very shallow water everywhere. The land part will be raised slightly, and the water part will be lowered slightly. Depending on the map and the values used, there may still be a lot of shallow water in places. Also, your map around the water will change so this command should be used before adding any towns or POIs.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Water Map Name is the name of your final water map.
Shore Width [m] is the width of the shoreline (both land and water) that will be affected by the command. See the example image below.
Explanation of Shore Width and how the Filter Enhance Shoreline command works
Shore Height [m] is the height difference between the lowered terrain and raised terrain around the shore.
Shore Exponent is the exponent that is used to determine how steep the slope will be at the shoreline, both above and below the water. See the side view examples below to see how it works.
Side view of terrain underwater for Shore Exponent of 1.0.
Side view of terrain underwater for Shore Exponent of 1.5.
Side view of terrain underwater for Shore Exponent of 2.0.
Preserve Min/Max Height will preserve the global minimum and maximum height of the heightmap. If unchecked, you can set the Min and Max values below. This should normally be left checked.
Min. Height [m] is the minimum height to use for the global heightmap. This doesn't affect anything if Preserve Min/Max Height is checked. If the terrain goes below this value, it will be compressed to fit within this minimum value.
Max. Height [m] is the maximum height to use for the global heightmap. This doesn't affect anything if Preserve Min/Max Height is checked. If the terrain goes over this value, it will be compressed to fit within this maximum value.
Example map without using the Filter Enhance Shoreline command
Shore Exponent 1.0 in the Filter Enhance Shoreline command
Shore Exponent 2.0 in the Filter Enhance Shoreline command
Create Edge Zone Map
This command will create a radiation zone around your map.
Zone Map Name is the name of your final zone map.
Zone Type is what kind of zone you want around your map. You can choose from no radiation (NoZone) or radiation (RadiationZone) or Random, which will choose one or the other randomly when creating your map.
Style determines the shape of the radiation zone. It can be either Simple or Curved. Simple will be a perfectly straight radiation zone around your map. Curved will create a radiation zone that varies in width around your map.
Average Width is the average width of the radiation zone around the map. If the Zone Type is Simple, the entire zone will be this wide. If the Zone Type is Curved, the average width of the zone will be this value even though it will sometimes be wider and sometimes narrower.
Scale Height Map
This command will scale your height map so that the minimum and maximum terrain heights are within a certain range. This allows you to make sure that the terrain is high enough to dig down into or to have POIs that have underground areas to fit into the ground and also allows you to have room on top of mountains where trees and POI can be placed. These values need to be between 0 and 255.
NOTE: If your map does not have both high and low areas, this command may cause your map to be either very high (if you have no high areas) or very low (if you have not low areas). For example, if your map is flat except for rivers, this command will place the flat are at the height of your max layer height value and your rivers at the height of your min layer height value.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
Min. Layer Height is the minimum height for the scaled heightmap. The default preset uses 5 for this and that will work for most maps.
Max. Layer Height is the maximum height for the scaled heightmap. The default preset uses 250 for this and that will work for most maps.
Loop START / Loop END
Loops allow you to do multiple commands more than once without having to place the commands in the Command Queue multiple times. Loop Start is used to show where the loop will start and to set up how many times to loop the commands. Loop End is used to show where the loop will end. It is necessary to have both Loop Start and Loop End in your Command Queue if using loops. Everything between these two commands will be run multiple times based on the settings in Loop Start.
Name of Loop is the name of the loop. This name should be unique if using multiple loops.
From is the number you are going to start counting from. This would normally be 1.
To is the number you are going to count to. If you want the loop to run two times and you use 1 in From, then you would use 2 in To.
Loop End only has the Enabled checkbox:
Repeat START / Repeat END
The Repeat commands are like the Loop commands but instead of repeating a specific number of times in the Loop commands, this will ask you if you want to repeat the command(s) or continue after each execution. This can allow you to repeat the command as many times as needed without setting a specific number of repetitions. When you are asked if you want to repeat or continue, you click on either the Repeat button or Continue button on the left side of Teragon. Repeat Start is used to show where the repeat section will start. Repeat End is used to show where the repeat section will end. It is necessary to have both Repeat Start and Repeat End in your Command Queue if using repeats.
Everything between these two commands can be repeated multiple times by clicking the Repeat button.
Name of Repeat is the name of the repeat. This name should be unique if using multiple repeats.
Repeat End only has the Enabled checkbox:
Display Message
If you want to display a message popup during the generation of your map, you can use this command and type in a message that you want to be displayed. The default preset uses this at the end of the map generation to pop up a message telling you that the new world has been generated so you can easily know when it is complete. It also shows a message before the Create Main Roads command so you know that the map generation has been interrupted there.
Comment
This command can be used to add a one-line comment anywhere in your Command Queue. The comment will not affect the preset in any way or display as a popup like the Display Message command. It is there just to keep notes or comments about different parts of your preset if you want to do so.
Import Commands
If you already have some files created, either through Teragon or from another source, you can import those into Teragon instead of recreating them. This can save you a lot of time. It is also a good way to use something that you like in multiple maps or even in the same map while trying other things without messing something up and losing whatever it was you like. For example, if you generated a heightmap you like, you can export it and then import that into Teragon to add things to it, like rivers, without worrying about possibly messing up and changing the heightmap and not knowing how to get it back. TIP: It is best to have the filename of anything you are importing be different from the filename that your export command uses for that item. You can also disable the export command for that item but it's easier to forget to do that than to just be in the habit of using different filenames. Otherwise you risk overwriting the file with something else and losing what you had.
Import Biome Map
If you want to manually create and/or edit your biome map and use that instead of what Teragon creates, you can use this command to import your custom biome map into Teragon. If using the command, be sure to disable all other Biome commands in your preset.
Biome Map Name is the name of your final biome map.
File Name is the name of your biome map file that you are going to use. Teragon will look for this file in your world folder. It is recommended not to use biomes.png as the filename as that will be what Teragon exports the image as and you could accidentally overwrite your image with something else.
Format File is unknown.
Rotation is the rotation of the biome map. TIP: To get the biome map to be in the same direction as the original, this should be set to 180.
Mirror Horizontally/Vertically will allow you to flip the biome map horizontally or vertically if desired. TIP: To get the biome map to be in the same direction as the original, you should Mirror Horizontally but not Vertically.
WARNING: The colors used for the biomes in your custom or edited biome map must be the exact values required. You cannot use a smudge or blur tool to make your biome map as those will change the colors. If you want diffuse biomes as Teragon does, you need to use a tool that does not adjust coloring to achieve this. You'll need individual (or multiple) pixels in the image to be the exact color as you can see if you look at one of Teragon's biome map images that has diffuse biomes enabled. Below is a table of the colors needed for each biome. Any deviation from this will result in the biomes being incorrect on your map.
Red | Green | Blue | |
Forest | 0 | 64 | 0 |
Desert | 255 | 228 | 119 |
Snowy Forest | 255 | 255 | 255 |
Wasteland | 255 | 168 | 0 |
Burnt Forest | 186 | 0 | 255 |
Import Height Map
If you have your own heightmap (or have already created one using Teragon), you can import it using the Import Height Map command. Teragon uses Grayscale 16bit PNGs for heightmaps but will convert various other formats automatically. If it doesn't successfully convert the map, it will crash Teragon later in the map generation process. By watching the console, you can see the conversion attempt and if successful. You should also check that the size listed matches the size you're using as an incorrect conversion may work but end up as the wrong size.
Note that your heightmap MUST be the exact same size as the map size you're using in Teragon. If you're making an 8k map, your heightmap must be 8192x8192 in size. Any other size will currently cause Teragon to crash later in the map generation process.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
File Name is the filename of the heightmap. The expected location of the heightmap is the World folder for the map you're creating.
Rotation is the rotation of the heightmap. TIP: To get the heightmap to be in the same direction as the original, this should be set to 90.
Mirror Horizontally/Vertically will allow you to flip the heightmap horizontally or vertically if desired. TIP: To get the heightmap to be in the same direction as the original, you should not Mirror Horizontally or Vertically.
Note that if you are importing a heightmap, then you will normally want to disable all other heightmap commands – Add Flat Height Map, Create Noise Height Map, Add Height Map, Subtract Height Map, etc. You will also normally disable the Filter Logistic Square Mask or Filter Simple Square Mask commands. You can still use these commands, but they will change the heightmap you imported.
Adjust your Create Flat Water Map's Elevation to fill in water at the level you need.
If you are looking for real world heightmaps, there are a couple of options to choose from. Search for USGS to get a variety of heightmaps, though many of the formats will not work with Teragon. You can also search for Tangram Heightmapper. It has heightmaps of the entire world that will work with Teragon. However, they are 1k in size, so you will need to resize them to match the map size you want to create before trying to import them.
TIP: A heightmap of a large area that is then made to fit on an 8k or even 16k map can make for some very difficult terrain to drive around on or place towns on. This is because you're trying to fit every hill and every mountain and every lake from a very large area, such as a country, into a small map. You'll generally have the best luck with importing a heightmap that covers about the same area as your map size covers, so if you use an 8k map, try to have a heightmap no more than 16km or 32km square in area so it doesn't have to compress down so far. Of course, this makes the imported heightmap less recognizable compared to importing a heightmap of an entire country or even the entire world, but it will tend to work better in the game. And your towns won't seem huge in comparison with the map (even a 5-tile town will look like it covers multiple countries if placed on a map of the entire world, even at 16k map size). Just be aware that zooming in really far on a heightmap from one of those sites will tend to create a heightmap that is low resolution/quality and can be very rough because of that. You can use the Filter Gaussian Blur command to help smooth them out, but it may not be quite as nice as you might want.
Import Mask Map
This command can be used to import a black and white mask to use for creating towns within a specific area of the map. In the future, this may also be available for placing other things in specific areas as well. The mask image needs to be the same dimensions as the map and saved as 8bit RGB. White is where the towns can be placed and black is where they cannot be placed. This will work in conjunction with the Create Towns command that now has a place to enter an optional mask map name. If entered, it will only place the towns within the white areas of your mask.
Mask Map Name is the name of your final mask map.
File Name is the filename of the mask map you want to import. It will look for this file in your world folder.
Rotation is the rotation of the mask map. TIP: To get the mask map to be in the same direction as the original, this should be set to 0.
Mirror Horizontally/Vertically will allow you to flip the mask map horizontally or vertically if desired. TIP: To get the mask map to be in the same direction as the original, you should Mirror Vertically but not Horizontally.
Import Player Spawn List
If you already have a player spawn list, you can import it with this command instead of creating a new player spawn list.
List Name is the name of your final player spawn list.
File Name is the filename of the player spawn list you want to import. It will look for this file in your world folder.
Import POIs
If you already have a prefabs.xml file with the POIs placed where you want them, you can import it with this command instead of creating new towns and region POI. If you enter coordinate values into the Spatial Limitation of Import section, you can import only the POI that are within the box created by the two sets of coordinates.
File Name is the filename of the POIs you want to import. It will look for this file in your world folder.
Position A / Edge A is one corner of a rectangular area that would allow importing only the POI that are within that area. Leave at 0,0 if you want to import all POI from the POI file you are importing.
Position B / Edge B is the opposite corner of a rectangular area that would allow importing only the POI that are within that area. Leave at 0,0 if you want to import all POI from the POI file you are importing.
Import Region Map
If you already have a region map generated from Teragon, you can import it with this command instead of creating a new region map.
Region Map Name is the name of your final region map.
File Name is the filename of the region map you want to import. It will look for this file in your world folder.
Rotation is the rotation of the region map. TIP: To get the region map to be in the same direction as the original, this should be set to 0.
Mirror Horizontally/Vertically will allow you to flip the region map horizontally or vertically if desired. TIP: To get the region map to be in the same direction as the original, you should not Mirror Horizontally or Vertically.
Import Road Map
If you already have a road map, you can import it with this command instead of creating a new road
map.
Road Map Name is the name of your final road map.
File Name is the filename of the road map you want to import. It will look for this file in your world folder.
Rotation is the rotation of the road map. TIP: To get the road map to be in the same direction as the original, this should be set to 180.
Mirror Horizontally/Vertically will allow you to flip the road map horizontally or vertically if desired. TIP: To get the road map to be in the same direction as the original, you should Mirror Horizontally but not Vertically.
Import Water Map
If you already have a water map, you can import it with this command instead of creating a new water map.
Water Map Name is the name of your final water map.
File Name is the filename of the water map you want to import. It will look for this file in your world folder.
Rotation is the rotation of the water map. TIP: To get the water map to be in the same direction as the original, this should be set to 180.
Mirror Horizontally/Vertically will allow you to flip the water map horizontally or vertically if desired. TIP: To get the water map to be in the same direction as the original, you should Mirror Horizontally but not Vertically.
Import Zone Map
If you already have a zone map, you can import it with this command instead of creating a new zone map.
Zone Map Name is the name of your final zone map.
File Name is the filename of the zone map you want to import. It will look for this file in your world folder.
Rotation is the rotation of the zone map. TIP: To get the zone map to be in the same direction as the original, this should be set to 0.
Mirror Horizontally/Vertically will allow you to flip the zone map horizontally or vertically if desired. TIP: To get the zone map to be in the same direction as the original, you should not Mirror Horizontally or Vertically.
Export Commands
After completing your map, you can export a variety of files. Most of these are required to use your map in the game but some are optional. Each Export command below will state if it is required or optional. These commands should all be placed at the end of your Command Queue. NOTE: If you do not export the optional files as well, you will not be able to import those files back into Teragon to make changes.
Export Additional World Data
When your map is complete, you can create the main.ttw file using this command. This is required to use your map in the game.
File Name is the filename for the additional world data. This should normally be main.ttw.
Export Biome Map
When your map is complete, you can create the biomes.png file using this command. This is required to use your map in the game.
Biome Map Name is the name of your final biome map (without extension). This should normally be biomes.
PNG will export a high-resolution PNG of your biome map if enabled. This should always be enabled.
Rotation is the rotation of the biome map. TIP: To get the biome map to be in the same direction as the original, this should be set to 180.
Mirror Horizontally/Vertically will allow you to flip the biome map horizontally or vertically if desired. TIP: To get the biome map to be in the same direction as the original, you should Mirror Horizontally but not Vertically.
Export Height Map
When your map is complete, you can export the heightmap using this command. This is required to use your map in the game.
Height Map Name is the name of your final heightmap. Note that some commands will have a temporary height map that is used and is later used to update the final heightmap name. In the default preset, all "final" map names start with "my" and all temporary map names do not.
File Name is the filename for the heightmap (without extension). This should normally be dtm.
PNG (16-bit) will export a 16-bit PNG of your heightmap if enabled. This is optional.
RAW will export a RAW of your heightmap if enabled. This should always be enabled.
Rotation is the rotation of the heightmap. TIP: To get the heightmap to be in the same direction as the original, this should be set to 270.
Mirror Horizontally/Vertically will allow you to flip the heightmap horizontally or vertically if desired. TIP: To get the heightmap to be in the same direction as the original, you should Mirror Horizontally but not Vertically.
Export Player Spawn List
When your map is complete, you can create the spawnpoints.xml file using this command. This is required to use your map in the game.
List Name is the name of your spawnpoints list that was created with either the Create Player Spawn or the Create Independent Player Spawn command.
File Name is the filename for the spawnpoints. This should normally be spawnpoints.xml.
Export POIs
When your map is complete, you can create the prefabs.xml file using this command. This is required to use your map in the game.
File Name is the filename for the POIs. This should normally be prefabs.xml.
Export Preview
When your map is complete, you can export the map preview using this command. This is optional.
File Name is the name of the file you are creating (without extension).
PNG will export a high-resolution PNG of your preview if enabled. JPG will export a lower resolution JPG of your preview if enabled. Upscaling Factor allows you to upscale your preview.
Quality is the quality of the exported image.
Export Region Map
When your map is complete, you can export the region map using this command. This is optional.
Region Map Name is the name of your final region map.
File Name is the filename for the region map (without extension).
PNG will export a high-resolution PNG of your region map if enabled. This should always be enabled.
Rotation is the rotation of the region map. TIP: To get the region map to be in the same direction as the original, this should be set to 0.
Mirror Horizontally/Vertically will allow you to flip the region map horizontally or vertically if desired. TIP: To get the region map to be in the same direction as the original, you should not Mirror Horizontally or Vertically.
Export Road Map
When your map is complete, you can create the splat3.png file using this command. This is required to use your map in the game.
Road Map Name is the name of your final road map.
File Name is the filename for the road map (without extension). This should normally be splat3. PNG will export a PNG of your road map if enabled. This should always be enabled.
Rotation is the rotation of the region map. TIP: To get the region map to be in the same direction as the original, this should be set to 180.
Mirror Horizontally/Vertically will allow you to flip the region map horizontally or vertically if desired. TIP: To get the region map to be in the same direction as the original, you should Mirror Horizontally but not Vertically.
Export Text Data
When your map is complete, you can create the map_info.xml file using this command. This is required to use your map in the game.
Data Name is the name of your text data that was created with the Create Text Data command.
File Name is the filename for the text data. This should normally be map_info.xml.
Export Water Map
When your map is complete, you can create the splat4.png file using this command. This is required to use your map in the game.
Water Map Name is the name of your final water map.
File Name is the filename for the water map (without extension). This should normally be splat4.
PNG will export a PNG of your water map if enabled. This should always be enabled.
Rotation is the rotation of the region map. TIP: To get the region map to be in the same direction as the original, this should be set to 180.
Mirror Horizontally/Vertically will allow you to flip the region map horizontally or vertically if desired. TIP: To get the region map to be in the same direction as the original, you should Mirror Horizontally but not Vertically.
Export Zone Map
When your map is complete, you can create the radiation.png file using this command. This is required to use your map in the game.
Zone Map Name is the name of your final zone map.
File Name is the filename for the zone map (without extension). This should normally be radiation.
PNG will export a PNG of your water map if enabled. This should always be enabled.
Rotation is the rotation of the region map. TIP: To get the region map to be in the same direction as the original, this should be set to 0.
Mirror Horizontally/Vertically will allow you to flip the region map horizontally or vertically if desired. TIP: To get the region map to be in the same direction as the original, you should not Mirror Horizontally or Vertically.
I am including some tips and tricks to accomplish certain things with Teragon. Some of these are noted previously in the commands themselves but are also included here for quick reference. More will be added as they become known.
Maps generated with Teragon will take a while to complete and this can vary greatly based on the settings for your map. Here are some tips when trying to find a map you like so you can save time when doing multiple map generations to get something that you want to use. These will not make your final map generate any faster and are just for when you're trying different things before generating your final map. Also remember that larger maps take much longer to generate. A 16k map will take around 4x as long as an 8k map. A map with a mega city that covers the entire map will take far longer than a map with smaller cities and more open area. A map with 1000 wilderness/region POI will take 10x the time to create side roads than a map with 100 wilderness/region POI.
Using the default preset, rivers will flow around lakes and never through them. If you would like to have your rivers flow through lakes (or at least have the possibility of doing so), it is very easy. All you need to do is move the Subtract Height Map command (only that one command and not the entire "lakes" section) down until it is after Create Rivers and before Create Flat Water Map. The reason this works is because the rivers are created before the lakes, so cannot go around the lakes. The Subtract Height Map command doesn't care about other terrain like rivers and so will cut into the terrain wherever it wants and this can occur on top of a river. By having the Create Flat Water Map after the Subtract Height Map command, it will fill those with water.
If you are interested in an island map with more realistic coastlines rather than square coastlines, change the Steepness value in Filter Logistic Square Mask to a much lower value, such as 0.005. Note that how realistic this is will be affected by your mountains and hills.
To remove water from around the edge of the map or reduce/increase the amount of water around the map, look at the Trim Midpoint parameter in the Filter Logistic Square Mask command. At the end of it is -600 by default. If you change this to -0, you'll have no water but still have the other effects of the command. You can disable the command as well, but you lose the other effects the command produces. If you want less water, lower the 600 to something else. For more water, increase it. The 600 is the number of meters of water, on average, that surrounds the map.
If you are interested in having one very large mountain on your map, you can increase the Width of the Filter Gaussian Height command in the mountains section to at least around 150000. Depending on the map size, you may need to adjust that. You will also want to reduce Frequency in the Create Noise Height Map in the mountains section to 0.0001 or lower. It would also be recommended to reduce Lacunarity and Gain in that command so the mountain slopes are smooth enough to drive on as most of your map will be the mountain.
By default, your rivers will be cut very deeply into the terrain. To avoid this, change the Elevation in the Create Rivers command to be equal or almost equal to the Elevation in the Create Flat Height Map command. Note that this will not prevent the river from cutting deeply into the terrain if it passes through higher elevations. Because the river can't change elevations, this can't be changed. If you were to increase the river's elevation to a higher number than the Flat Height Map's elevation, you won't cut as deeply in the higher terrain, but your river will disappear in the lower terrain. This may or may not be desirable.
If you want to use custom POIs, you will need to use the Read POI Property List command or Import POI Property List command and the Add Source Path command. You may also want to use the Read Town Property List command or the Import Town Property List command. See previous descriptions of these commands for help.
If you want to import your own heightmap, you will need to use the Import Height Map command. See previous description of this command for help.
Although touched on in the Create Noise Height Map, Filter Gaussian Height, and Add Height Map (Or Subtract Height Map) commands, I will give some more information about lakes here. Lakes are made in the same way as mountains and hills, but instead of using Add Height Map, you use Subtract Height Map. The third section of 3 commands that are highlighted in shades of gray in the default preset is for lakes. The Subtract section allows creating lakes or other depressions in the ground. Increasing frequency will create more and decreasing it will create fewer. Adjusting Width will make larger lakes and decreasing it will make smaller lakes. You can adjust the other parameters to get smoother terrain or rougher terrain in these subtracted sections. Note that not all subtracted sections will take out enough terrain to become lakes. A subtracted section that appears on a mountain and so will not become a lake, but will instead add more shape to the mountain, for example. After you use the Subtract Height Map command, you will then need to use the Create Flat Water Map command to place water on the map. The elevation of the water will determine which depressions you created will be filled with water. Adjust the water elevation to get the desired lakes.
If you want to have very large cities, one of the most important things you need to do is have relatively flat terrain. You can still have hills, mountains, and lakes, but you should have their frequency turned down and/or have them be very smooth (change the lacunarity and gain to make them smooth). You also need to change the max town size to a large number. The terrain plays a significant role in how large your cities will be.
If you are still unable to get the cities as large as you want, you have another option. You can increase the maximum number of towns and set the min town distance to 0. This will allow towns to be placed side by side, which can appear to create a single large city by using many smaller cities. Note that this method can cause gaps in the city where nothing is located and may not create as many "center" districts in your city. This will also mean having multiple traders in "one" city.
Very large cities are taxing on computers and not everyone will be able to play a game if the cities are too large without severe and even crippling lag.
Sometimes the biomes that are generated are not exactly what you want. Perhaps you want snow in a certain location (such as the north) without having to have a high elevation there and the noise biomes aren't quite what you're looking for. This is something you can do even without Teragon. In your world's folder after the map is generated, you will find a biomes.png file. This file can be edited in any paint program, including the Paint program that comes with Windows. If you change the layout of the colors, the biomes will change to match. However, you need to be sure that you use exactly the right colors. The best way to do that is to use the Eyedropper tool to select one of the colors and then paint it wherever you want. Repeat for each biome color. Note that by using interrupts, exports, and imports and perhaps even repeats or loops, you can even edit this in the middle of your map generation, though doing it after your map is completed is probably the best way to do it. Also note that you should edit the biome before playing the map and not after you're already using it, or you may have problems in the game. Valid RGB values for the biomes are included in the Import Biome Map command.
Normally, you would use Teragon's Create Rivers command to create rivers on your map. This works well but may not always look natural. You have the option to create rivers using the Subtract Height Map command (add associated Create Noise Height Map and Filter Gaussian Height commands) instead, though this doesn't guarantee natural looking rivers and may cut through mountains, making the mountains look bad. If you look at the mountain commands earlier in this documentation, you'll see an example of Fractal Type set to RigidMulti. If you imagine those mountains are instead cut into the terrain instead of being placed on top of the terrain, you now have a river made using these terrain sculpting commands. You can adjust the various settings to get these "rivers" to look how you want. It may also help to place the mountain and perhaps hill commands after the subtract commands so this doesn't mess up the mountains/hills, though this may cover up your rivers. See below for an example of that as a river. This is just a quick example and is not cleaned up to look very nice. With some work, you can get a nicer looking river with this method.
Alternative river generation using the Subtract Height Map command instead of the Create River command.
Ever wonder if you could use Noise Biomes, but still have your mountaintops covered in snow… or some other biome? You can do this very easily. Place your Create Noise Biome Map command, followed by the Fill Altitude with Biome command in your command queue. Set the maximum altitude of the Fill Altitude with Biome to 255 and the minimum altitude to whatever height you want to start the snow at, such as 175. If you leave the Positions with the default math values, all mountains higher than the minimum elevation entered will have snow on top. If you want to only have certain mountains with snow on top, you can use the Positions to only affect certain parts of the map.
TIP: The Create Noise Biome Map command will also create snow biome areas on the map. If you do not want snow on the map except on the mountaintops, you will need to Export the biome map, edit it (the biomes.png file) in a paint program to change all snow biomes to something else, then Import the biome map into Teragon before using the Fill Altitude with Biome command. If you do this, be sure to not run the Create Noise Biome Map command again or it will overwrite your changed biome map.
You may want to have a command use a random value instead of setting a static value. This is possible by using the [random] tag. If you use [random], it will randomly choose a positive integer value that can potentially be very large. This is only of use for the Seed as the potential for very large values will usually not work for anything else. If you want to get a random number for other commands, you can do so with a more detailed version of the random tag. [random,int,min,max] will give you a random integer between the min and max values, so [random,int,1,3] will give a random value of 1, 2, or 3. [random,float,min,max] works the same way but will give random floats between the min and max values, so [random,float,1.2,1.5] will give a random value of 1.2 up to 1.5 such as 1.246. Both versions can work with negative numbers as well. For example, you can use [random,int,-10,-2] or [random,int,- 10,10]. You would normally use int when you have a large range of numbers and float if the range is small, but this may vary depending on the command and parameter you're looking at. You can use these random tags in math commands as well, but it takes a little extra work to do so. See Using Math in Command Parameters for more details.
There are times when you want to use mathematical calculations in a parameter. This can be done with the [math] tag. [math,int,1+2] will evaluate to 3. [math,float,1+2.5] will evaluate to 3.5. You can use custom tags and the [random] tag in the math tag as well. For example, if you have a custom tag of [Size] you could use [math,int,[Size]*2] to get the value of 2 times whatever [Size] is set to. If you want to use the [random] tag in a [math] tag, you need to do a little extra. You need to use the Define Custom Tag command and put the [random] tag into that custom tag's value and then use the custom tag in the [math] tag. For example, the custom tag [Size] could have a value of [random,int,128,1024] in the example above. You cannot put the [random] tag directly in the [math] tag as it will not evaluate properly.
Here are some of the common problems that have come up. This is not a complete list of problems you may have but may still help. For additional help, check out the #discussions channel on Teragon's Discord.
The following issues relating to missing POI are all due to the same problem in your settings. They are all caused by an invalid Game Directory if the missing POI are vanilla POI or else an invalid or missing Add Source Path if they are custom POI. To fix the problem, make sure your Game Directory is pointing to the correct folder where your game's .exe file is located if the problem is with vanilla POI. If the problem is for custom POI, make sure you have an Add Source Path command that is correctly pointing to the folder where your custom POI are located (this may be your Mods folder or a subfolder of that Mods folder or somewhere else). Make sure the Subdirectories checkbox is enabled if you are not pointing directly to the location where the prefabs are and are instead pointing to the main Mods folder or the specific mod's main folder. Look at the information earlier in this documentation for information about the Add Source Path command. Note that if a POI in your POI Property List has a typo – the POI name isn't exactly same as the POI's filename – this will also make it so the POI cannot be found.
Hollow towns are what I am calling towns that just have an outer ring and the inside is empty. Note that this is not the same as when a town encircles a mountain or lake or some other terrain feature, but where there should be a center area of the town, but it isn't there. This problem is caused by having a town set up in your Read or Import Town Property List command that has a max size larger than about 8 tiles and does not have a center parameter. Make sure that any towns that have a max size of more than about 8 tiles have a center parameter to avoid these hollow towns. See the Read/Import Town Property List commands listed earlier for more information.
More will be added as time permits. I hope this provides some useful information as you use Teragon. Check the download link occasionally to see if a new version of this documentation is available. Visit Teragon's Discord channel for any questions you may have when using Teragon.