Better foundations for structures #3370

Open
opened 2023-01-28 17:28:12 +01:00 by kneekoo · 12 comments
Contributor

Our current foundations go a looong way. :D They can certainly be useful for some (very few) players who would carve them out and move in, but they look awkward. This is extremely visible on floating islands, but with rough terrain and huge mountains, this is also visible close to sea level.

What if we stop adding layers when we find a full layer of air? That would be an improvement.

huge vertical foundations for schematics

Now in the case of igloos, we could either not generate them at all on floating islands, or at least make them not have basements.

igloo with basement on a floating island

Well, this igloo actually looks decent. So we have a third option: don't make the basements so deep.

less deep igloo basement

Nice portal. :P
Nether portal with big foundation on a thin floating island

Our current foundations go a looong way. :D They can certainly be useful for some *(very few)* players who would carve them out and move in, but they look awkward. This is extremely visible on floating islands, but with rough terrain and huge mountains, this is also visible close to sea level. What if we stop adding layers when we find a full layer of air? That would be an improvement. ![huge vertical foundations for schematics](https://i.imgur.com/K5AqZvT.jpg) Now in the case of igloos, we could either not generate them at all on floating islands, or at least make them not have basements. ![igloo with basement on a floating island](https://i.imgur.com/J74AcPA.jpg) Well, this igloo actually looks decent. So we have a third option: don't make the basements so deep. ![less deep igloo basement](https://i.imgur.com/5USu0fY.jpg) Nice portal. :P ![Nether portal with big foundation on a thin floating island](https://i.imgur.com/qegUhAT.jpg)
kneekoo added the
enhancement
schematics
labels 2023-01-28 17:28:13 +01:00
Member

Why not just make the code that generates the support foundation just stop when the outside ring all has a non-air node.

I mean, it only needs to have a base that reaches to the ground, to appear solid. heck, we would even make it a sloped embankment, by having it go outwards by 1, for every #Y that it goes downwards.

Why not just make the code that generates the support foundation just stop when the outside ring all has a non-air node. I mean, it only needs to have a base that reaches to the ground, to appear solid. heck, we would even make it a sloped embankment, by having it go outwards by 1, for every #Y that it goes downwards.
Author
Contributor

Here's a timestamp in a "broken Minecraft seeds" video, with how their igloos are generated. They make the igloo, then strictly the shaft, then the basement. That's nice, it definitely saves some generated ores from destruction. :)

Here's [a timestamp](https://youtu.be/1cHCq2FcleI?t=580) in a "broken Minecraft seeds" video, with how their igloos are generated. They make the igloo, then strictly the shaft, then the basement. That's nice, it definitely saves some generated ores from destruction. :)

Thats how our igloos generate is that way. I once adjusted the code for generating the trapdoor because it was generating too high up in the igloo.

Thats how our igloos generate is that way. I once adjusted the code for generating the trapdoor because it was generating too high up in the igloo.
Author
Contributor

My second screenshot shows an igloo. The foundation is full, not just the shaft. That's a huge amount of blocks. :D

My second screenshot shows an igloo. The foundation is full, not just the shaft. That's a huge amount of blocks. :D

This one didn't quite fit in with the natural landscape.

This one didn't quite fit in with the natural landscape.
Author
Contributor

Yup, but at least it's properly connected to the ground below, and looks decent. A happy accident. :P

Yup, but at least it's properly connected to the ground below, and looks decent. A happy accident. :P
Author
Contributor

Well, this support pillar for a ruined nether portal is huge, and goes straight through one island, and then some. (Y 1806->2192)

ruined nether portal with a huge pillar foundation

And here's another one reaching down another island, without going through it. (Y 1962->2060)
ruined nether portal with a shorter pillar foundation than the previous one

These pillagers don't mess around. :D (Y 224->1298 - not visible all the way down)
pillager outpost with an oddly shaped pillar foundation

