Skip to content

Chrome Dino: Chrome's dinosaur game in NumPlay - #66

Merged
Mason363 merged 19 commits into
Mason363:mainfrom
LilyTheCuteCatgirl:add-chrome-dino
Oct 19, 2026
Merged

Mason363 merged 19 commits into
Mason363:mainfrom
LilyTheCuteCatgirl:add-chrome-dino

Conversation

@LilyTheCuteCatgirl

@LilyTheCuteCatgirl LilyTheCuteCatgirl commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Chrome's dinosaur game for the NumWorks calculator: inside NumPlay, after Tetris, and on its own as ChromeDino.nwa. First brought to NumPlay by @LilyTheCuteCatgirl, from her version for the calculator's Python.

Chrome Dino: the T-rex jumps over a low pterodactyl

The game

  • Chrome's own game, ported from Chromium's dino_game (BSD license, see games/dinorun/LICENSE), as Chrome plays it on a screen 320 pixels wide, at Chrome's 60 frames a second:
    • It starts at speed 3.84 and goes 0.001 faster each frame, up to 13.
    • The jump goes higher the longer the key is held. Ducking works on the ground, and in the air Down drops you faster.
    • Small and large cacti come alone or in groups once you're fast enough.
    • Pterodactyls come from speed 8.5, at three heights: jump the low ones, duck the middle ones, and the high ones fly over.
    • It uses Chrome's collision boxes, flashes the score at every 100, and has a night every 700 points with the moon's phases and the stars.
    • Game over shows Chrome's GAME OVER and restart button.
  • Chrome's pictures, from its sprite sheet: tools/sprites.py packs them into 5.5 KB.
  • Keys: OK or Up jumps (hold for higher) and Down ducks. Back opens a pause menu (Resume, Restart, Quit game, which asks first). EXE plays again at once after a crash, and Home quits. The keys are written under the game, and the best score is saved.

Changes from the first version

  • The game follows Chromium's code: Chrome's speeds, jump, obstacles, collision boxes, night and score.
  • Ducking now gets you under the pterodactyls flying at head height. Before, ducking never helped against birds, and some of them flew through the dinosaur's head without a hit.
  • The other games' launcher screenshots stay in full colour. The first version cut five of them to 4 colours to make room, which NumPlay doesn't need anymore.
  • The key hints are readable, Back pauses instead of ending the run, and the icon has the other apps' rounded corners.

In NumPlay

  • It has a launcher card. The README gets its grid, credits and game count (19 games), and there's a how-to-play section, a thumbnail and a gallery GIF. The launcher GIF is recorded again.
  • It comes in French and Chinese, and in NumPlay-Upsilon.nwa (15 games).
  • NumPlay.nwa installs with about 25 KB to spare, and ChromeDino.nwa is about 21 KB.

Tested

  • make nwa apps check and make lang: every app and language build fits the calculator's flash and RAM.
  • tests/test_games.py, standalone and in NumPlay (Home and On/Off quit, RAM cleared, the save written and updated). Also test_upsilon.py, test_small_ram.py, test_uninstall.py and test_progress.py.
  • make -C games/dinorun host-test checks Chrome's numbers (the jump, the speed, the obstacles' rules, the collision boxes, night, the score's flashes), the keys and pause menu, and that sending only changed tiles leaves the screen identical to a full redraw. It then plays long games under the address and undefined-behaviour sanitizers.

LilyTheCuteCatgirl and others added 19 commits October 16, 2026 22:27
The game now follows Chromium's dino_game (BSD license, see LICENSE), as
Chrome plays it on a screen 320 pixels wide, at Chrome's 60 frames a second:
a start at speed 3.84, 0.001 faster each frame up to 13; a jump as high as the
key is held, ducking, and the quick drop in the air; small and large cacti,
alone or in groups once fast enough; pterodactyls from speed 8.5 at Chrome's
three heights (jumped, ducked under, or flying over); Chrome's collision boxes;
the score flashing at every 100; night every 700 points for 12 seconds, with
the moon's phases and the stars; and Chrome's GAME OVER with its restart
button. The pictures are Chrome's sprite sheet, packed by tools/sprites.py
(5.5 KB).

On the calculator, OK or Up jumps, Down ducks, Back pauses (Resume, Restart,
Quit game, which asks first), EXE plays again at once after a crash and Home
quits; the keys are written under the game. The best score is saved, and the
first version's file is read too. tests/test_dino.c checks Chrome's numbers,
the keys and the drawing, then plays long games under the sanitizers.
…e, Upsilon

Chrome Dino comes after Tetris in the launcher, and the other games keep
their screenshots as they were: NumPlay has room for it. It gets its README,
a how-to-play section, a thumbnail and a gallery GIF, and the launcher GIF is
recorded again. The README's grid, credits (LilyTheCatgirl, Chromium) and
count (19 games) are updated. Its texts and card come in French and Chinese,
and it is in NumPlay-Upsilon.nwa (15 games). test_games.py and
test_upsilon.py play it, and its icon has the other apps' corners.
@Mason363 Mason363 changed the title add chrome dino game to numplay Chrome Dino: Chrome's dinosaur game in NumPlay Oct 19, 2026
@Mason363
Mason363 merged commit 859b7fd into Mason363:main Oct 19, 2026
@LilyTheCuteCatgirl
LilyTheCuteCatgirl deleted the add-chrome-dino branch October 20, 2026 12:20
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.

2 participants