10 · Mapping
Tribes 2 ships a complete map-making toolchain inside the game. Press F11 and you are in it. No
external editor, no export step, no SDK — terrain generation, texturing, object placement, lighting and
bot navigation are all built in.
This section documents that toolchain from the game’s own manual and scripts. Sections 17–20 then follow NecroBones’ community tutorial, which covers the workflow and judgement the manual does not.
| § | Section | Covers |
|---|---|---|
| 10 | Mapping (this page) | The file set, the toolchain, the end-to-end workflow |
| 11 | The Mission Editor | F11, the eight tools, File/Edit/Camera menus, movement |
| 12 | World Editor | Placing and manipulating objects; Tree, Inspector, Creator |
| 13 | Terrain | Manual brush editing, the procedural Terraform stack, mission area |
| 14 | Terrain texturing | Rule-based placement, manual painting, the four-texture rule |
| 15 | Lighting, navigation & spawn data | Relighting, .ml, .nav, .spn |
| 16 | Shipping a map | Gametype wiring, headers, packaging, what clients need |
Sierra shipped a manual and almost nobody read it
base/scripts.vl2 contains a help/ directory with eight .hfl documents — the Torque Mission
Editor manual, integrated into the game [script]:
1. About.hfl 450 bytes
2. Mission Editor Overview.hfl 4,234
3. World Editor.hfl 5,626
4. Mission Area Editor.hfl 1,033
5. Terrain Editor.hfl 2,044
6. Terrain Terraform Editor.hfl 2,242
7. Terrain Texture Editor.hfl 1,377
8. Terrain Texture Painter.hfl 634
.hfl is a markup format read by the in-game help viewer, using the same <font:>, <a:>, <lmargin%:>
tags as GuiMLTextCtrl (GUI system). Its own
opening page is candid about the provenance [script]:
“The GarageGames Torque Engine Mission Editor is included as part of the Torque Game Engine, and now as an integrated tool in Sierra’s Tribes 2.”
Sections 11–14 are essentially this manual, restated with the surrounding evidence and cross-linked into the rest of the handbook.
What a map actually is
A map is not one file. It is a .mis plus a set of companions that must travel with it:
| File | Location | Authored or generated | Purpose |
|---|---|---|---|
<Name>.mis |
missions/ |
Authored (editor writes it) | The object tree — terrain reference, interiors, spawns, flags, lighting |
<Name>.ter |
terrains/ |
Authored (Terrain/Terraform editors) | Heightfield, square flags, texture assignment |
<Name>.nav |
terrains/ |
Generated — -navBuild |
AI navigation graph. No file, no bots. |
<Name>.spn |
terrains/ |
Generated — -spnBuild |
Terrain prop/vegetation placement |
<Name>_<crc>.ml |
lighting/ |
Generated — -light or Relight Scene |
Precomputed static lighting |
.dif interiors |
interiors/ |
External tool | Buildings placed by the .mis |
.dml / textures |
textures/terrains/ |
External | Terrain material sets |
flowchart TD
NEW["File ▸ New Mission<br/>default terrain + sky"] --> TF["Terraform Editor<br/>procedural heightfield"]
TF --> TE["Terrain Editor<br/>manual brush corrections"]
TE --> TX["Texture Editor + Painter<br/>materials by rule, then by hand"]
TX --> MA["Mission Area Editor<br/>bounds, centre, mirror"]
MA --> WE["World Editor<br/>interiors, spawns, flags,<br/>generators, stations"]
WE --> HDR["Add // MissionTypes and<br/>// DisplayName headers by hand"]
HDR --> LIGHT["Relight Scene<br/>or -light"]
LIGHT --> NAV["-navBuild<br/>-spnBuild"]
NAV --> TEST["Test: gametype, bots,<br/>a second client"]
TEST --> SHIP["Package"]
Two steps in that chain are easy to miss and both fail silently:
- The header comments are not written by the editor. A
.miswithout// MissionTypes =never appears in any host menu (Missions). -navBuildis a separate run.buildMissionListdecides bot support purely by whetherterrains/<Name>.navexists [script].
Getting in
Tribes2.exe -nologin -mod Construction -mission Slapdash CTF
then F11 in game [script]. The editor operates on the currently loaded mission, so you start
a mission and edit it live — there is no separate editor executable.
The editor GUIs are loaded unconditionally at boot by console_end.cs [script]:
loadGui("GuiEditorGui");
loadGui("consoleDlg");
loadGui("InspectDlg");
with the editor logic in scripts/editor.cs, editorGui.cs, editorRender.cs, editorProfiles.cs and
pathEdit.cs, and the C++ side registered as EditManager, WorldEditor, TerrainEditor,
MissionAreaEditor, CreatorTree, EditTSCtrl, GuiTerrPreviewCtrl and Terraformer [binary].
Command-line map operations
Three launch modes exist purely for map processing [script]. Each sets $Host::Dedicated, enables the
Windows console, and calls CreateServer() directly:
Tribes2.exe -light <MissionName>
Tribes2.exe -navBuild <MissionName> <MissionType>
Tribes2.exe -spnBuild <MissionName> <MissionType>
There is also Tribes2.exe <file>.dif, which sets $LaunchMode = "InteriorView" for inspecting a
building on its own [script], and -show for the shape viewer
(Console functions).
Where mapping sits relative to the rest of this handbook
| You want | Go to |
|---|---|
The .mis file format and its header comments |
Missions |
| What a gametype expects a map to contain | Gametypes |
How bots use .nav |
AI and bots |
| The formats themselves | File formats |
| Placing deployables at runtime rather than authoring | Turrets and deployables |
Missions covers the .mis as a data file a mod reads. This
section covers making one.
A caution on scope
The editor is Torque’s, not Sierra’s, and its manual describes the general tool. Where Tribes 2 differs — the mission-type headers, the team/base object naming conventions, the power system — the manual is silent and this handbook fills the gap from the shipped missions and scripts.
Anything about .dif interior authoring is out of scope: interiors are built in external tools of the
Torque Constructor lineage, which are not part of the game and not documented here. Maps place interiors;
they do not create them.