Live demo

Vaultward

A first-person dungeon crawler that builds itself as you explore, all in one HTML file. Three.js, real CC0 textures streamed from Poly Haven, and saves that live in your browser.

▶ Play Vaultward Opens full screen. Turn your phone sideways.
Runs in your browser, on your own device Play full page

Built for PC with keyboard and mouse: click the game to play, Esc frees your mouse. On a phone, use Play full page; touch controls are basic. Progress saves in this browser.

Vaultward started as the project I learned web development on. It's a first-person dungeon crawler that never ends: the vault is built room by room around you as you explore, so no two runs are laid out the same.

What's in it

  • An endless, procedural dungeon. Rooms, corridors, safe rooms and loot are generated as you move, and the world remembers what you've already opened.
  • Death has weight. You get a limited number of revives. Die and your unbanked gold and gear stay behind in a grave you have to find again.
  • Checkpoints and a bank. Sleep in a bed to save your progress, and vault your best finds so they're safe between runs.
  • Real-world materials. Stone, metal and wood textures are free CC0 scans streamed from Poly Haven while you play.

How it's built

  • One HTML file. The whole game (menus, world generator, enemies, loot, lighting, sound) lives in a single file of about 2.5 MB, running on Three.js and WebGL.
  • Saves stay on your device. Your run, bank and settings stay in your browser. The only things that leave your device are your Daily Dungeon score and the name you pick for the board, and only if you play that mode. If you tick "Feature my run", a small log of that run (where you went and what happened, never a recording of your screen) is sent too, so a highlight video can be made if you win the day.
  • Daily Dungeon. One attempt a day on a dungeon everyone shares, with a public leaderboard. No account needed.
  • Always in progress. I update it often, so what you play here is the latest build.

Built for PC. Vaultward was made to be played with a keyboard and mouse: WASD to move, mouse to look (click the game to lock the mouse), Esc for the menu. It works best in Chrome, Edge or Firefox on a computer.

On a phone? It runs there too, with basic touch controls I added so it's playable: a joystick, drag to look, and on-screen buttons. Expect some rough edges. Tap Play full page under the game, turn your phone sideways, and add that page to your home screen to play it like an app.

Videos

First iteration of VaultwardRunning in a CMD terminal
Vaultwards code from V1 to V5The birth of the Vaultwards foundation
About this project →