/
Map Creator Guide - Solar Forge

Map Creator Guide - Solar Forge

Introduction

Our galaxy is infinite, but you can help expand it with new amazing maps! This guide will help you with the initial setup and show you some tricks you can do with the “Solar Forge” – Sins 2 map creator tool.

At the end of the guide you can find a publicly available mod with a very minimalistic map, which showcases many features of Solar Forge and could be your starting point. You could use pre-made maps as orientation, but the minimalistic map helps you to focus on the most crucial features.

Where it all starts - Installation

In order to begin creating new maps, you need to get “Solar Forge” first.

There are multiple ways how to download the tools:

Steam

If you purchased the game on Steam, you can download the tools via your Steam Library. Just select Tools in your Library View settings and search for “Sins of a Solar Empire”.

image-20250110-160654.png

Look for “Sins of a Solar Empire II Modding Tools” and then Install them as normal.

 

 

 

 

 

The Steam and GitHub versions of the tools are identical. Both are updated at the same time when new versions are deployed.

GitHub

Another option is to pull the repo via GitHub; and the most user-friendly way is to download a third-party program, namely “Fork” - Fork - a fast and friendly git client for Mac and Windows.

Don't get scared by the price tag near the download button: It’s free software, with an optional premium upgrade. For our purposes, the free version will be more than enough. So just hit the download button, which corresponds with your system (left for Mac, right for Windows)

image-20250108-133522.png

After installing Fork, click on File -> Clone.

In the next screen we will need to enter a Repository URL, where Solar Forge is stored - https://github.com/StardockCorp/sins2modtools

On this screen you can also adjust “Parent Folder”, which is where Solar Forge will be stored on your PC. You can also leave it as is.

“Name” will simply adjust the subfolder name, where the tools will be stored.

Once you clone it, it will “pull” (download) all the files, and should look similar to this:

Now we can navigate to the folder, where Solar Forge is in order to begin with the map work. You can either search for the folder, where you have saved the repository, or we can navigate to the folder via Repository -> Open in File Explorer.

In this folder, we will have to navigate to Solar Forge -> bin

Finally, we arrive at Solar Forge.exe, and can launch it:

Note: You will have to occasionally “pull” again, to get updates of the tools, but otherwise you do not need to use Fork for anything else.

Solar Forge – First Steps

After launching, you will see an empty screen. But fear not, that’s how it’s supposed to be.

To learn how to create maps, it’s best to use existing maps first, and that’s what we will do. In order to open a vanilla map, navigate to File-> Open…

NOTE: Do NOT use “Open Scenario Folder”. We need the “Open…” button.

Existing maps are located at: C:\Program Files (x86)\Steam\steamapps\common\Sins2\scenarios

Let’s start with a smaller map to keep things tidy. One of the simple maps is Cynosian Rift. Once you double click it, we will go back to Solar Forge and get following view:

This screen can be divided into 4 sections:

1

General scenario info, used in map selection screen

2

List of all stellar objects

3

Individual properties of a stellar object

4

Map itself

Adding Planets – The Fun Begins

We will discuss individual features from the screenshot above, but I know you are eager to begin with the shaping of the galactic terrain. So, let’s add a planet: For this you need to do a right click in the map section [4].

This will allow us to Add Node, which then opens a drop-down menu of different planets (and stars). Let’s start with a simple asteroid. This can be created via random_asteroid.

Once added, your map will look like this (with the possible difference of the asteroid location, depending, where you made the right click).

Illegal Planets/Objects

But wait! Why is our new asteroid so big, compared to other planet icons? Well, ladies and gentleman, we have proven it – size matters! The bigger icon means that this asteroid is not orbiting anything. Currently the game does not allow for such “rogue” planets, and any planet should always be assigned to a star (or a planet, which itself is assigned to a star).

Overall, there can be 3 different sizes of an icon, which indicate different behavior of the planet. Those look like this:

1

“Illegal” planet, without any “parent” object

2

Planet with the local star as “parent”

3

