Introduction

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.