RPGPrototype
A browser dungeon-crawler built from scratch in Three.js — not just a game, but a small engine: a custom in-browser level editor, a 300-piece modular medieval kit, and a full character-animation system.
Overview
RPG Prototype is a real-time 3D dungeon-crawler that runs entirely in the browser. What started as “can I build a game in Three.js” turned into building the tools to make one: an in-browser level editor, an asset pipeline that feeds it, and an animation system to bring the world to life. The interesting part isn’t any single feature — it’s that the editor and the game share one codebase and one rendering path.
What I built
- The House Editor — place, rotate and snap modular kit pieces with anchor-based snapping, so levels assemble like physical building blocks instead of fiddly coordinate-typing.
- A 300-piece MedievalKit — a modular set authored in Blender and pushed through a game-ready export pipeline, with IndexedDB-cached thumbnails so the editor palette loads instantly.
- A character animation system — a Mixamo-rigged hero driven by a 21-clip state system (idle, locomotion, actions) blended in real time.
- Resilient rendering — explicit WebGL context-loss handling so a GPU hiccup recovers instead of killing the canvas.
Why it’s hard
Browser 3D is an unforgiving target: you fight the GPU, memory, and a single main thread all at once. Running hundreds of kit pieces at a smooth frame rate means careful instancing and culling; making the snap system feel intuitive took as much iteration as the rendering. And building an editor and a game on the same engine means every change has to serve both without breaking either.
What’s next
Pushing toward a demonstrable vertical slice — combat and enemies on top of the existing world-building and animation foundations — and shipping a playable build that embeds right here on this page, so visitors can pick it up and move a character around without leaving the portfolio.