04 / Description
Assembly Platformer
An 8-bit platformer written entirely in MIPS assembly, playable in the browser.
- MIPS assembly
- sms32v50
- JavaScript
- jumps (double jump)
- 2
- item pickups
- 3
Playable in your browser
Click the game, then use A/D to move, W to jump, S to drop.

Problem
Write a complete real-time game with no language runtime: no sprites, no engine, just registers, memory and a bitmap display.
Approach
The game targets a 64 x 64 memory-mapped display and the keyboard register. It has movement, double jumping, and three item pickups (slow time, higher jump, super speed). Everything, including collision and drawing, is hand-written assembly.
Key technical decision
To make it playable on the web, I ran the original assembly unchanged: mips.js is a small MIPS interpreter that executes the game_final source, and player.html draws the display to a canvas and feeds key presses into the keyboard registers. There is no port to JavaScript, so what you play is the assembly.
Result
Playable at the link above. Controls: A/D move, W jump (twice for double jump), S drop, R restart, Q quit. Collect the three items, then jump off the top.