Planet with another planet as “parent”

Creating Legal Planets

Now let’s get back to our illegal planet. How can we make it correspond to the engine rules?

Well, we need to assign a parent to it. The easiest way to do so is to select our illegal asteroid (left click), then right click on the star and select Set Node Parent.

If you have done everything correctly, you should see the icon of the selected asteroid get smaller. Furthermore, you may note, that our random_asteroid 41 is now on the same level in the list of all objects [2]. If you check out ParentId of the asteroid, it will be set to 1, which corresponds with the Id of the star on Cynosian Rift.

Even though, our asteroid now has a parent star, it’s still an illegal one. That’s because it’s missing phase lanes. Every planet has to have at least 1 phase lane to be legal.

To add a phase lane, (left) click on the asteroid to select it. Then right click on any other planet/star and select Add Phase Lane. In our example, I have selected the yellow icon with “NPC” above it.

Now we have a legal state of the map!

Planet Properties Explained

Let’s stick to our asteroid. Now we can investigate individual properties.

Entry

Purpose

Entry

Purpose

Id

Will always be fixed.

FillingName

Allows us to change the planet type.

Position

If you want to be more precise about planet coordinates, use this.

Angle

Changes the angle of the planet.

OwnerPlayerIndex

Allows you to give this planet to specific player from the start of the game, starting with the Host (Player 0).

IsNPC

Determines if a Minor Faction spawns here. (There are more rules to it, we will discuss them later.)

NPCName

Allows you to select a specific Minor Faction.

NPCType

Allows to select a random Minor Faction in a category.

ParentId

Determined on galaxy map by assigning the parent (relevant for orbits).

OriginalParentId

Determines which object will be used as center of the orbit.

InheritOriginalParentOrbitDirection

If True, planet will always follow its assigned parent when orbiting.

ChanceOfRetrogradeOrbit

If 0 on all planets, they will orbit in the same direction. If 1, planet will be guaranteed to orbit in opposite direction. Anything between, will be a random orbit direction.

OrbitSpeedScalar

How fast this planet’s orbit speed is.

IgnoreOrbitOverlapChecks

If True, planets will NOT be displaced, to make room for orbits. However, this may break your game if planets end up colliding.

SyncOrbitTimeToOriginalParent

This planet will keep a fixed distance to its parent, while orbiting, ensuring it never flies away (great for a player’s starting sector).

ChanceOfFirstPlanetBonus

Takes values from 0 to 1. Determines if planet is going to have a bonus.

ChanceOfSecondPlanetBonus

Same as above, for a second planetary bonus.

ChanceOfLoot

Same as above but determines if derelict will spawn around the planet.

HasArtifact

If True, planet will be guaranteed to have an artifact

LootLevel

Determines level of the Derelict. Takes 0 to 2 as input. Requires that Chance of Loot is greater than 0.

Planet Types

The planet types are mostly self-explanatory. However, there are a few things to note.

Planets with home_ in their name have significantly less militia. Those are best placed in the home sector of the player for easier colonization.

Player_home_planet is the ONLY planet type which is eligible as a starting planet for players and minor factions.

Planets like unweighted are a selection of planet category with a random spawn chance. Unweighted has equal spawn probability, hence the name of unweighted.

Each planet type has a unique icon color on the galaxy map. It may be a bit confusing at the start, but once you create a map or two, you will get accustomed to this representation.

Understanding Orbits

There are 4 categories of orbits: those of normal planets, which have stars as their parents; those of “moons”, which orbit other planets; and finally, no orbit at all which makes the planet remain static.

Normal Orbit

By default, every planet has an orbit, and all of them rotate in the same direction with the same speed. But be aware, that even though their orbital speed is same, the time it takes for a planet to go around its orbit will be unique to each individual planet. This is because the circumference of the orbit changes with the distance from the star. Sins 2 will try to displace planets if they are placed within same radius distance to the star to avoid planetary collisions.

Therefore, with a different radius on every planet, each will have different total distance to make a full orbit. This also ensures an ever-changing planet phase lane connection.

