SPARK64: learn real ARM64 assembly by playing
SPARK64 is a browser game that teaches AArch64 assembly on Apple Silicon — the actual instruction set your Mac runs, not a toy language built for teaching. You play a spark of data inside an M-series die, writing real ARM64 to light up registers, flip condition flags, and route values through the ALU to where they need to go.
It's Zachtronics-style puzzle design: 46 levels across 7 worlds, each one teaching a single idea — moving values, arithmetic, branching, loops, the stack, bit tricks — by making you write the instructions yourself and watching the trace light up as your program runs. No experience assumed going in. It's meant for anyone curious enough to try, 16 and up, and it doubles as an on-ramp to the reverse-engineering side of things I care about: the last boss of the first world is a predict-the-output puzzle, which is exactly the skill real reverse engineering runs on.
Every level pairs the assembly with a plain-English explanation and an everyday analogy — a register is a Post-it note on your desk, a stack is a cafeteria tray dispenser — because the hardest part of learning assembly usually isn't the syntax, it's building an intuition for what's actually moving where.
It's a fully client-side Angular PWA, deployed straight to GitHub Pages — no server, no accounts, just open the page and start writing code. Progress carries a save code you can copy and restore on another device, so picking up where you left off doesn't depend on one browser's local storage.
SPARK64 is content-complete across all 7 worlds today, with more polish and a couple of gamified courses in the same style — C, Swift — on the roadmap.
— Ulric