Documentation

The Forge: Map Editor Guide

The Forge, the map editor, authors everything the game can load: terrain and elevation, lava, every unit and building with its own health, gear and orders, per-seat rosters, a deterministic trigger system, per-map balance changes, and in-game cutscenes. These pages go through it in the order you would build a map, and each one says what the tool does and why it works that way.

Start here

  1. 1IntroductionWhat The Forge map editor can author, maps versus mods, what it deliberately cannot do, and the shape of the work from an empty grid to a published map.
  2. 2Your First MapA step-by-step walkthrough for someone who has never made a custom map: open The Forge, paint terrain, place gold and start positions, add one trigger, test it, save it, publish it and share the link.
  3. 3InterfaceThe module bar, the tool palettes, the outliner, the viewports and every keyboard shortcut that matters.
  4. 23Capability mapWhat you want a map to do and the node that does it, every entry checked against the live catalogue, plus an honest list of what is not possible yet.
  5. 24GlossaryEvery term these docs use that does not mean what you would guess, in one place.
  6. 25Frequently asked questionsThe questions people actually ask first, answered in one place, with a pointer to the page that goes deeper.
  7. 31Your First Win ConditionTurning a map into a game: the built-in victory presets, when you need a trigger instead, the counter-and-outcome pattern every genre uses, and the seat rule that decides whether your victory actually ends the match.
  8. 32Your First Custom UnitCloning a shipped unit into one of your own in the Data module, making it trainable, finding real ids instead of guessing them, and the did-you-mean suggestion that validates cleanly while giving you the wrong unit.
  9. 33Your First ModTurning changes you made on one map into a .sosmod that plays on any map: exporting from The Forge, what a package may contain, validating it, applying it by file or by link, and the multiplayer rule that keeps everyone in the same match.
  10. 34Publish and IterateShipping the first version early, what the gallery tells you back, updating a published map in place without losing the old one, and building a repeatable check so a balance change cannot quietly break the map.
  11. 45Your first sandboxed scriptWrite JavaScript or TypeScript in the Forge, test it in QuickJS, and remix Aces of Stone or Drop of Stone.
  12. 46Build a custom gameCombine map JSON, visual triggers and sandboxed JavaScript or TypeScript; reuse public arcade controllers, validate the result and understand the current engine boundaries.

Build the world

  1. 4Creating a MapSizes, biomes, generated starting layouts, spawn points, the environment block and what a saved map actually contains.
  2. 5Terrain & HeightPainting ground and water, the terrace elevation model, ramps, and the six ways a hand-edited height field goes wrong.
  3. 6Lava & BiomesLava as a terrain type, the one rule it imposes on a map, and how the eleven biomes differ from each other.

Units & data

  1. 7Units & PropertiesPlacing units and buildings, the inspector, authored ids and tags, hero instances, spawners and ground items.
  2. 8Players & TeamsThe per-seat roster, controllers, teams, starting resources, AI settings, map rules, and how to make a one-player map boot.
  3. 11Data OverridesPer-map changes to units, buildings, items, spells, upgrades and heroes: patching, cloning, merge rules and array operators, and what gets checked.

Game logic

  1. 9TriggersEvents, conditions and actions; variables, functions and hashtables; camera and interface actions; and combining JSON triggers with sandboxed JavaScript or TypeScript.
  2. 12CutscenesBuilding an in-game scene from camera keyframes and timed lines, and the one rule that keeps a skipped cutscene from breaking a match.

Presentation

  1. 19Custom Units & ModelsGiving a custom unit or building a 3D model: modelUrl and mod: references, the limits a model must fit, animation clip naming, effect sockets, and what happens when a model fails.

Test & publish

  1. 13TestingLaunching the map in the real engine, what to check before you call it done, and how to test a map that only misbehaves in multiplayer.
  2. 14Validation & ToolingOne validator, four front ends: the Validation module, the web validator, POST /api/validate and the command line. Plus the JSON Schemas, the Trigger Debug panel and a write, validate, fix loop for people and AI agents.
  3. 15PublishingPublishing to Custom Games from The Forge, what blocks it and why, share links, updating a published map, and what happens after: ratings, reports and moderation.

