Skip to content

PolyGT 3D by Boris-TH, on its own - #212

Closed
Mason363 wants to merge 19 commits into
mainfrom
polygt
Closed

Mason363 wants to merge 19 commits into
mainfrom
polygt

Conversation

@Mason363

Copy link
Copy Markdown
Owner

Boris-TH's PolyGT 3D from #201, with his commit kept. Three circuits, seven rivals that race, the endless road, saves that keep. 70,692 bytes installed, 30 fps on the N0110. Built on #211 (Angry Birds) and #210 (Turbo Rush), so merge those first.

Bobydeluxe and others added 19 commits October 23, 2026 13:01
… keep

Bobydeluxe's arcade racer, rebuilt to play well and never break. The road is
drawn the arcade way, segment by segment, with hills and crests that hide what
lies behind them, cars and roadside scaled to their distance, and a backdrop
that turns with the road. The six circuits have their own bends, climbs and
scenery, and a map in the corner shows where everyone is.

Rivals brake for the bends at three levels, pass slower cars and each other,
and go round a stopped car. Up accelerates, Down brakes, OK burns nitro, + and
- shift with the manual gearbox, Back pauses (Resume, Restart race, How to play,
Quit game, which asks first) and Home saves and quits, even mid-race: Continue
picks the race or the Grand Prix up again. Every screen has a line of keys, the
first race starts with them, and race credits buy four upgrades in the garage.

turborush.sav is one checked format, with a copy in turborush_saves.py. The
game builds like UNO, is a big game of its own at rank 20, installs as 341 KB
and needs 34 KB of RAM. make test checks laps, crashes, the rivals finishing
every circuit, the Grand Prix and Free Ride through the keys, damaged saves and
300 sessions of random keys. His build scripts, workflow, ARM tests and notes
are gone, and the root README is back as it was.
# Conflicts:
#	games/games.json
Its card, GIF, credit and How to play section. W Production's Turbo Rush
inspired it. Bobydeluxe's GitHub profile is gone, so his name stays in the
credits without the link.
The game is rebuilt on Box2D 2.2.1 by Erin Catto (zlib), the version the
original's JBox2D comes from, set up as the Chrome edition sets it up: gravity
20, 33 ms steps of 10 and 10 iterations, its slop, translation and sleep
settings, its materials, damage from the bodies' momentum, explosions, the
weld, revolute and distance joints and the destroy timers. The birds' powers,
the Mighty Eagle, points, stars, the end of a level, golden and Easter eggs
and the unlocking rules follow the game's own code. The levels, pictures and
backgrounds come from its web build, packed by tools/pack.py and
tools/art.py into src/data.bin.

Box2D is cut down to the calculator's memory, its results unchanged: one
arena for bodies, fixtures, contacts and joints (104, 32, 96 and 120 bytes),
a broad phase sized for each level, and the step's islands and constraints
in a work buffer on the stack that the screen's strip shares. Every level
plays in the 133652 bytes custom builds give apps without running out; on
Upsilon seven of the most crowded say they are too big.

The freezes: the build relinked the app with its own linker script and
packer, and the old physics walked unclipped lines off screen. It now links
like the other big games, and plays every level in tools/emu.py on N0110 and
N0120 at 133652 and 107674 bytes without a hang; on the N0110 the most
crowded levels step and draw each frame within 33 ms.

Keys: the arrows aim, OK fires and uses the power, 1 calls the Mighty
Eagle, shift looks at the pigs, Back pauses (Resume, Restart, Levels, How to
play, Quit game, which asks first), Home saves and quits. A guide the first
time. One save format, "ABS1" with its size and a checksum, copied into
angrybirds_saves.py; a damaged one starts afresh.

tests/play.c plays every level to its end, a bot through a sample, random
keys, saves and determinism (make test). The PR's build.py, packer, linker
script, ARM scripts and workflow are gone.
Angry Birds builds like UNO (BUILD_DIR, GAMES_REDIRECT, the apps and clean
rules, BIG_APPS, APP_SPACE_APPS: it installs in 1.73 MB), with a big-game
entry in games.json after Friday Night Funkin', its release line, its
emulator test and the CI's host test.

The game's README, its screenshots, the thumbnail and the GIF are new, made
in tools/emu.py.
# Conflicts:
#	.github/workflows/build.yml
#	Makefile
#	games/games.json
#	tests/test_games.py
#	tools/release.py
Its card, GIF, credit and How to play section.
…es that keep

Boris-TH's low-poly racer, rebuilt to play well and never break. The race now runs
in whole numbers, a step of 20 ms at a time, so it comes out the same on every
calculator and computer. The car goes where it points, its tyres hold so much in a
bend, braking while steering hard slides it round a hairpin, and the engine pulls
through six gears. The three circuits are fixed loops with their own bends, hills
and roadside instead of a new random shape every race, so records and the ghost of
your best lap mean something. The endless road changes scenery as it goes, with
zones to reach before the clock runs out.

Up to seven rivals brake for the bends at three levels, keep to their lines, pass
slower cars and take nitro orbs, and no car goes through another or the barriers.
The picture is drawn with flat-shaded triangles and a depth buffer, edge to edge
with no gaps, at a steady 30 frames a second on an N0110.

Up accelerates, Down brakes, OK burns nitro, + and - shift with the manual gearbox,
Back pauses (Resume, Restart race, How to play, Quit game, which asks first) and
Home saves and quits, even mid-race: Continue picks it up. Every screen has a line
of keys, and the first race starts with them.

polygt3d.sav is one checked format, with a copy in polygt3d_saves.py. The game is a
big game of its own at rank 21, after Turbo Rush, installs as 69 KB and needs 98 KB
of RAM. make test checks the roads, laps, the physics, crashes, the rivals
finishing every circuit at every level, a race and the endless road through the
keys, damaged saves, a full storage, 300 sessions of random keys and a race hash.
His single file, test and PC key list are gone, and the cars carry names of their
own.
# Conflicts:
#	.github/workflows/build.yml
#	Makefile
#	games/games.json
#	tests/test_games.py
#	tools/release.py
Its card, GIF, credit and How to play section.
@Mason363

Copy link
Copy Markdown
Owner Author

Becoming PolyTrack instead, in a new PR.

@Mason363 Mason363 closed this Oct 25, 2026
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