A night-time downhill drift game for the Sony PSP, written in Rust.
Sekira Pass after dark. Sideways the whole way down.
Download AngleZero.0.1.0.zip from Releases and
unzip it at the root of the memory stick. That is the whole installation — the archive holds one
file, already in the right place:
PSP/GAME/AngleZero/EBOOT.PBP
Then it appears under Game → Memory Stick.
It needs custom firmware. Stock firmware will not launch unsigned homebrew, and there is nothing this end can do about that.
cargo psp --releaseCopy target/mipsel-sony-psp/release/angle-zero.EBOOT.PBP to PSP/GAME/AngleZero/EBOOT.PBP on a
memory stick, renaming it to exactly EBOOT.PBP.
To run the whole test suite, which needs no PSP and no emulator:
cargo testTo build the same archive the releases are cut from:
scripts/release.shToolchain, emulator setup and controls are in Building and running.
| The idea | What the game is and why it works the way it does |
| Building and running | Toolchain, build flags, controls, running under PPSSPP |
| Architecture | The crate split, and how the game is tested on the host |
| PSP hardware notes | Traps the hardware sets that emulators do not, and where the frame budget goes |
| Diagnostics | Capturing frames and traces from the console, and headless screenshots |
| Assets | The XMB icon, background and music, and how the ATRAC3 is encoded |
| Cars | Turning a 400k-triangle model into a car the console draws, and adding another |
src/ game core — no PSP dependency, runs and is tested on the host
src/psp/ the shell: GU setup, rendering, audio, save data, diagnostics
tools/ the car asset compiler — host-only, never built for the console
tests/ 237 tests, all host-side
scripts/ music encoding, the glitch hunt, pulling captures off a PSP
assets/ XMB icon, background, music, and the car models in three stages
docs/ everything above
The split is the point: src/ knows nothing about the PSP, so track generation, physics, scoring,
the camera and the screen flow are all ordinary Rust that cargo test exercises directly. Only
src/psp/ needs hardware, and it holds no game logic. See
Architecture.
The same split runs the other way for content. tools/anglezero-asset compiles a car model into a
.azcar on a development machine; the console opens that file and draws it. Adding a car is a
model, a config file and a conversion — no renderer code. See Cars.
The car models are other people's work, used under licences that require attribution. The game shows each car's credit on the title screen, read out of the compiled asset rather than written into the source.
- BMW 3-Series E36 by Black Snow — CC-BY-4.0
- Toyota AE86 Trueno by Stanbox — CC-BY-NC-4.0 (non-commercial)
