Skip to content

LD60: menu icons from the games, marquee flicker, title screens - #181

Merged
alecu merged 5 commits into
mainfrom
ld60-icons-and-title-screens
Oct 30, 2026
Merged

alecu merged 5 commits into
mainfrom
ld60-icons-and-title-screens

Conversation

@alecu

@alecu alecu commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #179, which was merged before these three commits were pushed.

  • Menu icons from the games themselves. Each games/ld60/*/menu.png is now a real moment of play instead of a drawing of ellipses and boxes. The new tools/ld60_assets/capture_menu_icons.py runs each game headless (the way tests/test_ld60_games.py drives it) from a fixed seed with scripted input, paints the world layer flat with the game's own tiles.png and sprites.png, and keeps the 64x30 window round the player, turned the way the player sees it. An autopilot keeps the Spiral Tunnel ship in the tunnel, since with no input it hits a wall within two seconds. make_art.py no longer draws icons.
  • Marquee flicker. The Circular Arcade marquee no longer loses its second A. The E of ARCADE now goes out for two frames in a row and ULAR of CIRCULAR for one other frame. marquee() takes a table of which letters are out in which frame.
  • Title screens. Each game's name now sits alone at the top of the disc in rainbow8x8.png, flipped so it reads upright there. The controls (or best time) and PRESS A move down to the rim, with PRESS A last. Each game carries its own copy of the font in a palette group of its own.

Test plan

  • Full tests/run_tests.py passes, including tests/test_ld60_games.py and tests/test_launcher_groups.py; mpy-cross compiles the touched game and launcher code.
  • capture_menu_icons.py is deterministic: a second run writes byte-identical icons.
  • Checked in the local web emulator: the five icons in the Circular Arcade group, the marquee frames with E and ULAR out, and the Spiral Tunnel title screen.
  • Look at the icons and title screens on the real disc.

🤖 Generated with Claude Code

alecu and others added 5 commits October 30, 2026 08:41
The menu icons were drawn with ellipses and boxes that only hinted at
each game, so they were hard to tell apart and looked nothing like the
games. Each icon is now a real moment of play: the new
capture_menu_icons.py runs the game headless from a fixed seed with
scripted input (an autopilot keeps the Spiral Tunnel ship in the
tunnel), paints the world layer flat with the game's own tiles and
sprites, and keeps the 64x30 window round the player, turned the way
the player sees it. make_art.py no longer draws icons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The failing bulb read better somewhere else on the sign: the E at the
end of ARCADE now goes out for two frames in a row, and ULAR of
CIRCULAR for one other frame. marquee() takes a table of which letters
are out in which frame instead of a single letter on the last one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The title screen stacked the name, the controls (or best time) and
PRESS A at the bottom of the disc. The name now sits alone at the top,
in the rainbow font the launcher uses for its headings, flipped so it
reads upright there; the other two lines move down to the rim, with
PRESS A last. Each game carries its own copy of rainbow8x8.png in a
palette group of its own, like it does steel8x8.png.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The end screen still stacked its heading, the time and PRESS A at the
bottom of the disc. The heading (GAME OVER, NEW BEST! and so on) now
sits at the top in the rainbow font, a few LEDs in from the rim where
it reads better than right on it, and the time and PRESS A move down to
the rim with PRESS A last.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
In the 8x8 steel font the two lines under the heading filled most of
the bottom half of the disc. They now use the launcher's 4x6
tinyfonts, sitting closer together at the rim: the controls, best time
or time in white, and PRESS A in red so it stands out. The in-game
HUD keeps steel8x8. Each game carries its own copy of both fonts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@alecu
alecu merged commit 6946d09 into main Oct 30, 2026
4 checks passed
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