Skip to content

Tile Forge ​

A tile editor with terrain and object layers, a map preview, validation and a playable Sokoban test.

Run it ​

Build examples with devenv shell -- lcom-ng-build, then:

sh
lcom-ng run -- build/examples/tilemap_editor build/tilemap_demo.mlmap

Controls ​

ControlAction
1-5Floor / wall / goal / crate / player
Mouse drag / right-clickPaint / pick tile
Arrows + SpaceMove tile cursor and paint
DeleteErase the tile under the cursor
Enter / F5Switch editor / playtest
Arrows / WASD in playtestMove player
U / R in playtestUndo move / reset puzzle
Cmd/Ctrl+Z / Cmd/Ctrl+Shift+Z (Ctrl+Y)Undo / redo map edit
V / GValidate / toggle grid
Cmd/Ctrl+S / S / F2Save map
Esc in playtestReturn to editor
F1 / ? buttonShortcuts

In the app ​

Tile tools, map canvas and validation form a complete workspace.

Design the puzzle · Tile tools, map canvas and validation form a complete workspace.

What it demonstrates ​

Layered editing, map invariants, bounded parsing and serialization, keyboard movement and a separate playtest state. Invalid drafts can be saved and corrected.

Source: examples/tilemap_editor.c.

Refresh captures with the screenshot workflow.

Course/docs licensed CC BY 4.0. Code licensed MIT.