Adds a new procedural generation algorithm that will be used to generate a more cave-system like Lavaland#262
Conversation
|
░░░░░░░░░░░░▄▄ |
Absolucy
left a comment
There was a problem hiding this comment.
nowhere near a comprehensive review, just two surface-level improvements
|
@SmArtKar has threatened to beat me if I don't get this PR merged. :*( they are so violent |
Tempting to delay so the beatings continue... >:) |
My wrath shall fall upon you both (this isn't urgent as we can't actually update rust-g past 4.something on /tg/ anyways, so the PR that requires this will be on hold until then) |
|
clippy warnings |
Force specific version of kiddo to hopefully make kiddo nicer to me Makes the args into a new type clippy...be kind.. Formatting clippy does not want to run locally so I'm doing it like this like a champ flaky test?
|
sorry forgot about this will look today |
|
streamable is a shit website pls embed video directly |
|
github always shits itself when I try to upload videos. |
This PR adds a layered terrain generation system that allows us to generate nice looking connected caverns.
It essentially performs the following steps to generate terrain:
Along side this, I added support to pass in a prefab json. This JSON lets you pass in data regarding structure that already exist in the grid, and should be either treated as definitely dead or definitely alive. This lets the ruins influence the generation to make them look more natural.
This looks like the following in DM:
list( "cx" = center_turf.x, "cy" = center_turf.y, "w" = active_ruin.width, "h" = active_ruin.height, "isEnclosed" = active_ruin.enclosed_for_terrain, )cx = center of ruin x
cx = center of ruin y
w = width of ruin
h = height of ruin
isenclosed = Whether the ruin is definitely alive (not enclosed) or definitely dead (enclosed)
Finaly result in TGstation looks like below
https://streamable.com/vgduo2