Pre-alpha · v0.1.0

Escape

Editor Guide

Level Editor Guide

Build and edit stages — tiles, enemies, shards, scrolls, demon triggers, and stage properties.

Opening the Editor

Select LEVEL EDITOR from the main menu. The editor opens in fullscreen at 1280×720 on top of the game's logical 320×180 canvas, scaled 4×.

Saving: All edits are kept in memory until you press Ctrl+S or click SAVE. Stage files are stored as .dat files in the data/ folder next to the executable.

Editor Layout

ESCAPE EDITOR NEW OPEN SAVE UNDO ▶ PLAY Stage: 1-1 · BG: 0
Floor Tiles
Items
Triggers
Decorations
Enemies
← Palette panel (180px wide)
Click a tile/item to select,
then click the map to place.
← Map canvas (4480×2180 world)
Scroll with mouse wheel or drag
  • Top bar — file operations, undo/redo, play-test toggle, and stage metadata.
  • Palette panel (left, 180px) — five tabs of placeable items. Click a tab to switch category, click an item to select it.
  • Map canvas (right) — the 448×218 tile map (4480×2180px world). Left-click to place, right-click to erase. Scroll wheel to zoom/scroll.
  • Clicking any already-placed item on the map opens its properties dialog.

Keyboard Shortcuts

ShortcutAction
Ctrl+SSave stage to .dat file
Ctrl+ZUndo last action
Ctrl+YRedo
Scroll map left / right (in editor)
TabCycle to next field in a properties dialog
EnterConfirm / save dialog
EscCancel dialog / exit editor
F1Force demon appearance (game mode, for testing)
F2Complete current stage immediately (game mode)

Palette Tabs

Floor Tiles

The core building blocks of the map. Left-click to paint, right-click to erase.

TileBehaviour
SOLIDFull collision on all sides. The main floor and wall tile.
PLATFORMOne-way platform — players and enemies land on top, but can jump up through it and crouch-drop through it.
LAVAInstantly kills the player on contact. Can be configured to launch fireballs.
EXITOverrides the portal position — the exit portal will appear on this tile when all shards are collected.

Items

Collectables and interactive objects placed on the map.

  • Shard — the main collectible. Players must collect all shards to activate the exit portal. Each shard has a unique ID (e.g. SH1). Click a placed shard to rename its ID.
  • Scroll — displays a multi-line message when the player walks over it. Up to 3 lines separated by |. The first scroll (SC01) is suppressed during the countdown.
  • Moving Platform — a platform that travels between two points. Configure speed, direction and distance in its properties dialog.

Triggers

Invisible triggers that activate game systems when the player walks through them.

  • Demon Trigger — causes The Demon to appear and scan the level. Click a placed trigger to configure it (see Demon Trigger Settings below).

Decorations

Visual props that have no collision but can interact with game systems.

  • 26 generic decorations plus 3 theme-specific decos per theme (30 total theme decos).
  • rock_large is special — it blocks the Demon's scan beam completely. The player glows green when hiding behind one.
  • Decorations can be placed in front of or behind the player layer using the behindPlayer toggle in their dialog.

Enemies

Select an enemy type from the palette (T0–T79, grouped by theme), then click the map to place. The enemy spawns at the clicked position. Click any placed enemy to open its Enemy Properties dialog.

Stage Properties

Click the stage name in the top bar to open Stage Properties.

PropertyDescription
NameDisplay name shown in the HUD during play.
MusicFilename (without extension) of the MP3 track to play. File must be in data/music/.
BGBackground preset ID (0–39). 10 themes × 4 variants. See Background Themes below.
Shards NeededNumber of shards the player must collect to activate the exit portal.
Demon EnabledWhether the Demon system is active on this stage. Must be ON for demon triggers to fire.
Demon ScansWhether the Demon's scan beams deal damage. OFF = demon appears but beams are decorative.

Background Themes (BG 0–39)

BG rangeThemeVariants
0–3Infernal CavernsI–IV (stalactites, glowing cracks, lava horizon)
4–7Lava AbyssI–IV (magma, obsidian, molten strata)
8–11Bone CathedralI–IV (bone arches, chains, carvings)
12–15Demon CitadelI–IV (iron arches, fire pillars)
16–19Frozen TormentI–IV (ice columns, crystal spires)
20–23Plague MarshesI–IV (fungal mist, bog strata)
24–27Soul FurnaceI–IV (industrial slag, bellows)
28–31Blood WastesI–IV (crimson mist, bone fields)
32–35Void AbyssI–IV (star-field, void tendrils)
36–39PandemoniumI–IV (chaos colour shift, all-element mix)

Enemy Properties Dialog

Click any placed enemy to open its settings. Changes take effect immediately on the next play-test.

Movement

SettingDefaultOptionsEffect
Pattern0 — Patrol0–9Movement behaviour (see pattern table below)
Patrol Distance60 pxAny valueHow far the enemy walks from its spawn before reversing
Reverse at EdgeON ✓On / OffReverses at platform edges. Off = walks off (triggers despawn portal)

Movement Patterns (0–9)

