finds.dev← search

// the find

brunosimon/infinite-world

★ 606 · JavaScript · updated Feb 2023

Infinite procedurally generated world generated in WebGL with Three.js

A Three.js infinite procedurally generated world with terrain, grass, water, day/night cycle, and a player character. Bruno Simon (author of the famous interactive portfolio) made this as a personal experiment, and it shows — it's visually polished for a side project. No game mechanics, just a sandbox for WebGL techniques.

Terrain generation is offloaded to Web Workers so the main thread stays responsive during chunk generation. Custom GLSL shaders for grass, sky, and terrain rather than leaning on Three.js stock materials — the shader partials are well-separated and reusable. The State/View split gives the code a clear architecture for something that could easily become a mess. Day/night cycle with sun reflection and star field are implemented at the shader level, not as scene object hacks.

Last touched February 2023 and clearly abandoned — no issues are responded to, no roadmap. The README is four lines; if anything in the build breaks you're reading source code to debug it. No TypeScript, no tests, no comments in the GLSL — the shader code is readable but undocumented, which matters when you're trying to adapt perlin4d.glsl for your own use. Chunk loading distance and LOD are hardcoded; there's no config surface if you want to tune performance for lower-end GPUs.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →