| .claude | ||
| assets-cg | ||
| AUDITS | ||
| cmake | ||
| dist | ||
| docs | ||
| LevelsPacker | ||
| nppflash_entities | ||
| nppflash_levels | ||
| sdl-pc | ||
| src | ||
| tests | ||
| tools | ||
| .clang-format | ||
| .clangd | ||
| .gitignore | ||
| build-casio | ||
| build-pc | ||
| CHANGELOG.md | ||
| clean.sh | ||
| CMakeLists.txt | ||
| README.en.md | ||
| README.md | ||
| run-pc | ||
| run-tests | ||
N++ on a Casio Calculator
"One ninja. One calculator. No excuse for failing math class."
Yes, you read that right. N++, the iconic platformer by Metanet Software — the one where you spend hours bouncing a tiny ninja off walls at full speed — runs on a Casio fx-CG50.
The same calculator sitting on your desk during exams.
What is N++?
A minimalist, unforgiving platformer: a black ninja on a white background, walls, deadly traps, and physics that reward mastery. No lives, no health bar — just you, a timer, and your ability to not explode.
The original game was released on PC/PS4 in 2016. This one runs on a graphing calculator.
What you can do
- Run, jump, slide along walls and chain wall jumps
- Navigate slopes — physics handles diagonals and half-slopes
- Collect gold coins scattered across levels
- Activate the switch to open the exit door — and survive long enough to reach it
- Avoid lasers sweeping the level (disabled by the switch)
- Dodge homing missiles launched by turrets
- Explode on a mine and watch the ninja shatter into colored pixels
- Splat from a fall too high and see the pieces fly off in ragdoll
- Celebrate with 9 different victory animations when you clear a level
- Progress through 11 levels that chain automatically
Controls
| Key | Action |
|---|---|
← / → |
Run |
SHIFT (short press) |
Small jump |
SHIFT (held) |
High jump |
SHIFT + opposite direction (near a wall) |
Wall jump |
SHIFT (result screen) |
Next level |
Why it's impressive
The physics are actually there. Inertia, coyote time, jump buffer, wall slide, diagonal slope handling — everything that makes N++ feel good to play is implemented. The ninja responds exactly the way it should.
The traps are there too: animated lasers with sparks at the impact point, homing missiles with a trail, all computed in fixed-point arithmetic to hold 60 fps on the calculator's SH4 CPU.
The animations as well: walking, running, jumping, wall sliding, 9 different victory animations. And when you die, it's spectacular — particle explosion or ragdoll depending on how you went out.
How to install
- Download
NppClone.g3a - Connect your Casio fx-CG50 via USB
- Copy the file to the calculator's memory
- Launch it from the main menu
That's it.
Building from source
You need fxSDK and the sh3eb-elf cross-compilation toolchain.
fxsdk build-cg
The NppClone.g3a file will appear in the project root directory.
Work in progress.

