-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Revamping map generation to reduce hard transitions, allow widescale alignment of multi-overmap features, and include more natural Z-level generation #47563
Comments
I advice you not to do anything z-level related yet (we probably need to have some kind of sub-z-levels first) and stick to biome placement first, so lakes, ravines, swamps, forests, plains and rivers would connect properly across overmap boundaries. Lakes (#30442) are already spawned across overmaps, so they could be used for reference. Forests should also be seamless (#29755). #38539 and #37336 could be interesting for you for biomes stuff. Maybe you can try to resurrect #38894 - it provided nice results for rivers. Btw, fuzzy borders are already a thing (at least on overmap level, mapgen could possibly be imroved) for forests and lakes - thick forests in the middle and forests on borderline, lake shoreline is different from lake center: |
Is there an issue I can reference for progress on that, or a wishlist of some kind? I wasn't even aware that was something that was happening. I don't think it would throw too much of a wrench in my plans if that is happening; hell, I might even be able to make it easier by ensuring that the new generation can be easily extended to address those. But I'd want some kind of indication that that's something planned before focusing on it at all.
I should clarify, because while I think those changes will be very useful to look at, I want to be clear what I'm trying to do here. Rather than focusing on connecting things across overmaps, I am trying to connect individual map tiles; much like the reduction of shear edges in #29755, I'd like to reduce the shear edges between, for example, forests and plains. It's a similar problem, just on a smaller scale. While border biomes do help, they don't really fix everything. In both images I've posted, you can clearly tell where the plains stop, and where the other biomes begin. I'd like to reduce this. That is what I am calling fuzzing, here. Thanks a ton for all the references; they're quite helpful in understanding the state of map generation right now. |
Are you meaning fuzzing "just" in terms of appearance, or some alteration in functionality (e.g., a tile with both plain and forest on it having a mix of the two in plants, etc)? |
I will probably keep the tiles viewed on the map the same (a forest tile will still be a forest tile), but the generated features of the map tile will extend outside of it. Right now, I'm seeing if I can create a randomly shaped blob of terrain to place, such as trees, bushes etc. that extends outside of the tile's boundaries into adjacent tiles. That might not be the way to do it in the end, but it's a place to start. This will make forest tiles that border plains generate several plains tiles instead of forest tiles, and plains that border forests generate more forest tiles such as trees. It will also make the randomly generated 'single kind of tree' map tiles extend a bit into the surrounding forest, along with shrubs and other similar features. |
See #50651 for a portion of this, namely Z-level terrain. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not 'bump' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered. |
Closing as stale, since stalebot can't do this by itself. |
Is your feature request related to a problem? Please describe.
Map generation has been a bit disappointing for a while. Map tiles are generally generated without connecting to their surrounding tiles, leading to hard, visibly square edges. Large features that could be generated across multiple map tiles, such as hilly areas, would have a hard time aligning properly without doing most of the work to make the hills align manually. Z-levels are also not generally a part of non-manual generation, leading to one big flat world where everything that extends above or below ground level has to be specially created to be that way.
Describe the solution you'd like
I'm planning to create some world generation code to improve this, probably as an alternative to the existing generation, at least to start with.
There are also a few things I'd like to try to make easier for the future as well, if not immediately possible:
Describe alternatives you've considered
Leave it as is. It's really not terrible, and I have fun with the game right now, I just think it could be better.
Additional Context
Fuzzing, in this case, is an attempt to reduce the shear edges between map tiles; see https://i.gyazo.com/5484eaf96edda6f12a18b49e6937f2de.png and https://i.gyazo.com/c0bdcc8e898d59081ec075c8baca05be.png
In both images, you are able to easily tell where the fields stop, and other map tiles begin. I'd like to reduce this.
The text was updated successfully, but these errors were encountered: