Tiny Toon Duel (Three.js)
A quick-action toon shooter prototype built with Three.js. This repo is structured for static hosting (Vercel-ready) with a lightweight landing page that links to the game.
Project Layout
public/
├─ index.html # Landing page
├─ assets.json # Asset manifest (loaded by the game)
├─ assets/ # GLTF models / textures referenced by the manifest
└─ toonshooter/
└─ index.html # Main Three.js experience
vercel.json # Static hosting config (clean URLs, caching)
Anything under public/ is deployable as-is.
Running Locally
npm install -g serve # or use npx serve
serve publicThen visit:
http://localhost:3000/— landing pagehttp://localhost:3000/toonshooter/— game (loads/assets.jsonand/assets/**from the same origin)
Deployment (Vercel)
- In the Vercel dashboard, create a project from this repo.
- Framework preset: Other. Leave the build command empty.
- Set the output directory to
public(or rely onvercel.jsonwhich declares it). - Deploy. Clean URLs are enabled, so
/toonshooterand/toonshooter/both work. Static assets in/assetsare cached withCache-Control: public,max-age=31536000,immutable.
Asset Management
public/assets.jsonis the single source of truth for model paths.public/toonshooter/index.htmlfetches it and resolves URLs at runtime.- When adding or pruning models, update the manifest so the scene and assets stay aligned.
Local Dev Notes
- Optional Three.js workflow references live in
.claude/skills/threejs-builder/(not deployed; safe to keep in a public repo).
On this page
Languages
HTML97.1%JavaScript2.3%Python0.6%
Contributors
Created January 5, 2026
Updated January 5, 2026