Well, this support pillar for a ruined nether portal is huge, and goes straight through one island, and then some. (Y 1806->2192) ![ruined nether portal with a huge pillar foundation](https://i.imgur.com/6VGtKOL.jpg) And here's another one reaching down another island, without going through it. (Y 1962->2060) ![ruined nether portal with a shorter pillar foundation than the previous one](https://i.imgur.com/1VLlZDX.jpg) These pillagers don't mess around. :D (Y 224->1298 - not visible all the way down) ![pillager outpost with an oddly shaped pillar foundation](https://i.imgur.com/K8PB86C.jpg)
Member

This is not only happening with floating lands. With default settings, but apparently some high mountains area (over the clouds, second screenshot is below the clouds).


Maybe stop after 5 layers when the number of filled blocks is not increasing.
I have seen this also with a city building on a hill and then three stories of basement, same seed.

This is not only happening with floating lands. With default settings, but apparently some high mountains area (over the clouds, second screenshot is below the clouds). ![](https://git.minetest.land/attachments/984ad79a-898c-4509-abd1-d016f274314a) ![](https://git.minetest.land/attachments/c5a90d9d-6619-4c52-919d-dd2d729316e6) Maybe stop after 5 layers when the number of filled blocks is not increasing. I have seen this also with a city building on a hill and then three stories of basement, same seed.
Member

Another possibility that may look better: every time you go down a layer, have a (pseudorandom) chance to change to an air node from then on if there is an air node adjacent horizontally and stop if the foundation turns completely to air.

I suspect this would blend into the surrounding terrain better and turn these giant pillars into spikes while still having a complete foundation for the structure.

Another possibility that may look better: every time you go down a layer, have a (pseudorandom) chance to change to an air node from then on if there is an air node adjacent horizontally and stop if the foundation turns completely to air. I suspect this would blend into the surrounding terrain better and turn these giant pillars into spikes while still having a complete foundation for the structure.

Another possibility that may look better: every time you go down a layer, have a (pseudorandom) chance to change to an air node from then on if there is an air node adjacent horizontally and stop if the foundation turns completely to air.

I suspect this would blend into the surrounding terrain better and turn these giant pillars into spikes while still having a complete foundation for the structure.

Or make a floating island when it can't reach terrain properly...

> Another possibility that may look better: every time you go down a layer, have a (pseudorandom) chance to change to an air node from then on if there is an air node adjacent horizontally and stop if the foundation turns completely to air. > > I suspect this would blend into the surrounding terrain better and turn these giant pillars into spikes while still having a complete foundation for the structure. Or make a floating island when it can't reach terrain properly...
the-real-herowl added this to the Mapgen update project 2024-06-27 18:13:42 +02:00
Member

I like the idea of @teknomunk. "Erode" the foundation until it disappears. This will cause such a floating island effect.

I like the idea of @teknomunk. "Erode" the foundation until it disappears. This will cause such a floating island effect.
Member

For villages, instead of a massive block of cobblestone, I was able to obtain a more interesting foundation with a very simple modification:

--- a/mods/MAPGEN/mcl_villages/foundation.lua	2024-06-26 14:33:05.312721078 +0200
+++ b/mods/MAPGEN/mcl_villages/foundation.lua	2024-07-17 02:05:36.626831518 +0200
@@ -22,7 +22,7 @@
 	end
 
 	p2.y = p2.y-1
-	while true do
+	while pr:next(1,20) > cnt do
 		cnt = cnt+1
 		if cnt > 20 then break end
 		if cnt>pr:next(2,4) then

causes the foundation to dissolve:
screenshot_20240717_021237.png

But of course here, the location itself was chosen poorly for such a large building. :-(

Nether portals etc. have a different code as far as I can tell, but it could possible be adapted in a similar fashion.

For villages, instead of a massive block of cobblestone, I was able to obtain a more interesting foundation with a very simple modification: ``` --- a/mods/MAPGEN/mcl_villages/foundation.lua 2024-06-26 14:33:05.312721078 +0200 +++ b/mods/MAPGEN/mcl_villages/foundation.lua 2024-07-17 02:05:36.626831518 +0200 @@ -22,7 +22,7 @@ end p2.y = p2.y-1 - while true do + while pr:next(1,20) > cnt do cnt = cnt+1 if cnt > 20 then break end if cnt>pr:next(2,4) then ``` causes the foundation to dissolve: ![screenshot_20240717_021237.png](/attachments/14534739-27b6-42d2-8c97-b0dd4f3e6cd9) But of course here, the location itself was chosen poorly for such a large building. :-( Nether portals etc. have a different code as far as I can tell, but it could possible be adapted in a similar fashion.
Sign in to join this conversation.
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: VoxeLibre/VoxeLibre#3370
No description provided.