Sprig creator guide

What is Sprig?

Sprig is a top-down tile RPG maker that lives entirely in your browser — the editor, the engine, and your finished game are one self-contained page. You paint maps, wire up events, fill a database of heroes and monsters, then export the whole game as a single .html file or publish it to a link anyone can play.

The editor at a glance

Make your first map

Pick a ground tile and draw with the pencil (P). The rect tool (R) fills rectangles, fill (F) floods an area. Paths, water, and walls are autotiles — they join up with themselves as you paint. Maps have three layers (Ground, Overlay, Upper); the Upper layer draws above the player, which is how treetops and archways work. Ctrl+Z undoes nearly everything, including Database edits.

Add a character who talks

  1. Switch to ◆ Events and click an empty tile — a new event appears.
  2. Give it a sprite (the villager is a good start).
  3. Add a Show Text command and type a line.
  4. Press ▶ Playtest, walk up, and press Z or Enter.

The trigger decides how a page runs: action waits for the player to press the button, touch fires on contact, autorun takes over the moment the page becomes active (cutscenes), and parallel runs quietly in the background.

Dialogue, choices, and text codes

Show Choices branches the conversation — each option carries its own command list. Inside any text: \C[n] colors a span, \N[0] inserts the hero's name, \. and \| pause for a beat. Give the speaker a name and a face portrait on the command itself.

The chest pattern

The classic two-page event, and the key to understanding pages:

  1. Page 1 — condition self-switch A: sprite chestOpen, text "Empty."
  2. Page 2 — condition none: sprite chest, commands Give Item → Change Gold → Set Self-Switch A.

Pages are checked top to bottom and the first match wins, so the "already opened" page sits above the fallback. Once the self-switch flips, the event permanently shows its opened face. The same shape hides quest items until a switch turns on, swaps a boss for empty air after victory, and so on.

Switches and quests

Switches are named on/off flags shared by the whole game; variables hold numbers. A quest is just a chain of pages gated on switches. The town template's mayor works like this:

Battles and encounters

Enemies live in the Database with stats, action patterns, and drops; troops group them into formations with their own battle events. Start a fight from an event with the Battle command (set a win switch to react to victory), or add random encounters in Map properties — pick enemies, a rate, and optionally restrict them to painted regions. The battle system, side/front view, and turn/ATB flow are all under Database ▸ System.

Playtest and debug

starts from the game's start point; Shift+click ▶ (or ▶⚑) starts right where your cursor is. While playtesting, the 🐞 drawer lets you flip switches, edit variables, grant gold and items, change level, teleport, and toggle encounters — nothing it does touches your saved project.

Save, export, publish

Keep going

Start your next project from a template — Project ▸ New project offers a town with a fetch quest and a dungeon crawler with a key, a door, and a boss. Read them in the editor: every event is small and commented by its own behavior. The Fernbrook sample (Project ▸ Reset to sample) goes further — every command in the engine appears somewhere in it. When you outgrow the built-ins, the Plugins tab accepts plain-JavaScript plugins that can add commands, overlays, and even whole battle systems.

Stuck? The ? button in the editor reopens the quick start, and the keyboard reference lives under ⚙ Settings.