Synced Orbit

If you want 2 planets to stick together, even though their orbital radii are different, you will have to assign a proper parentID to one of the planets and then set SyncOrbitTimeToOriginalParent.

The first step is a bit tricky, because you need to get the correct ID of the “parent” planet. Let’s say we want our asteroid to be synced with the minor world.

First, we select the minor faction world and look for its Id.

Now we select the asteroid and scroll down till we find OriginalParentId.

Then we modify this line to our Minor faction world Id, which is 11 in our case, and will also create a green connection between planets in the UI.

Finally, we can set the SyncOrbitTimeToOriginalParent to true, and these two planets will be then locked to orbit together.

Moon Orbit

Another orbital category is moons. These planets will orbit other planets, instead of the star.

Setting a moon orbit is fairly easy.  We will use the same asteroid and minor faction, with the asteroid orbiting the minor faction. Select your asteroid, right click the minor faction world and click Set Node Parent.

This will create a blue line in the UI, and you are all set with the moon orbit.

No Orbit

This is the easiest one, but also the most tedious. All you need to do to make a planet stay in place is to set its OrbitSpeedScalar to 0. In this case, the planet will remain fixed in its position.

Adding Players and Minor Factions

Both players and minor factions can only spawn on a special planet type – player_home_planet. This is mandatory for the game engine to be able to create your map.

If you want to assign a starting planet to a player, you simply need to set OwnerPlayerIndex to any number between 0 and 9 (which corresponds to the order of players listed during game setup).

E.g., here is a starting planet, which belongs to the player with index 0:

If you want to add a minor faction, there are a few more steps to follow:

  1. Add a player_home_planet (keep in mind to select the star where you want to minor faction to be, so that it is assigned to that star system).

  1. Select the new planet and set its attribute IsNPC to True

  1. If you want it to be a specific minor faction, pick one from NPCName.

  1. Alternatively, you can set up a class of minor faction. In NPCType if you pick EnemyFaction, it will be either Pirates or Aluxians. If you were to pick FriendlyFaction, it will be one of the non-hostile minor factions.

Keep in mind to add at least 1 minor faction to your map, as the neutral markets are tied to their existence. Of course, you can opt to have no friendly minor factions and subsequently have no neutral markets altogether.

Multi-star Maps

In order to make your first multi-star map it’s best to look at one that exists already. For this, we have chosen the “Systems of War” map.

This map includes 5 stars and is meant for 4 players. Each player starts in a corner, and the 5th star in the middle serves as a battleground for various riches.

The first thing to note are the orange phase lanes. Those connect stars with each other. This is very important to keep an eye on, because if stars are not connected via a phase lane, they will be unreachable.

Since this map has 5 stars, and every star is supposed to be connected to other stars, each individual star has 4 solar phase lanes.

The second thing to note is the distance. You can see,that this map has many more squares in the grid where planets are placed. This is because each star requires about 10 square radius of empty space, no matter how big its actual solar system is.

If the distance between stars was smaller, the map would still generate without any error warning, however stars could get displaced.

Finally, when creating a multi-star map, it’s mandatory to keep an eye on which star is set as a parent. If you forget to select a proper star, the planet will be displaced outside of the solar gravity well. ParentId has higher priority than the planet placement.

This also means that you cannot make planets belonging to star_1, and have them rotate into solar orbit of star_2. Such planets will always be displaced outside of the solar system.

Another thing to keep in mind, is that due to minimal distances between stars, you should avoid having planets connecting 2 star systems with normal phase lanes. Due to displacement, you cannot place star systems close to each other, and the minimal distance is so large that traveling via normal phase lanes would take ages.

Map Generation Rules

