game.json for a new
game or an old-format import); Save as… picks another, and Save keeps using it.{"script": "name"}) run def name(d) from
story.py, a Python file next to game.json that you (or your coding agent) own. Bodies typed here are
written to story.py on the first Save and travel with Play; an existing story.py is never overwritten.
Declarative zones (say / ask / goto data) need no code at all.
Level effects (the gate-opening rules) are edited in the Level panel — click empty map space.view, player, goto(), apply_effects()…game.json — or the file you opened, under its own
name (Save as… picks another) — the one file you edit, share and copy to the
board; with a folder chosen it also writes the .pal8 art next to it. Ship with
tools/scene_build.py build --mpy, or run from game.json as is.player (Select tool → name field).game.json — the whole game, plus the .pal8 art the
board reads. Copy those next to your code.py on CIRCUITPY, or press
▶ Try in playground to run it right now.Best way to learn scrolling: load a scrolling demo below and inspect how its World size + camera are set up.
Pan: hold Space or middle-drag. Zoom: Ctrl+wheel or +/−. Undo: Ctrl+Z. Press ? anytime for all shortcuts.
| 1–6 / V B P R H | Select · Paint · Place · Region · Pan (+ HUD/Zone/Point) |
| Space-drag / middle-drag | Pan the view |
| Wheel / Shift+Wheel | Scroll vertically / horizontally |
| Ctrl+Wheel | Zoom to cursor |
| + / − / 0 / F | Zoom in / out / 100% / Fit whole map |
| Arrows | Nudge selection (Shift = ×10), or pan when nothing selected |
| Shift-click (Select) | Add / remove objects from a multi-selection |
| Shift (placing) | Stay in the HUD / Zone / Point tool instead of jumping to Select |
| Shift-drag (Paint) | Rectangle fill |
| Alt-click (Paint) | Flood fill |
| I / Ctrl-click (Paint) | Pick the tile under the cursor |
| Drag (Region) | Select a block of tiles — then Ctrl+C / Ctrl+X / Delete |
| Click (Region, after a copy) | Stamp the copied block · Esc drops it |
| Ctrl+Z / Ctrl+Y | Undo / redo |
| Ctrl+C / V / D | Copy / paste / duplicate selection |
| Delete | Delete selection |
| Esc | Deselect / close dialogs |