Disclaimer: Voxel Game Test is not related to, endorsed by, sponsored by, or affiliated with Microsoft, Mojang, or Minecraft. This is a non-commercial test project made for learning and experimentation under fair use.
A faithful Minecraft clone that runs entirely in the browser with Three.js. No build step, no image or sound assets — every texture is procedurally painted onto canvases at startup and every sound is synthesized with WebAudio.
The game is plain static HTML + ES modules (Three.js comes from a CDN import map), so any static file server works:
npm start # serves on http://localhost:5173
# or: python3 -m http.server 8000
# or: any dev server already serving this folder — just open index.html through it
Opening
index.htmldirectly from disk (file://) won't work — ES modules require HTTP.
Optional, for the node smoke tests only:
npm install && npm test
localStorage automatically| Action | Key |
|---|---|
| Move | W A S D |
| Jump / swim up | SPACE |
| Sneak / fly down | SHIFT |
| Sprint | CTRL or double-tap W |
| Toggle fly | Double-tap SPACE (or F) |
| Break block | Hold LEFT CLICK |
| Place block | RIGHT CLICK |
| Pick block | MIDDLE CLICK |
| Hotbar | 1–9 or mouse wheel |
| Block picker | E |
| Debug | F3 |
| Pause | ESC |
index.html UI overlay markup + import map
style.css Minecraft-flavored UI chrome
src/
noise.js seeded PRNG, hashes, simplex noise (2D/3D), fbm
textures.js procedural 16×16 tile painters → texture atlas, cracks, sun/moon/clouds/water
blocks.js block registry: per-face tiles, physics flags, hardness, sounds
worldgen.js biomes, terrain shaping, caves, ores, trees, decorations, skylight heightmap
mesher.js chunk → BufferGeometry: culling, AO, smooth light, liquids, crosses, torches
world.js chunk store, streaming queues, edits, torch tracking, persistence
player.js AABB voxel physics, swimming, flying, sneak-guard + DDA raycast
sky.js day/night cycle, sun/moon/stars, clouds, fog
particles.js pooled billboard digging/explosion particles (1 draw call)
audio.js WebAudio synth: materials, explosions, generative music
entities.js falling blocks, primed TNT, explosions
ui.js DOM: title, hotbar, picker, menus, F3 overlay
main.js game state machine, input, mining/placing, held block, save/load, loop
No mobs, no item drops/inventory survival economy (it plays like creative with timed mining), no water flow simulation, no redstone. Torch light is distance-based (it can bleed through thin walls), and skylight uses a heightmap rather than flood-fill.
$ claude mcp add Fable5-mc \
-- python -m otcore.mcp_server <graph>