Projects

Three games, each playable right here — no install, nothing to run yourself.

Bounce — Browser Remake

Play Bounce — Browser Remake

A browser reimplementation of the Nokia J2ME game Bounce — all 11 levels, rebuilt from the original MIDlet's bytecode, level binaries, and spritesheet. With no decompiler available, I wrote a purpose-built class-file disassembler to read the game logic straight out of the compiled bytecode, then ported the tile format, physics, and collision tick-for-tick.

Arrow keys to move and jump, R to restart, F for fullscreen.

Neon Stack

Play Neon Stack

A competitive block-stacking game with modern scoring (T-spins, back-to-back, combos, perfect clears), a CPU opponent, and real-time multiplayer over a hand-rolled WebSocket relay — no libraries, just server.js talking raw frames. Territory mode replaces the usual attack-the-other-board loop with one shared board split by a moving wall, and every match is backed by a daily/weekly/monthly/all-time leaderboard.

Solo Climb and Versus CPU run entirely client-side — nothing to set up. Multiplayer, Territory, and the leaderboard need the included server.js running somewhere reachable; point the client at its address from the connect screen.

Thistlewick

Play Thistlewick

A small browser game in the spirit of Old School RuneScape's earliest quests: click around a village, talk to NPCs through branching dialogue, chop trees, gather items, and complete two chained quests for gold and XP. Everything — map, pathfinding, dialogue engine, and quest state machine — is hand-written vanilla JS rendered on a single canvas.

Click the ground to walk, click NPCs to talk, click the tree to chop.