Mods & assets

  1. 16ModsWhat a .sosmod package is, the two sample mods line by line, applying a mod in single player, multiplayer and by link, dependencies, and exporting one from The Forge.
  2. 17Compatibility & VersioningEvery version number a map or mod carries, what the game enforces about each today, and the policy for how formats change without breaking published content.
  3. 20Asset CatalogFinding the ids a map or mod can reference: unit and building ids to clone, model ids, sprite keys and sound ids, and how each one is checked.

Genres

  1. 35The Genre CookbookEight custom-game shapes as recipes: the rules to set, the triggers to add, a trigger fragment checked against a real map, and one command per recipe that plays the map and asserts the result.
  2. 36Walkthrough: Tower DefenseA read-through of the shipped tower defence showcase: its waves, its lives counter, the two triggers that can end it, and why a headless run of it loses.
  3. 37Walkthrough: Castle FightA read-through of the shipped Castle Fight showcase: buildings that spawn their own army, income on a timer, and a castle poll that pairs victory and defeat across four seats.
  4. 38Walkthrough: Hero ArenaA read-through of the shipped champion arena: a custom event between scoring and winning, chat-driven save codes, and a bot loop written entirely in triggers.
  5. 39Walkthrough: SurvivalA read-through of the shipped survival showcase: a day and night cycle run on two named timers, a horde spawned at dusk and deleted at dawn, and a match decided on the sixth sunrise.
  6. 40Walkthrough: Deep DelveA read-through of the hand-authored horde showcase: four spawn regions, waves that scale by arithmetic, and a win condition that is one atTick node with no condition attached.
  7. 41Walkthrough: Tanks of StoneA read-through of the hand-authored tank arena: five rounds counted by one death trigger, enemy movement written entirely in triggers, and a barricade field you shoot holes in.
  8. 42Walkthrough: Escape MazeA read-through of the Vault of Ash escape map: three routes that charge three different currencies, trigger-authored chase AI kept in a hashtable, and a clock tuned against measured route lengths.
  9. 43Walkthrough: Hero SiegeA read-through of Siege of Ember Gate: five waves that each send a swarm and a ram at opposite targets, bounty paid to the killer, and a repair that buys back the past and nothing of the future.
  10. 44Walkthrough: Lane RaceA read-through of Ironvale Legion: ten rounds against both lanes at once, where the only decision is what each round's gold buys, and income that pays back on round 7 of 10.
  11. 47Build a city builderTurn the city on for your own map, give it your own numbers, drive it from scripts and triggers, paint map layers and reshape the land. Cities of Stone is built this way.

AI & automation

  1. 18Working with AI AssistantsUsing a chat assistant or a coding agent to draft triggers, data overrides and mods: what to give it, how to bring its output into The Forge, and how to check the result before you play.
  2. 30The AI Agent ToolkitThe agent-facing half of AI authoring: the validate → play → assert loop, the starter templates, the four engine facts no schema will tell you, and what an agent gets wrong on its first attempt.

Reference (generated)

  1. 10Trigger referenceEvery trigger event, expression and action: its JSON kind, editor sentence, fields and a minimal valid example.
  2. 26Troubleshooting by error codeEvery code the validator can report, what it means and how to fix it, plus which ones stop a map loading at all.

Advanced

  1. 21Web APIs, Embedding & Headless RunsThe HTTP endpoints for community maps, validation and the asset catalogue; embedding the game in an iframe with postMessage; and running matches headlessly from a checkout of the repository.
  2. 22Engine Internals & EventsWhat you can hook from a map, what you can hook from a page embedding the game, and what needs a fork of the engine: the event bus, adding systems, and the determinism rules a fork must follow.
  3. 27Determinism for authorsWhy the same map must produce the same result on every machine, what the engine does to guarantee it, and the handful of habits that still matter when you author triggers.
  4. 28Performance and limitsThe real per-tick budgets a map may spend, every hard cap with its live value, what happens when you cross one, and how to see it happen.
  5. 29Security modelWhat a custom map may and may not do to the machine that loads it, why each boundary exists, and what is checked where.