We are closing in on saving our custom map, but before we do that, we need to discuss map generation rules which are not directly enforced by Solar Forge. It is not much, but if you ignore those, your maps will not generate properly. With bigger maps, you will likely not even notice the issue, like a missing phase lane.

  • Phase Lanes: Phase Lanes require a minimum 22.5-degree angle distance. If you have a smaller angle between 2 phase lanes, one will be deleted upon map generation. However, in practice, due to planet displacement, you should use significantly bigger angles between your phase lanes - especially if you have planet rotation on. To be sure that your phase lanes will work as intended, we recommend a 45-angle distance.

  • Minimal Distance: Planets should be at least 1 square apart on the grid, and solar systems should be at least 10 squares apart. Otherwise, your stellar objects will get displaced.

  • Illegal Overlaps: Planets of Star_A cannot overlap their orbits with planets of Star_B. Otherwise, one of the planets will be displaced to have a shorter orbit.

  • Moon Orbits Overlaps: Moon orbits will displace any planets which would have rotated in-between them and their parent planet.

  • Stellar Phase Lanes: Set Phase Lanes between stars – unlike Sins: Rebellion, stars are not automatically connected to each other

Saving Your Map – Locally

First, we need to give the map a name and description. I recommend using the same naming convention as the vanilla Sins, to avoid any collisions with possible game patches. For this reason I use “scenario.testmap.name” as my name, and a similar format for the description. The “testmap” is meant to be the unique identifier of our map. You could use any other name, as long as it does not overlap with some other in-game string.

Another formality to resolve is setting a skybox. Currently, Solar Forge does not set any automatically. Just click on “Properties” and select any skybox of your liking. We have decided to use the random one, so that the map has different ambiance every time.

Now, navigate to C:\Users\USERNAME\AppData\Local\sins2\mods

Create a folder, let’s name it “myfirstmap”. Navigate into this folder. Here we will create 3 subfolders:

  1. localized_text

  1. scenarios

  1. uniforms

Navigate to localized_text. Create a file named en.localized_text (you can do so even with a text editor and using “save as” option. Notepad++ works even better).

Inside this file, add following lines:

{ "scenario.testmap.name": "First Map", "scenario.testmap.desc": "Map for testing" }

This will tell the game, what to use for name and description.

Now navigate to the uniforms folder. Similarly, create a file named scenario.uniforms. Inside the file add the following lines:

{ "scenarios": [ "myfirstmap" ], "fake_server_scenarios": [] }

Now navigate to the mod root folder (1 step up) and add a .mod_meta_data file. Add the following content to it:

{ "compatibility_version": 2 }

Now go back to Solar Forge. Navigate to the option “Save as”.

Then navigate to your scenarios folder and save the map: C:\Users\USERNAME\AppData\Local\sins2\mods\myfirstmap\scenarios

At last, your mod structure should look like this:

Now we can launch the game and go to the mod tab. In “Manage” we should see our mod!

Activate it by hitting the plus sign, and then “apply changes”

Now we can see our map in the map list!

The map still lacks a picture. To add one, we will require a png with the 459x216 pixel size. Create and cut appropriately the png of your choosing. Then name this png “picture”. After this, navigate to the scenarios folder. Open your map with any archive manager (for example 7zip). Finally, simply insert your png into the zip folder like this:

 

Now, restart your game, and enjoy your map with a thumbnail!

Sharing Your Map

If you want to share your map with a wider audience, you will need to create a mod on Mod.io -

Cross Platform Mod Support for Games

The creation process is very straightforward, but there are 2 things to be careful about.

First, when you create a zip file out of your mod: You need to zip the insides of your mod, not the mod folder, as otherwise it will create something like “modID/mod/scenario” instead of “modID/scenario” and will not function.

Second, you MUST select the compatibility version tag to be the latest, so that your mod shows up in the search.

With those 2 crucial settings, you should be able to find your guide through the game within minutes, if not seconds, after the initial set up.

You can also download the mod from the website directly - TEST Guide Map for Sins of a Solar Empire II - mod.io. As mentioned in the introduction, it includes a single minimalistic map which cuts out all the “extra” information of pre-made maps, allowing you to focus on features like orbits, players, minor factions, etc.

(c) Copyright Stardock Entertainment. All rights reserved.