Rainbow Frontier is a js13kGames 2026 Online entry for the theme Unicorns and Rainbows.
Ride an animated unicorn through a continuously generated 3D frontier, cleanse Grey Growths, fight the Grey Beast, restore regions, meet other players, chat, use herd pings, and play Hoof & Cross on a physical board in the shared world.
index.html— readable development source and the authoritative game source.dev-relay.js— tiny local emulator for the js13k Online relay protocol; development only.PACK_RELEASE.bat— Windows release builder and 13,312-byte size gate.tools/build/build.mjs— folds the HTML/CSS shell into JavaScript, minifies with Terser, and packs with Roadroller.tools/build/maxzip.py— deterministic maximum-DEFLATE ZIP writer using Zopfli when installed.tools/build/package.json/package-lock.json— pinned JavaScript build dependencies.requirements.txt— Python packaging dependency used by the release build.
Generated files (node_modules, tools/build/dist, and release ZIPs) are deliberately not committed.
WASD— rideSHIFT— gallop / chargeSPACE— jumpRMB— Rider Steer- Mouse wheel — camera zoom
ENTER— world chatF— Hoof & Cross interaction1–4— herd pingsM— mute / unmute
Requirements:
- Node.js + npm
- Python 3
- Python package
zopfli==0.4.2
Install dependencies:
cd tools/build
npm ci
cd ../..
python -m pip install -r requirements.txt
On Windows, run:
PACK_RELEASE.bat
The builder:
- syntax-checks the development JavaScript,
- minifies it with Terser,
- packs it with Roadroller using deterministic seed 7,
- creates a self-contained
index.html, - builds
RainbowFrontier_release.zip, and - fails if the archive exceeds the js13kGames 13,312-byte limit.
The frozen release-candidate build is reproducible at 13,063 bytes, leaving 249 bytes under the limit when built with Zopfli.
The production client uses the official js13kGames Online relay. dev-relay.js exists only for local multi-client development/testing and is not part of the submitted release ZIP.
The multiplayer model keeps gameplay state client-reconcilable: Growth cleansing, Grey Beast damage, region restoration, player movement/chat/pings, and Hoof & Cross are exchanged through compact relay messages without a custom production server.
The actual js13kGames submission archive is intentionally not stored in this source repository. It is generated locally by PACK_RELEASE.bat and submitted separately.