SSG Users Manual - V1
SSG Users Manual - V1
Users Manual
Preamble 2
A. What is the Solar System Generator (SSG) used for? 2
B. Heightmaps and Stamps 2
C. You need a .yaml editing software 4
D. Quick overview of the new game files 4
E. How the game starts a new game 6
F. Global SSG Workflow 8
APPENDIX 34
Playfield Reference Sheet 34
Helpful Console Commands 34
THREE GOLDEN RULES
NEVER MODIFY AND THEN OVERWRITE DEFAULT GAME FILES
Any file that is added to the installation via update, is likely to be overwritten with each
update!
Any progress is lost if an update kicks in or you use the “verify files” steam feature.
Preamble
It is not a full-fledged terrain editor, but can use premade heightmap terrains to
visualize and alter the terrain shape.
Those are basically a greyscale picture in a special file format (‘.raw’, and ‘.png’).
Everything that is more ‘white’ will create mountains, everything that is rather ‘black’
will interpreted as valleys.
Because of this it is not (yet) possible to create caves or overhangs, since those are
based on a different method.
a) Fixed heightmap planets. These are like the planets in 7.x version: The
terrain will always look the same, regardless of the game session’s seed (The
seed only changes the distribution of POI, Ore, NPCs, Deco). Think of a fully
painted picture, that is wrapped around the planet and then interpreted as
height data.
The Solar System Generator (‘SSG’) is mostly used for visualization, adding some
variations and to create the finalized playfield file. Editing planets, like adding
POIs, deposits, deco and more, is usually done by directly editing the .yaml
files.
Tip: 'Notepad++' is free, and very useful for changing a lot of things in Empyrion. It
is also good to keep the sensitive yaml files clean. (The standard Windows Editor and
other onboard tools tends to break stuff quite easily.)
There is no single file for such a world, but rather a collection of more- or-less
definitive template files. And, depending of the scope of the changes you planning,
you’ll want to edit and save different things.
Basic mechanic:
When those files are combined by the SSG (via export) or the game, they result in a
‘playfield.yaml’
It is then used to auto-create a range of other files - mostly terrain and texture data -
that finally make up the ‘world’.
Main files:
The following files are playing the most important role in creating and editing a world:
- terrain.ecf - This file defines the textures that are used for a planet’s
surface. It can be modified with the in-game texture editor. (Console
command ‘te’)
Usually you might only want to edit the ‘playfield_dynamic’, ‘playfield_static’ and the
terrain.ecf.
Handling tip:
If you are not sure what to edit in either file, check out the folders
+ExamplePlanet
+ExampleSpace
in ..Empyrion - Galactic Survival\Content\Playfields
Their .yaml files are filled with comments on each and every setting, telling you what
you can or cannot do!
If a player opens the NEW GAME START menu to start a new game, there is a range of
SCENARIOS to choose from on the top left.
Important: Either if you start a ‘Default Random’ game, which is delivered with the game
installation files, or if you subscribe to a scenario from the workshop, ALL of them are
SCENARIOS in the game context! And all of those are saved here: ...\Empyrion - Galactic
Survival\Content\Scenarios
Any informations the game uses to create your game world, is fetched from there!
Handling Notes
Example: There can only be one +TemperateStamps in the Templates folder, but any planet
in the Playfield folder (one, more or all) can use the +TemperateStamps for its playfield
definitions.
So if you only want Akua-like planets (Akua 1,2,3…), you can use the same template over
and over.
On the other hand: If you refer to a planet name in the sectors.yaml, but you did not add a
planet or playfield.yaml into the referred Playfields folder, the game will try to fetch the data
from your scenarios TEMPLATE folder!
What means: making any change to the files in the Template folder will NOT change the look
and feel of the planets, orbits and moons when starting the scenario. You need to manually
transfer any changed file from its export location to the planet/orbit/moon folder in the
PLAYFIELD folder!
See Chapter “Working with the SSG - Customize and Export a playfield” for more info on
how to edit and export individual playfields.
Please read the chapter “Working with the SSG - Playtest your work” for more info.
F. Global SSG Workflow
The workflow when using the SSG is currently as follows
The the chapters below we will guide you through the most important methods and GUI
element for the full workflow I.
The Solar System Generator (SSG)
The centerpiece for visualizing your designs is the ‘Solar System Generator’.
It is located in the Empyrion root folder:
Start it, select the display resolution you prefer. Then click ‘Play!’
GUI Overview
Workflow Modes
Switch the tool between Planet, Orbit and Sector playfields
Note: These are NOT interconnected! So it is not like you are loading the Orbit that
belongs to the Planet, which is setup in the Sector. All three modes work
independently from each other and you can load DIFFERENT playfields/settings in
each Mode.
CONSOLE
Showing info and error messages.
Open with a click on the dropdown button on the right.
EXPORT
Saves the finished ‘playfield.yaml’ to the/a project folder.
Please see “Working with the SSG” for more info.
Box: START
- Planet Type: The planet playfields being available from the main playfield folder.
The folder that is selected here is the place where the ‘Export YAML’ button saves to.
- Planet Class: Size of planet (Values: 2,3,4,5)
- 2D / 3D : MAIN VIEW view mode switch
- Rst2D: If you zoomed in, this will reset MAIN VIEW to default (only available for 2D
view for onw)
- Fixed Terrain + “...” : Terrain heightmaps available in the folder defined in “...”
- Load: Loads pre-created terrain heightmap .raw files
- Random Terrain
Seed: INTERNAL seed for the playfield variation
Generate: Generate the playfield with the SEED selected
Box: OVERVIEW
Biomes / Spawn / Stamp Info: Switch box info between Biome overview, NPC/Animal
spawns and Stamps.
Infos that are given are for example: Spawned stamp class, successful stamp
spawns, the time needed and the used 'pixels' of those stamps placed in the world.
Very helpful to optimize stamp spawning numbers, to find input errors, and to check
the performance of worlds that need lots of small stamps.
Box: BASIC SETTINGS
Note: The SSG will show you an info in the top-center MAP VIEW which button
you need to use for refreshing the view after you made some changes!
- HumidMin/HumidMax: Setting the total min-max range of humidity for the planet.
The actual humidity on any place is influenced by the Hum HF Lo/Hi values. Please
read below.
- Land/Water: Set the ratio of land and water for the planet. Eg. if you move the
slider to the left (= have MORE terrain and LESS water), the terrain generation will
elevate (push/bump up) the terrain on the whole playfield and try to match the ratio
set, while keeping the Sea Level unchanged.
- Sea Level: Sets the absolute altitude of the water surface in relation to the
maximum in-game allowed terrain height (currently 511m). Changing this slider will
also allow you to create more landmass or more water surfaces, on expense of the
total sea level height. (Think of increasing/lowering the Seal level leads to a
lower/bigger distance between the water surface and the upper playfield limit of
511m)
- Terrain Level: This defines the highest point of terrain on the map and thus the
overall height variation of the basic terrain. Low terrain level will result in a very flat
world, high terrain level will create very soft ‘hills’ which soar up into the heights.
Technically the terrain layer is bumped up or down, while the editor tries to maintain
the Land/Water ratio set.
Note:
- Stamps can range from Terrain Level (Base) up to TerrainHgtMax (Top)
- Adjusting terrain level requires to click Generate to recreate the height map.
- Base Level: This controls the lowest point of the terrain. Increasing the height will
bring up the lowest point of the terrain. (Think of the deepest point in the oceans).
Note: Rising Base Level beyond Sea Level will remove water from the planet!
- TerrainHgtMax: Defines the upper limit of the playfield height (max 511m) as the
actual Planet-Orbit atmospheric border. Eg. if you set it to 400m the player will enter
orbit when 400+m over ground.
Box: Planet Settings
As the BASIC settings define the “vertical layout” of a planet, the PLANET settings
define the “horizontal layout”. What means: The Planet Settings do not shape the
planetary terrain, but will adress Temperatures, Humidity and, as a result, the Biomes
distribution in relation to the BASIC SETTINGS you chose.
Example: Temp HR Min/Max = 20/200 will scale the temperature starting from 20m
above Sea Level and end at 200m above Sea Level.
If you have set a TempMin/Max under “BASIC” from 0-20°C the TempHR will then
scale the range between 20m (starting with TempMax) and 200m (ending at
TempMin) above Sea Level. While the playfield below 20m above Sea level will
always remain 20° the playfield beyond 200m will stay at 0° (Vertical remaining
ranges depend on how you have set TerrainLevel and BaseLevel values)
Note:
- The actual temperature at any given point is further modified by Equat Squeeze and
Polar Spread!
- You can reverse the scaling behavior if you set Temp HR MAX lower than MIN. In
this case, the temp scaling is reversed from TempMin at 20m to TempMax at 200m!
- Equat Squeeze: This will ‘tighten’ the temperature at the equator, e.g. you can
increase or decrease the actual “width” of the “equator corridor” temperature zone.
Example: Higher value = equator zone is narrower! (Horizontal Temperature Spread
modifier)
- Polar Spread: this will ‘expand’ the temperature at the poles. Higher values will
increase the polar biomes area towards the equator. (Horizontal Temperature Spread
modifier)
Note: The PolarSpread value is “locked” to the Equat Squeeze, so you cannot create
a larger Polar Spread than the Equator Squeeze.
- Temp Noise Fac: Noise value is applied to the temperature values to add more
variation. The slider increases/decreases the noise strength/variations.
- Hum HF Lo/Hi: Humidity changes based on terrain height, eg. there is usually more
moisture/humidity at 20m than at 200m. This parameter sets the start and end height
position of the humidity gradient, compared to the Sea level.
Example: Hum HF Lo/Hi = 20/200 will scale the humidity starting from 20m above
Sea Level and end at 200m above Sea Level.
If you have set a HumidMin/Max under “BASIC” from 10-30% the HumHF will then
scale the range between 20m (starting with HumidMax) and 200m (ending at
HumidMin) above Sea Level. While the playfield below 20m above Sea level will
always remain 30% the playfield beyond 200m will stay at 10% (Vertical remaining
ranges depend on how you have set TerrainLevel and BaseLevel values)
Note: You can reverse the behavior if you set Hu HF Hi lower than Lo. In this case,
the humidity scaling is reversed from HumidMin at 20m to HumidMax at 200m!
- Hum Noise Fac: Noise value is applied to the humidity values to add more
variation. The slider increases/decreases the noise strength/variations.
- Update 3D Terrain: refreshes the 3D terrain viz after making changes to the
heightmap or preview setting changes. Only visible when in 3D Mode
- Preview Quality: Defines the preview-quality (Values: Realtime low, med; High)
- Live Update Terrain: Only usable in the ‘Realtime Low’ setting, as it will
instant-update the preview while adjusting the sliders. Only visible when Realtime
Low is selected.
Example: if you want to see the greyscale Height Map only, you need to at least
uncheck Humidity Map, Temp Map and Biome Map.
- Height Map: Shows the terrain altitude in grayscale values. ‘Bright means great
height’. Biomes will be placed according to this distribution, if they were defined in
playfield_dynamic to only show up at certain heights. (Check: expand a + in front of
a Biome in the OVERVIEW > BIOME list)
- Spawn Point Map: Shows the location where creatures spawn on the planet. Hover
your cursor over a dot to get additional information. Check the SPAWN INFO list for
all entries (You can hide and show individual creature spawns there!)
This map is influenced by Planet Settings and (to some extend) by a few of the Basic
Settings!
- POI Map: Show or hide the spawning places of POIs (structures, ore). Placing your
cursor over the symbols will show additional data.
This map is bascially influenced by ANY change you make, so you will see the “POIs
out of date. Please refresh” message in the top center screen quite often.
2. Orbital Playfield
MODIFY
- Template: Available orbital playfields in the main playfield folder
- Playfield: This will display the name of the selected ‘pre-created’ playfield that has
been loaded.
- OutputDir + “...”: (not yet working; planned to allow exporting an orbit and create a
preview file)
- Seed: internal seed for the playfield variation
- Generate: Generate the selected TEMPLATE with the selected seed
- Load: Instead using a Template, you can load an existing 'Space/Orbit' playfiel
(f.e. SpaceAsteroidsMasperon) by using the file dialog to select the playfield to open.
3. Sector Playfield
Box: SCENARIO
- Scenario Name: Add a name for the solar system. This is then also used as the
SCENARIO NAME for the scenario created (Exported)
- Config File: Loading the selected premade config file for a random solar system,
containing the global rules for distribution, type and use of any playfield in the
scenarios solar system
All config files for a solar system, named SOLARSYSTEMRANDOMCONFIG.yaml,
are available from this folder: ...\Empyrion - Galactic
Survival\Content\RandomPresets
You can open any of theses, copy, rename and load them in the SSG! The files have
comments that explain which settings you can use!
- Additional Prefabs and “..” : This is not directly related to the Solar System/Sector
view. You can open the “...” and specify a folder if you want to use CUSTOM POIS
(bases f.ex) in your scenario. Adding the path to this setting will then save your
custom made POIS in the PREFAB folder of your scenario, so they show up in the
SSG’s PLANET and ORBIT workflow mode views.
Box: MODIFY
SEED: Choose a Seed to randomize the loaded premade config file
SLIDER: Changes the Seed as well. Same as entering a SEED ID, but usabe for a
quick view literally sliding through the SEED-configurations
GENERATE: Generate the solar system with the selected seed
EXPORT SCENARIO: Uses the content displayed in the SECTOR view (all planets,
positions etc) and saves the setup as a scenario with then name you used in
“Scenario Name” to the scenario folder: ..\Steam\steamapps\common\Empyrion -
Galactic Survival\Content\Scenarios
Handling Notes:
- This is NOT automatically saving the playfield data loaded in the PLANET and
ORBIT workflow modes to your scenario or at all, but only what was generated in the
SECTOR view!!
- You need to go to the aforementioned scenario folder to make edits for POIs,
creature spawns etc.
- The SEED actually IS the same seed ID a player can choose when starting a new
game. Please closely read “Global SSG Handling Notes” on that subject
Make sure the playfield folder is set to YOUR SCENARIOS FOLDER that is
created when using EXPORT SCENARIO - otherwise you will overwrite the
default playfield info!
Example: If you used the EXPORT SCENARIO in SECTOR mode with the
SCENARIO NAME “Test”, make sure to set the playfield folder to
..\Steam\steamapps\common\Empyrion - Galactic
Survival\Content\Scenarios\Test\Templates
3. Make your changes and use the EXPORT YAML button to save your
progress (See “Working with the SSG” below)
1. Cached Info
The SSG is remembering parameter settings of your last working session and
the template loaded with them. You just need to click GENERATE to restore
your last sessions progress
.Note: When restarting the SSG, these parameters might be reset, if they
were out of the max/min values defined the underlying playfield file!
BASIC SEED
The basic seed of a scenario is set when you create a scenario in the
SCENARIO workflow view. This seed decides on how many planets there
are, which orbits, what types of orbits, the terrain shape and a lot more. This
is the BASIC SEED
INTERNAL SEED
The internal seed is used for the SEED ID boxes on PLANET and ORBIT
workflow mode.
The INTERNAL SEED This is NOT the same SEED a player choses in NEW
GAME start, but an internal variation of the playfield’s content, created with
the BASIC Seed.
The BASIC seed actually IS the NEW GAME start seed, at least it has the
same effects on the game as it has in the SSG.
Example:
- You (Creator) generates a SECTOR in the SSG with SEED 999 and export
it as a scenario named TEST.
- You (Creator) click on the planet KANNAN in the sector overview.
- You (Creator) click on the GO TO PLANET.
There you will notice the ID 567935 entered to the SEED box! This is the
“Internal Seed”.
Using GENERATE will create a planet view for this internal seed ID.
- You (Player) go to NEW GAME start, choose the scenario TEST and start it
with seed 999
Result: the Player, having started his game with seed 999 will see the planet
KANNAN exactly like the creator sees it in his PLANET main view with
internal seed 567935!
Takeaway: If you want to preview a planet you modified in the SSG ingame,
you need to start the scenario containing this modified playfield file with the
BASIC seed, the scenario was initially created with in the SSG, NOT with the
INTERNAL seed you see in your SSG PLANET view!
Working with the SSG
Loading a playfield
The SSG will auto-load the data to the last world you edited. But at your first startup,
you’ll have to manually define the location of the game’s master playfields folder, for
once.
1. Press the ‘...’ button at the upper edge of the SSG (next to the arrow).
4. Now, to check out the ‘temperateStarter’ playfield, use the drop down box in
the upper right corner: ‘Planet Type’.
5. Select ‘+TemperateStarter’
(The map may have changed, but only by the different biome data from the
playfield_dynamic and playfield_static.)
6. To see the new terrain shape, click the button ‘Generate’ (upper right edge).
The planet should now appear / change.
Note: this might take up to a few seconds!
7. Use input field ‘Random Terrain: Seed’ and insert a number, then press
‘Generate’ again. This will re-create a world based on the new seed ID.
Customize and Export a playfield
Step 1: If you don’t have it already open, start the SSG (see start of this section 2)
Step 2: Select your planet from the ‘Planet Type’ drop-down menu
(E.g. ’+TemperateTest’)
(Note: If the drop-down list is empty, re-read the ‘Load a playfield’ chapter)
Step 6: Navigate to (ca.) line 207: There you’ll find the biome ‘low mountains’. The
mountain stamps of the planet are defined here.
! Make sure that your modified entry looks exactly like the other ones regarding
structure and position of elements. (Pressing 'return' after a line often leads to an
unwanted offset at the next line, or when you copy an element.)
Step 8: Press 'ctrl + K' to set those lines to the ' # '-symbol.
(To remove this, press 'strg + shift + K')
Note: Everything in a line after a ‘ # ’ symbol will be ignored by the game. Good for
commenting, or to remove lines temporarily. Just be careful to get the right position of
the line if you re-enable them.
Step 9: Exchange the entry of the last mountain with another one:
E.g. Change 'Mountain_15a' to 'Volcano_1'
Note: All available STAMPs (names + greyscale preview) can be found here:
...\Steam\steamapps\common\Empyrion - Galactic Survival\Content\Stamps
Note: The number of stamps that show up on a world is controlled in this case by the
combination of three parameters: (Overall) ‘Stamp tries’, (overall) ‘Stamp
prob’(ability) and the individual stamp spawning chances (located behind a stamp
name).
Your world should look differently, according to the changes you made in the
playfield_dynamic.yaml.
Step 4: Press the button ‘Export YAML’ (upper right corner)
You can check out the seed of your game session if you insert it in SSG’s
'New Terrain: Seed' - field.
A. Preparation:
There are two methods to get your planet into this save - Overwriting an existing
planet (= easier) or creating and naming a new planet.
2. Choose the folder that is named like your starter planet. E.g. ‘Akua’
3. Open that planet’s template folder, and delete all files that are in there.
(E.g. in the folder:
(EGS)\saves\games\MyNewWorldSave\Templates\Akua).
(E.g. those files: terrain.ecf, playfield.yaml, …everything in there!)
4. Copy the files playfield.yaml, terrain.ecf from your project folder (e.g. from
+TemperateTest) in that planet template folder
(e.g. (EGS)\saves\games\MyNewWorldSave\Templates\Akua).
6. Delete the cache folder, that is named like the planet you have chosen for
the overwrite. E.g. ‘Akua’
Note: If you want to make further changes to that planet you are now on:
a. Quit your game session,
b. modify and save the ‘playfield.yaml’ in the save game’s template
folder,
c. delete the save game’s cache again (see step 5 and 6).
d. Then resume your game.
>The following is all that is part of a planet's definition. Important sections for planet
building are highlighted in colours:
- Coordinates: [92, 5, 117]
Color: 0.04, 0.3, 0.37
Icon: Circle
OrbitLine: True
Allow: [ …..... planets that can be warped to…........ ]
Deny: [ …...... planets that can't be reached …..........]
Playfields:
- ['0, 0, 0', Gaith Orbit, Gaith Orbit]
- ['0, 0, 0', Gaith, Gaith, 'Human:1']
- ['-6500, 5000, 6500', Gaith Moon, Gaith Moon]
3. Copy and paste this part right back into the document... >
(Maybe right at the top, below the sun entry. That way you find it faster, later.)
Again, > ! Careful with .yaml editing! Your new entry has to look in it’s
structure exactly like the other ones.
Every planet and orbit name in a save game has to be unique. So...:
10. Open the in-game console (For US keyboards: ‘~’, german keyboards:
‘ö’ . You can check this key in the game’s Options>Controls.)
11. Teleport to the planet you overwrote with the command: ‘teleport
(PlanetNameHere)’, e.g. ‘teleport CustomPlanet’.
C. Troubleshooting
Sometimes the game might respond to your changes with a 'continue or quit'
(CoQ)-error.
In that case, click 'continue', hit 'ESC', exit to main menu. You can now fix the
error, and try again.
To find the error, here are some common places where things might go wrong:
- Or do you have defined for objects (e.g. a planet, moon or orbit) a template
folder that is not yet there? Or the folder is there, but not filled with a
playfield.yaml and a terrain.ecf?
- After you copied an entry, did you leave the same name of a planet /
moon / orbit in the sectors.yaml? Every name (=first entry) has to be unique.
- Have you added or removed a '#' symbol? Those are used to turn off a
line.
APPENDIX
Editing ----
te – Terrain Texture editor. If you save your changes with this, it overwrites the
'terrain.ecf of the playfield you are currently in.
playfield – Reloads the (possibly modified) playfield you are currently in. Does NOT
resort or regenerate POI or ore deposits!
gm inv – God mode invisible. Allows to open the control panel of any structure and to
add/remove blocks, save structure as blueprint.
itemmenu – Enables creative build menu in survival mode.
sbp – Spawn any blueprint instantly while in survival mode.
Movement ---
dm – Debug menu. Teleport, time control and more. >Hit 'Esc' then use the symbol
to the very right.
gm – God mode: Flying, invulnerability, move through walls. Travel faster while
holding down shift and shift+cntrl. Temporarily turn this off by pressing key 'g' while in
the game.
Misc ----
changemode – Change to creative / survival and back
aioff – Turns off movement and detection of all drones, ships, turrets, animals.
map – Show the complete map with all structures.
ents - Lists all vessels and bases, with their in-game ID.