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

outcrop #78875

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

outcrop #78875

wants to merge 15 commits into from

Conversation

LyleSY
Copy link
Contributor

@LyleSY LyleSY commented Dec 31, 2024

Summary

Content "outcrop"

Purpose of change

Realism

Describe the solution

A small stone outcropping in the landscape, based on the cave but without the goodies inside.
Not unique, no minimum occurrences required per https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/OVERMAP.md

Describe alternatives you've considered

Much larger connected maps. Good to do but a much larger project.
Basing it on the LMOE map and template
Clean up mapgen, doing that in separate PRs

Testing

Spawns and looks right

Additional context

Started as a DinoMod nest for flying pterosaurs and realized this is a broader need in vanilla

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Map / Mapgen Overmap, Mapgen, Map extras, Map display Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Dec 31, 2024
@github-actions github-actions bot added json-styled JSON lint passed, label assigned by github actions and removed json-styled JSON lint passed, label assigned by github actions labels Jan 1, 2025
@LyleSY LyleSY marked this pull request as ready for review January 1, 2025 02:18
@PatrikLundell
Copy link
Contributor

Have you considered basing it on the caves instead? The caves have a bit of variability to their edges which I don't think the LMOEs do.

@LyleSY
Copy link
Contributor Author

LyleSY commented Jan 1, 2025

I did but I couldn't figure out what it was doing before, some kind of magic implied roof from the ground level. I still don't understand it perfectly but I'll give it a try and see if I can do that. I agree it's a closer template for what I'm trying to do

@LyleSY LyleSY marked this pull request as draft January 1, 2025 15:25
@PatrikLundell
Copy link
Contributor

PatrikLundell commented Jan 1, 2025

Yes, that's the approach I was suggesting.

In case you haven't figured it out yet, the trick used here is to have a palette consisting of chunks rather than terrain, so each letter is associated with a chunk. The chunks then consist of terrain for the surface level and, when needed, a nested chunk on the Z level above. The thing you can do with this approach is seen by the "%" chunk, which can either provide rock or ground cover with a 50% chance, and when rock is selected it automatically provides a matching roof above it (and if we had multiple types of rock floor terrain, which we currently don't, it would be possible to get any of these above the rock terrain with probabilities). At the same time, when you did "roll" ground cover, nothing is generated above it.

I think it would be possible to update outcroppings and caves in the future by adding ramps (of a new rock variety), but that would be a bit tricky, since a ramp covers two tiles (one for the bottom part, and one for the top part), and they also have orientation, so you'd probably have to have 4 of those pieces. Also, ramps currently allow vehicles to drive up them, which a walkable rock slope wouldn't (on the other hand, natural rock "ramps" would probably only be a single tile wide, so they'd still be usable only for bikes and the like, and it might be possible to mark rock "ramps" as non driveable terrain).

Anyway, I looked at your current iteration, and the only comment I have is that the two latter versions are very similar: I'd suggest modifying the last one a bit make it a bit more distinct.
Edit:
Some suggestions:

  • Less even, so some end may be thicker than the other: You have the benefit of not having to care about preserving room for internal passages.
  • A version where you have two clumps and a narrower "waist" somewhere between them, not necessarily in the middle.

@LyleSY LyleSY marked this pull request as ready for review January 1, 2025 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Map / Mapgen Overmap, Mapgen, Map extras, Map display
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants