# Hello Worlds 👋🌐 [![hello-worlds-discord](https://img.shields.io/discord/900742295710728282?style=flat-square)](https://discord.gg/7VqE93h58B) [![Ko-Fi-flat](https://img.shields.io/badge/Ko--fi-F16061?style=flat-square&logo=ko-fi&logoColor=white)](https://ko-fi.com/X8X01C6KM) https://user-images.githubusercontent.com/5485824/196038523-2ff806cd-6d75-4d7e-8096-70b5b8ef13ba.mp4 ## Overview **Multi-threaded, CPU-based terrain generation for three.js or react three fiber** > **Warning** > These libraries are a work in progress. APIs may change unexpectedly until they reach version 1.0. In this project you'll find a growing collection of tools to plop large planets into your [`three.js`](threejs.org/) scene, and then populate that world with interesting things. If you're interested in using this library and want to keep up to date, please [follow me on Twitter](https://twitter.com/KennyPirman), and/or click the Watch button for this repository. ## Docs 📄 Visit https://worlds.kenny.wtf/intro to learn more. ## Demo 🚀 Visit https://worlds.kenny.wtf to explore a test scene. ## Packages 🎁 | Name | Description | | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [@hello-worlds/planets](./packages/planets) | Tools build large-scale planets, moons, planetoids, ring-worlds, and other fantastic environments in [`three.js`](threejs.org/), and help you query against them to create interesting features for your game or web experience. | | [@hello-worlds/react](./packages/react) | React.js components to easily integrate [@hello-worlds/planets](./packages/planets) and other components into your [`@react-three/fiber`](https://github.com/pmndrs/drei) scene | | [@hello-worlds/tongues](./packages/tongues) | Tools to build and operate against [ConLangs](https://en.wikipedia.org/wiki/Constructed_language) | | [@hello-worlds/cultures](./packages/cultures) | Tools to generate cultures and societies | | [@hello-worlds/core](./packages/core) | shared utilities | ## Questions? 💬 Find me on [Twitter](https://twitter.com/KennyPirman), streaming on [Twitch](https://www.twitch.tv/kennycreates), or the [Hello Worlds Discord](https://discord.gg/7VqE93h58B) ## Alternatives 💕 There are a couple solutions allow you to create beautiful terrain using web technologies: - [PlanetTechJS](hhttps://github.com/miguelmyers8/PlanetTechJS) - "What sets this library apart is its utilization of the GPU for all tasks. This includes generating textures for each facet, performing displacement, and shaping PlaneGeometries into spherical forms; the entire process occurs on the GPU. Consequently, there is no need for WebWorkers at this stage." - [terra](https://github.com/fintelia/terra) - rust-based renderer of offline-generated heightmaps - [three-landscape](https://github.com/nwpointer/three-landscape) - beautiful terrain material ## Credits 📓 This library would not be possible without [their help](./SOURCES.md).