ThreeCraft.js
Stack: Three.js, TypeScript, Vite, Web Workers
ThreeCraft.js
I had an itch to build a Minecraft myself, with no engine and no voxel library: just Three.js. Itch scratched. I wanted a one-afternoon experiment and it took me about five weekends, because I got hooked. It's not a project I plan to put more time into: it was fun while it lasted, and now it lives here in my portfolio until something breaks and I can't be bothered to fix it.

What's in it
An infinite chunked world, generated and meshed in Web Workers, with caves, ores, biomes and flowing water. Day and night, shadows, and torches that actually light things up. An inventory with every block: doors, beds, stairs, slabs, chests. You walk, run, swim and fly. The skins are the ones from this portfolio, mine included. Faithful 32x textures and Kenney sounds.


The starting map
You spawn in a map that's already built, to show the game quickly and how far it goes: Castle Lividus of Aeritus, by KyleCRat (CC BY-NC-SA 3.0). I didn't build it: I pulled it out of a 2011 Minecraft save by reading its old save format block by block and mapping every id to the game's catalog, and put my name in gold above it. The whole world weighs 1.7 MB, because it only stores what differs from what the seed generates, and it can be exported to a file and loaded in another browser.



What it doesn't have
Survival, mobs, crafting or multiplayer. It's a creative mode for walking, building and flying. That's as far as I got, and as far as I wanted to go.
Credits
Textures by Faithful 32x. Sounds by Kenney, CC0. CC0 music from OpenGameArt: Peaceful Forest (Samza), November Snow (The Cynic Project), Heavenly Loop and Slow Stride (isaiah658) and Champ de tournesol (Loyalty Freak Music). The castle is Castle Lividus of Aeritus by KyleCRat, CC BY-NC-SA 3.0.
Play it here: threecraft.luisaldrichguz.net. Desktop only.