Skip to content
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

Rework Lavaland tunnel themes. #26599

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

warriorstar-orion
Copy link
Contributor

@warriorstar-orion warriorstar-orion commented Aug 25, 2024

What Does This PR Do

This PR:

  • creates tunnel theme datums corresponding to the existing burrows, deeprock, and classic caves themes.
  • uses the rust-g noise generation functions to create thematically appropriate tunnels.
  • removes the "No Lava" mapping helper from lavaland.dmm proper, relying solely on area whitelisting to ensure lava placement for the base map.
  • refactors some lava ruins, changing their shape and borders to make them fit better with the new procgen.

I tried to port the thematic elements of the cave themes as closely as possible.

Why It's Good For The Game

For players: The new caves look a lot better and more natural than the old algorithm.

For coders: The existing cave generator was tightly integrated into a specific /turf subtype which contained all its behavior, which 1) was unwieldy and overcomplicated as the cave generation grew more complex and 2) was one of the turf types generated during mineral generation, which would cause issues if trying to rework mineral generation in any way.

I believe using the rust functions will also be faster overall, though I didn't do any actual timing tests.

Images of changes

Classic Caves

2024_08_24__21_35_52__Paradise Station 13

2024_08_24__21_35_58__Paradise Station 13

Blocked Burrows

2024_08_24__21_40_46__Paradise Station 13

2024_08_24__21_40_52__Paradise Station 13

Deadly Deeprock

2024_08_24__22_29_57__Paradise Station 13
2024_08_24__22_38_38__Paradise Station 13
2024_08_24__22_38_45__Paradise Station 13
2024_08_24__22_38_49__Paradise Station 13

Testing

Generating lots and lots of maps.

Checking spawn rates for mobs/flora/megafauna in progress.


Declaration

  • I confirm that I either do not require pre-approval for this PR, or I have obtained such approval and have included a screenshot to demonstrate this below.

Changelog

🆑
tweak: Lavaland cave tunnels are now a lot more organic and natural looking.
/:cl:

@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally Map Edit This PR will modify a map labels Aug 25, 2024
@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting approval This PR is waiting for approval internally -Status: Awaiting review This PR is awaiting review from the review team and removed -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally -Status: Awaiting approval This PR is waiting for approval internally labels Aug 26, 2024
@warriorstar-orion
Copy link
Contributor Author

CI is failing because of that runtime in river generation (which happens before caves). Should hopefully be fixed with #26606.

@github-actions github-actions bot added the Merge Conflict This PR is merge conflicted label Aug 29, 2024
@ParadiseSS13-Bot ParadiseSS13-Bot added the Testmerge Requested This PR has a pending testmerge request label Aug 30, 2024
@github-actions github-actions bot removed the Merge Conflict This PR is merge conflicted label Aug 30, 2024
Copy link
Contributor

@lewcc lewcc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good to me, though I'd like more eyes on it from lavaland-familiar folks.

code/modules/lavaland/caves_theme.dm Outdated Show resolved Hide resolved
@github-actions github-actions bot added the Merge Conflict This PR is merge conflicted label Sep 12, 2024
@github-actions github-actions bot removed the Merge Conflict This PR is merge conflicted label Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-Status: Awaiting review This PR is awaiting review from the review team Map Edit This PR will modify a map Testmerge Requested This PR has a pending testmerge request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants