Wield the Warp of Worlds, Cosmos Crafter!
0 screenshots
Write Javascript, create huge worlds!
So you've watched a few videos about procedurally generating planets. Or you've played StarCitizen, and now it's time to implement StarCitizen.js
. Why not? The browser is a perfect place for large virtual worlds, and game development with javascript or React is both fun and practical. Your rad mmorpg deserves a vast setting to play in. So let's create a world!
hello-worlds
is a collection of libraries that helps you procedurally generate beautiful, fantastic worlds, and populate them with interesting stuff.
Using these libraries, you can create three.js planetoids, moons, earth-sized celestial objects, and eventually more fantastic realms like ring-worlds, donut-earths, inverted dyson-sphere-like worlds, or maybe a disc world. The point is not to be realistic (although you can be), but fantastic!
I've created these packages and docs as a way to organize my (limited) knowledge about procedural generation. It might not be useful for your website or game, but you you might be able to learn something from reading the source (opens in a new tab).
I'm changing things up in this library on a daily basis. Expect these docs to be outdated as soon as they are available online! If you need help or want to ask questions, reach out on twitter (opens in a new tab) or DM me in the Discord (opens in a new tab)
Libraries in hello-worlds
hello-worlds/planets
Create planets and other various types of worlds in three.js
.
hello-worlds/react
Create hello-worlds
planets and worlds in your @react-three/fiber
scene via React
.
hello-worlds/tongues
Generate a plausible-ish randomly generated language.
hello-worlds/cultures
Procedurally generate countries, their languages, and their demographics. Based on "Medieval Demographics Made Easy" by S. John Ross and popularized by dunjon.bin.sh (opens in a new tab)
hello-worlds/core
Core library that each depends on. Mostly useful for setting global seeds
.