STRANGE MAZES is a short, atmospheric 3D puzzle game built with Three.js and WebAudio. Guide a glowing orb through 14 hand-designed mazes with the mouse alone. Each level introduces a single new idea — moving walls, the world slowly rotating, dim light, gates that open and close on a timer — and each of the six color worlds has its own palette, ambient sound, and music.
A 30-minute experience meant to be played in one sitting, then replayed for a deathless run or a faster time.
localStorage (no accounts, no servers, no third-party calls)Most “maze” items on CodeCanyon are 2D, top-down, square-grid affairs with a single look. STRANGE MAZES is fully 3D with a chase camera, real-time shadows, animated particle trails, and a cinematic title loop. The orb has weight, the camera has a soft follow, and the worlds have weather (the ember world is genuinely dark, the arctic world is genuinely cold-looking). It feels closer to a shipped mobile game than a JavaScript toy.
The game is plain JavaScript. There is no build step, no npm install, no TypeScript, no bundler. The folder is unzipped onto a static web host, the buyer opens index.html, and the game plays.
The source is split into 12 small ES modules, each under 200 lines, each focused on one job:
| File | Purpose |
|---|---|
src/main.js | Game loop, state machine, level flow |
src/ui.js | HTML overlays (title, pause, level cards, icons) |
src/engine.js | Renderer, camera, post-fx hooks |
src/levels.js | The 14 levels (id, name, palette, modifier) |
src/palette.js | The 6 color worlds (every color in one place) |
src/mazegen.js | Seeded maze generator (mulberry32) |
src/mazemesh.js | Wall geometry, start/goal pads, rim inlay |
src/atmosphere.js | Sky dome shader, lights, environment dressing |
src/particles.js | Particle system, bursts, flashes |
src/player.js | Orb, trail, collision, lighting |
src/modifiers.js | The 9 gameplay modifiers |
src/audio.js | WebAudio synth, music per world, SFX |
For buyers who are not developers, the documentation walks them through the most common customizations step by step: changing a level’s name, adding a new level, applying a modifier, changing a world’s colors, replacing the page title, replacing the favicon. No JavaScript knowledge required for any of those.
| Browser | Version |
|---|---|
| Chrome / Edge / Brave | 90+ |
| Firefox | 88+ |
| Safari (macOS & iOS) | 14+ |
| Chrome on Android | latest |
| Samsung Internet | 14+ |
WebGL 2 and WebAudio are required. Both are enabled by default in every browser above. The game has zero external network calls during play (other than loading its own files from your server).
| File / Folder | Description |
|---|---|
index.html | Entry point |
DOCUMENTATION.html | Full 3,700-word buyer guide (open in a browser) |
README.txt | Quick-start guide (plain text) |
LICENSE.txt | License and terms (plain text) |
src/ | 12 ES modules, heavily commented |
assets/screenshots/ | 6 in-game screenshots used in the docs |
This is the first release of STRANGE MAZES. Updates are planned (additional levels, additional worlds, additional modifiers) and will be offered to existing buyers for free under the standard Envato free-update policy.
If you have any questions before purchase, use the item’s comment thread and I will reply within 24 hours.
© 2026 Tawajo. Original work. See LICENSE.txt for the full terms.