Repository navigation
LD60: menu icons from the games, marquee flicker, title screens - #181
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #179, which was merged before these three commits were pushed.
games/ld60/*/menu.pngis now a real moment of play instead of a drawing of ellipses and boxes. The newtools/ld60_assets/capture_menu_icons.pyruns each game headless (the waytests/test_ld60_games.pydrives it) from a fixed seed with scripted input, paints the world layer flat with the game's owntiles.pngandsprites.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.pyno longer draws icons.marquee()takes a table of which letters are out in which frame.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
tests/run_tests.pypasses, includingtests/test_ld60_games.pyandtests/test_launcher_groups.py; mpy-cross compiles the touched game and launcher code.capture_menu_icons.pyis deterministic: a second run writes byte-identical icons.🤖 Generated with Claude Code