A map is where a mission happens — a star system, a region of space, a planetary
surface. Missions reference a map and place their own objects into it; the map itself
holds the permanent scenery.
Locations
A map is a tree of locations, not a flat list of coordinates. A
system contains bodies, a body may contain places on or around it. This nesting is
load‑bearing rather than cosmetic, because of how environment resolves.
A location is either a StarSystem or Open space; those are
the only two types the game uses, and the only two the editor offers. Planets and moons
are not objects: they are children of their system's location, edited on their own
planet card.
Environment resolves up the tree
Environment — fog, weather, lightning, dust, starfield and ambient sound — is
authored per location and resolved by folding from the root of the tree outwards to the
location the player is at. A location that authors nothing inherits everything from its
ancestors; a location that authors one of those groups overrides just that group and
keeps the rest.
The rest of the environment block — skybox, ambient and star light, tone mapping,
shadows, gravity, drag — is not folded field by field. A location with an environment
block of its own states all of those itself, taking defaults for anything it leaves out.
In the editor, Override here copies the resolved values into the
location so you start from what you see, and Inherit everything removes
its block again.
Two consequences:
- Set the general character of a system once, at the root, and only override where
somewhere should look different.
- When somewhere looks wrong, the cause is often above it in the tree rather than
in the location you are editing.
The sky is part of the environment: <environment skybox="…">. An
older <skybox> element on the map, or skybox= on a
location, still loads, and is moved into the environment the next time the map is
saved.
Objects
Objects placed on the map are the permanent contents: stations, derelicts, debris,
asteroid fields, nebulae. Each has a position and a rotation. What its class names
depends on its type:
- Object — a vessel, built from a vessel class. It becomes a
contact the consoles can see. The file calls this type
Vessel.
- Static — scenery built from a model in the models list. It is drawn
but is never a contact. The file calls this type
Model,
and an icon= on it sets its radar icon.
- Cluster and Nebula — driven by their properties
(source, radius, seed and spawn counts for a cluster; size, shape, palette and seed for a
nebula) rather than a class.
- Drone, Billboard and Spectator
(a camera for the spectator display) are also available from the Type list.
On a map with systems and planets, an object must be homed on a planet: open the
planet before adding or pasting, or the editor refuses. An object homed on a whole
system belongs to no local space and never becomes a contact.
One trap worth knowing. Object rotation values are negated when
applied — yaw, pitch and roll all invert between the file and the running game.
If you are hand‑editing rotations and everything faces the wrong way, this is
why. The editor's Yaw, Pitch and Roll fields hold the file's values and its view
applies the same inversion, so what you see there is what the game will show. Spectator
cameras are the exception: their angles are used as written.
Extent
A map's playable extent is computed by the server from its contents and sent to
clients as bounds. It is not a field you set. (There is a dimensions field on maps,
but it belongs to the galaxy generator and is not a surface map's size — setting it
expecting it to resize a map does nothing.) The computed bounds only frame the
opening view; to limit where ships can go, add a zone of type Bounds.
Editing
The map editor is a 3D view with a panel beside it. A breadcrumb along the top
(Galactic › System › Planet, or Map › Location) says which level you
are on, and you go down a level by picking from the panel's lists of locations, planets
and objects, or by clicking in the view.
Right‑click does most of the work. On the galactic level it adds a system or an
open‑space location; on a system it adds a zone; in a local space it adds an Object,
Static, Cluster, Nebula or Zone, and on a selected object offers Move, Rotate, Clone,
Copy and Delete. Focus (F), Frame All (Home) and the Zones (Z) and Collision (C)
overlays sit on the view. An object's Advanced button opens its full
record: occupants, cargo, hard points, dialog, tasks and properties.
Three practical notes:
- Save whole. The editor's save writes the entire map including its
locations. A partial save exists, and is used by the in‑game tuning panel to write
a few environment fields without round‑tripping locations it never read — but
from the editor, save everything.
- There is no undo, and some things only add. Deleting an object is
final. Locations are merged on save and never removed, so a location you rename is
likely to come back under its old name as well; tidy those in the file.
- Author environment on the map or a system, not a planet. The
editor will let you edit an environment at planet level, but that block is not saved.
Tile maps and routes
Two kinds of map content are written in the file only, and the editor keeps them when
it saves. A map with type="Tile" is a grid of tiles with a
<tiles> layer rather than open space. And a map can choose how NPCs
find their way across it: pathfinding="Surface" turns on route finding over
the ground, using a hand‑authored network in <guides> where the map
has one and the terrain otherwise. The default is open flight.
Tuning the look from inside the game
There is a renderer tuning panel available in‑game that edits the active
environment live — fog, dust, starfield, sky, lighting, shadows and post‑processing
— and can write some of it back. That is a much faster loop for getting a system to
look right than editing and relaunching, because you are looking at the real thing under
the real lighting.
The GM opens it for a console with the RENDERER button. Its
Save → Map writes the map's root environment only, never a location's,
so a location with its own block can hide what you saved. Save → Event
writes the settings into a mission event instead, so a mission can change the look at a
moment of its choosing.