A tiny browser 3D platformer made for js13kGames 2016. Play it on the js13kGames website!
This games makes use of Frank Force's fantastic ZzFX sound engine to power the game's very hastily added sound effects. The license and copyright notice for this library are preserved in zzfx.js.
Special thanks to Albin, Amanda, Hirad, Mirjam, and Sebastian for trying out the various early drafts of my game and giving feedback.
No AI was involved with any of the game's design, art, audio or dialogue.
I regularly used a chatbot to help answer questions about APIs, algorithms and
language details. One function (createPill) was predominantly LLM-generated.
I used no agentic AI.
Yes, I'm a web developer, of course my 13KB game has a 100MB node_modules!
I use pnpm to manage both packages and the Node runtime. If you have a recent
version of pnpm, simply run pnpm install to install everything.
If you prefer it, regular npm install should work fine too, but you'll get an
error if you don't have the exact version of node pinned in package.json.
Install it yourself, or delete devEngines from package.json if you can't be
bothered :)
pnpm run build-oncecreates dist.zip. That's the game!- The build script expects
advzipto exist on the path. If you're on Linux, chances are you can install it with your system package manager, probably as `advancecomp", and it's also in Homebrew on macOS for example. On Windows, you can download it from their website.
You nead to run at least pnpm run dev and pnpm run bindata to build
everything. The game will rebuild automatically on changes, and run a Vite
development server.
You can also run pnpm run build to build the final distribution in watch mode.
It'll even print the current zip size on every change!
See package.json for other scripts (tests (which I think don't pass anymore) etc.).