Skip to content

LD60: maze outlines in their own tilemap, tunnel rocks, fuller icons - #183

Merged
alecu merged 3 commits into
mainfrom
ld60-maze-outlines-icons-tunnel-rocks
Oct 30, 2026
Merged

alecu merged 3 commits into
mainfrom
ld60-maze-outlines-icons-tunnel-rocks

Conversation

@alecu

@alecu alecu commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

Follow-ups to the LD60 Circular Arcade games (after #182).

Catch the Robots: wall outlines in their own tilemap

The maze's bright outlines kept going missing. On a TUNNEL layer the renderer walks a tile column one texel row at a time, and several rows can land on the same LED; the last one drawn wins. So a one-pixel outline on the rim side of a wall was painted over by the fill just inside it.

The walls are now two tilemaps over the same cells, scrolled together: the dark fill (tiles.png), then the outlines on a clear background (outlines.png). Nothing in the outline tilemap draws after an outline, so it always shows.

  • The fill strip repeats one frame 16 times so it can read the same autotile indices. Wrapping frame indices isn't documented, so the code doesn't rely on it.
  • Sharing the cells means the only memory cost is that 1 KB strip.

Spiral Tunnel: rocks in the walls

Six rock tiles (a rock with a lit side, or a few pebbles) follow the slope tiles. When the tunnel is drawn, each solid wall cell gets a random one of them half the time. Now you can see which way the walls are moving. Rock tiles are solid wall, so collisions are unchanged.

Fuller Spiral Tunnel and Defender icons

  • Spiral Tunnel: the tunnel is 13–16 tiles wide and the icon is 8, so the old icon showed only the tips of the walls. The capture tool can now paint the whole map, not just the camera's view. It can also squeeze the window, cutting rows that are empty all the way across from between the walls. Nothing drawn is cut; the walls just come closer together.
  • Defender: the autopilot now flies down and then left into a crowd of aliens, so five are on the ship's left.
  • Both capture options are off unless a moment asks for them. The other three icons come out byte for byte the same.

Tests

  • Maze: the outline tilemap shares the fill's cells, is drawn after it and before the sprites, and scrolls with it.
  • Rocks: about half the solid wall gets a rock, every kind appears, and rocks count as wall.
  • Suite and build: tests/test_ld60_games.py passes and mpy-cross compiles both changed games.

Not yet seen on the real disc: how the outlines and rocks read on the LEDs.

🤖 Generated with Claude Code

alecu and others added 3 commits October 30, 2026 13:49
The maze's bright outlines kept vanishing in places. On a TUNNEL layer the
renderer walks a tile column one texel row at a time, and several rows can
land on the same LED; the last one drawn wins. So where the rows bunch up,
a one-pixel outline on the rim side of a wall was painted over by the fill
just inside it.

The walls are now two tilemaps over the same cells, scrolled together: a
plain dark fill, then the outlines on a clear background. Nothing in the
outline tilemap draws after an outline, so it always shows. The fill strip
repeats one frame 16 times, so it can read the same autotile indices (wrapping
frame indices isn't documented, so the code doesn't rely on it). The cells
are shared, so the only memory cost is that 1 KB strip.

The icon capture tool now draws whatever image each tilemap uses rather than
only tiles.png. The maze icon is unchanged, since fill plus outlines paint
the same pixels as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The walls were one flat colour, so away from the slanted edges nothing showed
which way they were moving. Six rock tiles (a dark rock with a lit side, or a
few pebbles) now follow the slope tiles in tiles.png. When the tunnel is drawn,
each solid wall cell gets a random one of them half the time and stays plain
otherwise. A rock tile is solid wall like frame 0, so wall_at and collisions
are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Spiral Tunnel's icon was mostly empty tunnel: the tunnel is 13 to 16 tiles
wide and the icon is 8, so only the tips of the two walls showed in opposite
corners. The capture tool can now paint the whole map, not just the part
inside the game camera's view, so the window can reach the upper wall. It can
also squeeze the window, cutting rows that are empty all the way across from
between the walls. Nothing drawn is cut; the walls just come closer together.
The icon is now a moment deeper in the tunnel (seed s4, tick 86), with both
walls, a rock, the ship and a UFO on either side.

Defender's icon had the ship with two aliens off to its right and nothing on
its left. Its autopilot now flies down toward the planet and then left into a
crowd of aliens (seed s4, tick 76), so five of them are on the ship's left
with mountains below.

Both options are off unless a moment asks for them, and the other three icons
come out byte for byte the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@alecu
alecu merged commit 31618e9 into main Oct 30, 2026
4 checks passed
@alecu
alecu deleted the ld60-maze-outlines-icons-tunnel-rocks branch October 30, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant