-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
World generation #24
Comments
I think a first step would be to load the Then, supporting basic super-flat generation using the layers in We'll need a perlin-noise library to support terrain generation in "default" world types, as well as implementing the biome grid/map layers. The logic for the latter could be based off Glowstone, which has near-parity with Vanilla (but only for 1.12). Larger structures like villages, caves, and strongholds will probably be later additions and be tracked in separate tickets when the time comes. At some point we'll also have to be able to generate a world from scratch (including the Does this plan seem fair to you, @caelunshun? |
Seems reasonable to me. Superflat generation does seem like a good way to start, given its simplicity. I think generating a "bland" default world should be the next step—just simple use of Perlin noise to generate hilly variations. This would then lay the groundwork for biomes, caves, and such. https://github.com/jackmott/rust-simd-noise seems like a good noise library to use—its benchmarks show it to be over eight times faster than alternatives thanks to SIMD. I'll take a look at Glowstone's biome grid implementation to try to understand how that works. How to generate the variation between biomes has been my main concern regarding world generation. As for where to generate worlds: when the chunk worker is requested to load a chunk which does not exist, it should spawn a task on the |
I was thinking about looking for a save file. Links and meaning a repo would help.... someone could generate saves for a handful of seeds and post them... just make sure you inject some art into selecting the seeds. A website or application that generates saves would be better. I don't know much about MC other than I think I would like it, I just won't run MS applications. |
I implemented the Minecraft worldgen in this crate a few years ago https://github.com/hansihe/voxel_worldgen It has most of the base features including biome support and cavegen. I don't really care that much about it anymore, so you have my permission to change the license/incorporate it in the project as long as I am credited. |
* Load generatorName and generatorOptions from level * Hook into chunkworker loading to generate new chunks * Generate superflat chunks using the layers defined in the generatorOptions * Do generation asynchronously * Generate chunk when region doesn't exist
Great resource for how certain things in the latest Minecraft update is achieved. A lot of talk about world generation. |
Roadmap:
This page will be a useful resource.
The text was updated successfully, but these errors were encountered: