Repository navigation
Angry Birds by Bobydeluxe, on its own - #211
Merged
Merged
Conversation
# Conflicts: # Makefile # README.md
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.
On Linux g++ took them for C++ even after -x c, so CI's test build failed. The C files are compiled with cc now, Box2D with c++, and c++ links them.
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.
Bobydeluxe's Angry Birds (his PR #184, now gone with his account), with his commit kept. The Chrome edition's 429 levels on real Box2D, its seven birds and the Mighty Eagle, no more freezes. 1,728,260 bytes installed, 30 fps on the N0110. Built on #210 (Turbo Rush), so merge that first.