LuisAldrichGuz

ThreeCraft.js

Stack: Three.js, TypeScript, Vite, Web Workers

Demo

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.

ThreeCraft.js main menu
The main menu, with a generated world spinning in the background

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.

Savanna with acacias and a beach
A savanna with acacia trees next to the beach
Flying in third person
Flying in third person over the procedurally generated world
Skin picker
The skin picker, with the character in 3D
Snow biome and water
A snow biome, and water with effects Minecraft never bothered to make

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.

ALDRICH in gold blocks above the castle
The name ALDRICH in gold blocks above the castle
Sunset at the castle
Sunset
The church
The church

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.