IDNameBehaviour
0PatrolWalks back and forth within patrol distance
1Jump PatrolPatrols and jumps every ~1.2 seconds
2ChaseWalks toward player when within ~120px range
3BouncerBounces off all surfaces at a fixed angle
4Fly SineFlies horizontally with sinusoidal vertical drift
5SwoopDives at player from above, returns to spawn height
6GuardStationary until player within ~80px, then charges
7RandomChanges direction randomly every 1–3 seconds
8CircleOrbits a fixed point (airborne)
9TeleportStalks player, teleports 4 tiles behind them every 5s (T15 only uses this effectively)

Fireballs

SettingDefaultOptionsWhen active
Fires FireballsOFFOn / OffEnables all settings below
SpeedSlowSlow / Med / FastFireballs on
Frequency1/s1–10 per secondFireballs on
Direction→ ← ↑ ↓ ↕ ↔ RandomFireballs on
SizeSmallSmall / Med / LargeFireballs on

T19 Hell Hound — Additional Settings

Only visible when a T19 enemy is selected.

SettingDefaultEffect
Cycles2Number of approach-retreat cycles before the hound permanently despawns. 0 = one approach and done.
Reminder: The Hell Hound always spawns behind the player, not at its placed position. The placed position is just a waiting location until the player is far enough away.

Demon Trigger Dialog

Place a Demon Trigger from the Triggers palette tab, then click it to configure.

Stage Demon must be enabled. Open Stage Properties and turn Demon Enabled to YES, or triggers will have no effect.
SettingOptionsEffect
ModePositional / TimerPositional: demon fires when player crosses this X position. Timer: demon fires after a delay from stage start.
Timer (seconds)Any valueDelay in seconds (timer mode only).
RandomiseOn / OffAdds ±5 seconds of random variation to the timer.
Sweep SpeedNone / Slow / Med / Fast / V.FastHow quickly the demon's eye-beams sweep across the level. None = demon appears but does not scan.

Demon Phase Sequence

PhaseDurationWhat happens
WARNING5 sAlert message appears. Player should find cover.
ARRIVAL3 sDemon descends into view.
SCANNING12 sEye-beams sweep at configured speed. Contact deals damage.
DEPARTING2 sDemon begins to leave.
FADEOUT10 sDemon fades out, music restores.

Play Testing

Click ▶ PLAY in the top bar to enter play-test mode. The full game runs from the current stage. Click ■ STOP (same button) to return to the editor — your unsaved changes are preserved.

  • Press F1 during play-test to force the demon to appear immediately (useful for testing scan positions).
  • Press F2 to instantly complete the current stage (useful for testing stage transitions).
  • The debug overlay is always active — yellow T# labels appear above each enemy head.
  • Portal position (20 tiles right of the first shard) is recalculated fresh each time the stage loads.

.dat File Format

Stage files are plain-text. You can edit them manually in any text editor if needed.

LineExampleMeaning
LEVEL nLEVEL 1Level number
STAGE nSTAGE 2Stage number within the level
NAME …NAME Gates of HellDisplay name
MUSIC …MUSIC 1-1Music filename (no extension)
BG nBG 0Background preset ID (0–39)
SHARDS_NEEDED nSHARDS_NEEDED 1Shards to collect before portal activates
DEMON_ENABLED nDEMON_ENABLED 10 = off, 1 = on
SHARD id x ySHARD SH1 200 2052Shard ID, world X, world Y
SCROLL id x y textSCROLL SC01 120 2052 Hello | WorldScroll message. Lines separated by |
ENEMY t p x y pd rev fb spd frq dir sz cd crENEMY 0 0 320 2082 60Type, pattern, X, Y, patrol dist, reverse, fireballs, fb speed/freq/dir/size, chase dur, chase respawns
DTRIG x y mode timer rand sweepDTRIG 2240 2000 0 30.0 1 2Demon trigger: position, mode, timer, randomise, sweep speed
DECO name x y behindPlayerDECO rock_large 2210 2100 0Decoration placement
BOSS variant hp spawnSec modeBOSS 0 5 5 0Boss configuration (stage 1-4)
MAP … END_MAP448×218 tile grid. S=Solid, P=Platform, L=Lava, E=Exit, _=Empty

Editor Tips

  • Place the first shard near the start (x ≈ 200). The exit portal always appears 20 tiles (200px) to the right of it — design your stage around that landmark.
  • Use Reverse at Edge = OFF for enemies you want to patrol off platforms — the orange despawn portal makes this visible and the enemy respawns cleanly.
  • Pattern 4 (Fly Sine) and Pattern 8 (Circle) ignore tile collision — place them above the floor and they'll stay airborne naturally.
  • Pattern 5 (Swoop) returns to the enemy's spawn Y after each dive — place swooping enemies high up so they have room to dive.
  • Multiple demon triggers can exist on one stage — they fire in order as the player moves right. Use this to create a multi-phase demon encounter.
  • The rock_large decoration must be placed where the player can actually stand behind it — it needs floor tile beneath it.
  • Keep at least 280px (28 tiles) clear from the player spawn (x=0) before the first enemy — the game enforces this for spawning safety.
  • After editing enemy fireballs, save and play-test — fireball logs are written to escape_debug.log on the Desktop when logging is enabled in Settings.