So, villages don't generate very well at all. I think we can agree on that. They spawn on cliffsides, the buildings are outdated and ugly, they don't have a proper city planner... Arson, murder, and jaywalking I tell you!
They need... Organization! And I have a plan.
The world has a 3x3 grid, detached from chunks that's used during the generation of the world. For instance:
This grid would be used to generate roads along it. Roads would be replaced with cobblestone instead of gravel, to allow usage of stairs and slabs.
Obviously, the roads would take up the entire 3x3 space, not the bit outlined here.
Buildings would be remade to fit on this 3x3 grid (Just to fit inside it. They don't have to take up every bit of it!) and would need a minimum of tile space, like a 2x3 or 4x4 box. They would have an entrance, or two possible entrances if considering them being mirrored, and would need to attach to a road on that entrance.
Slopes would work by detecting what level the center block of the 3x3 square was at, then making stairs or slabs as necessary. Thus, this:
would translate into this:
Red areas denote places where the landscape is too steep or irregular to build anything on. If a building's spot contains any red areas, it won't generate.
I'd also love to greatly improve the architecture style, which as I mentioned is rather outdated. There's still wooden corner blocks instead of corner stairs, for crying out loud!
This is actually a really good idea, no more derp village homes! No more derp paths! This may result in some villages being smaller, but that's ok, it's better than this:
I can agree on this as well, I can a name a few villages I found which are bugged out due to how the terrain generates. But I don't think we should change the way current village houses look like, unless it becomes a large and distractive problem.
however, why make a new grid system? why not use chunks instead? parts of this can be translated to chunks, like for example your road system. other features would have to be reworked, like the house system you proposed. you would just have to remake every house to fit into a chunk, and if the chunk area is too steep, has water in it or anything, there will not be a house there. I also think that villages should derive their centre dynamically (by taking into account the size of the village, the position on houses, the importance of houses, etc.) and that every villager (unless bred by the player or naturally) has his/her own home designated. no more all villagers clumping up in one house just because its the one closest to the well, but every villager returning to their homes at night.
Because a chunk (roughly a 7x7 +1 square under this system) is way too big. And with a 3x3 grid, it matches with the road width (which is what I based this on.)
If Facebook, Myspace, and Twitter were all destroyed, 99% of teens would go insane. If you're one of the 1% that would be laughing at them, copy this into your signature and hope it happens.
Please. It's really ridiculous to have a perfect village with 2 diamonds in the blacksmith and by some strand of luck, a stick for a diamond sword. It's all so perfect until I realize this is a derp village.
Just a better basic scheme and more "look at the dangy block nearby BEFORE putting something there" is needed.
When a road is spawned, the terrain is chedked, Each "road segment" (variable lengths) is checked for slope with segment before and after. Slabs or stairs would used for roads, depending on the slope. If some part is too steep, then the entire road segment isn't spawned at all. No more "road crossing a cliff boundary, leading straight into a stone wall when cming from one side., and leading straight into a cliffy deadly drop if you come from the other side".
More odds for villages to spawn, but more spawning if local overall terraim slopiness is at a LOWER threshold than current.
NOT checking merely the central village block coordinate. Check each chunk local slopiness + the center block of all 8 chunks around it. If there is even one "slopy" chunk around, village doesn't generate. no village too near hills or cliffsides.
When a building is added, check height of ALL four corners and generate only if they all fall within a low distandce fr meach other, instead of like how currently the height one ONE corner is checked and that determines how high to place the building and damn the weird results lol.
Things like that. Basically, spawning more intelligently.
A "perfect grid" however doesn't seem interesting as it would make the villages seem too similar.
I'd also make the village have a "downtown" and a "Periphery". Downtown streets would be 5 wide, with buildings able to be placed right alongside it, and thus even woth two buildings perfectly facing each oher, their stairs would leave a 3-wide path for you. Periphery roads would be 3 wide, with buildinds 1 space away (thus, their stairs entrace atop grass not cobblestone).
This is definitely what villages needs to become much better, and it's a really solid idea.
The only thing I can really think to improve upon it is to make villages expand on their own, which could be disabled with a game rule.
With a grid system, an expanding village would be easier to make, it could even check for player-made structures even if they're made with natural blocks such as checking for logs without leaves and abnormal slopes so that Timmy's dirt house isn't replaced with a magnificent villager house.
Just a better basic scheme and more "look at the dangy block nearby BEFORE putting something there" is needed.
When a road is spawned, the terrain is chedked, Each "road segment" (variable lengths) is checked for slope with segment before and after. Slabs or stairs would used for roads, depending on the slope. If some part is too steep, then the entire road segment isn't spawned at all. No more "road crossing a cliff boundary, leading straight into a stone wall when cming from one side., and leading straight into a cliffy deadly drop if you come from the other side".
More odds for villages to spawn, but more spawning if local overall terraim slopiness is at a LOWER threshold than current.
NOT checking merely the central village block coordinate. Check each chunk local slopiness + the center block of all 8 chunks around it. If there is even one "slopy" chunk around, village doesn't generate. no village too near hills or cliffsides.
When a building is added, check height of ALL four corners and generate only if they all fall within a low distandce fr meach other, instead of like how currently the height one ONE corner is checked and that determines how high to place the building and damn the weird results lol.
Things like that. Basically, spawning more intelligently.
A "perfect grid" however doesn't seem interesting as it would make the villages seem too similar.
I'd also make the village have a "downtown" and a "Periphery". Downtown streets would be 5 wide, with buildings able to be placed right alongside it, and thus even woth two buildings perfectly facing each oher, their stairs would leave a 3-wide path for you. Periphery roads would be 3 wide, with buildinds 1 space away (thus, their stairs entrace atop grass not cobblestone).
It seems like a lot of people like the idea of an organized grid. It allows things to be built to line up better, and it's not as though we don't have very much repetition in the houses now.
And besides that, I did suggest new building types or styles, which would be significantly better for village variety. The grid most visibly effects road placement anyways, and all it does is ensure buildings and roads don't overlap. It wouldn't even effect building design, except that the buildings would be centered on an AxB area.
Again, no need for the grid. When a village is generated, it can use the full 1 meter blocks resolution grid of the world and just use it intelligently instead of just placing stuff willy-nilly. How big is a village anyway ? Maybe 128x128 blocks, and it is not hard to gert an height map for that since the game already has it.
Check out games like the MORIA roguelike game. They don't have any trouble putting in corridors and rooms so that the ed result doesn't fit a grid, yet doesn't make utter onense either.
A village is basically a 2D megastructure. i.e. yes the heights varies, but you won't have vertical roads with buildings placed above others. Overall, it's a flat thing resting on the ground, occupying a surface.
It would be a simple enough matter to check all the surface blocks and make a "premap" of where the roads and buildings can go. Each block would get a rating to how it connects to adjacent blocks in all 4 basic direcitons (since the overall layout is ortgohonal anyway), checking not merely the 4 ajdacent blocks but also the blocks that are adjacent to those, but only for "obstacles" (merely an optimization to avoid going full block look too manu times - you do it only once for the whole area, place the "abbreviated" height data in a grid, then can very quickly scan through that when checking the actual height differences of al adjacent-to-adjcent blocks).
Ratings would be:
Totally Flat
Low Slope (placing a slab every 2 blocks allows smooth movement on the road)
Strong Slope (placing a stairs every block allows smooth movement on the road)
Cliff (which means that coordinate can't be built upon at all)
Then any road segment checks the max slopiness along it's entire width, and each 1 meter lenth of the segment is assigned the max slopiness to determine if it will be normal, slabbed, or staired. Wth of course the addition that a slabbed part can only have Low slope without a slab after it (slabs then stairs aren't passable without jumping). so even if the left side of thre road needs stairs and the right side can be ok with a sab, the entire width of the road would be stairs only, at the best point (looking at the 1 block before and after along the length of the road) so that it falls on the '.enter of gravity" of the actual denivellation and thus merge in the the nicest way possible with the overall scenery (there are after all only a limited number of cases to check). Road "corners" and intersections should be on mainly flat area, no cliff for the entire 3x3 area covered, averaged weight of surrounding height map determining if that 3x3 area is slabbed or not, or flat but heightedned by 1 block or flat and lowered by 1 block, and then "filling" (with road material or air) as needed. The corners and intersection would be deetemrined first, then the segments, in a 2-pass way (ie. first determination, then the actual spawning), so that if a segment is determined "impossible" then the next cornerthat is a bit further away from the village center won't spawn either.
Then a parallel matrix is defined for where the roads do end up vs still free spaces, which can then be filled to form an overall building layout that makes a bit more sense. Maybe then adding trails connecting building entrances to the nearest road. Fencing some yards so the "inner village" looks lik it is using all the available space. Lots of things can be done and the current vanilla way is merely a quick patch job.
These are "mediival" villages, not modern city planning 101. I personally would abhor roads following such a "grid" or any other "tiling" system.
A lack of a larger grid to me, though, makes villages seem unorganized (to me that's a bad thing), and is a rather huge pain when I'm trying to add on to an existing village and just about all the buildings/roads are one or two blocks to the side where I needed them to be to line up with the plans I laid out. The system you described would also work on a larger scale, making city planning easier, and a larger grid would barely affect looks.
The Meaning of Life, the Universe, and Everything.
Join Date:
3/30/2012
Posts:
43
Member Details
Awsome idea!
Personally I really want to build my base in a village, but because of this incredible bad vanilla village generation, when I find one, I immediately turn around and run far far away! Just can't stand those impossibly generated houses. (I never ever saw an iron golem that not I spawned into the game because of this...)
This must be the most important thing to fix in Minecraft, instead of adding more and more useless stuff into it...
That would be a very nice addition if the village geneartion system SMOOTHS the terrain before placing the structures, based on the slopiness; if the height difference between the structure and the terrain is high, than the terrain smoothing occures in wider area and if the height difference is not that significant just smooths the terrain in a smaller area.
Whit this, I think, there will be no problem to generate village in hills and cliffsides.
The villages are blend more into the terrain in general.
(After this, it would be nice to fix the worst ever crated AI in gaming history; the AI of the testificates.)
I agree with this, I mostly play on amplified worlds and a hut will occasionally turn into a skyscraper. It would be nice if village generation inherently flattened the terrain a bit as well, making red areas less likely.
The Meaning of Life, the Universe, and Everything.
Join Date:
3/2/2016
Posts:
50
Member Details
How about we do what you said, but maybe make the villages so that they spawn in a new "village" biome. This could be a new sub biome that spawns within taigas, plains, desserts, and savannas. What this would do is make it so no trees spawn in any area not intended, make the land flatter for building, and it would allow you to identify villages easier.
The Meaning of Life, the Universe, and Everything.
Location:
Newtown, Powys, Wales
Join Date:
12/7/2013
Posts:
464
Location:
UK
Minecraft:
BernardisGood
Member Details
Love this idea. 200% Support!
Rollback Post to RevisionRollBack
Roughly 95% of Minecraft players hate Villagers and would be very happy if they were removed. If you are one of the 5% who actually like villagers, copy this into your signature and hope it never happens. ~EnderDude124
Without boundaries some people lack the ability to function because deciding what they want to do prevents them from doing anything. ~Mike Ridolfi
Hey, this forum is going to close so if you are looking for me here's my Discord: BernardisGood#7987
So, villages don't generate very well at all. I think we can agree on that. They spawn on cliffsides, the buildings are outdated and ugly, they don't have a proper city planner... Arson, murder, and jaywalking I tell you!
They need... Organization! And I have a plan.
The world has a 3x3 grid, detached from chunks that's used during the generation of the world. For instance:
This grid would be used to generate roads along it. Roads would be replaced with cobblestone instead of gravel, to allow usage of stairs and slabs.
Obviously, the roads would take up the entire 3x3 space, not the bit outlined here.
Buildings would be remade to fit on this 3x3 grid (Just to fit inside it. They don't have to take up every bit of it!) and would need a minimum of tile space, like a 2x3 or 4x4 box. They would have an entrance, or two possible entrances if considering them being mirrored, and would need to attach to a road on that entrance.
Slopes would work by detecting what level the center block of the 3x3 square was at, then making stairs or slabs as necessary. Thus, this:
would translate into this:
Red areas denote places where the landscape is too steep or irregular to build anything on. If a building's spot contains any red areas, it won't generate.
I'd also love to greatly improve the architecture style, which as I mentioned is rather outdated. There's still wooden corner blocks instead of corner stairs, for crying out loud!
Thoughts?
I'm a pixel artist who makes pixel things and maps! I also do line art occasionally.
I have two work in progress resource packs!
This is the second one!
And of course, by "work-in-progress" I mean "will never, ever be completed".
This is actually a really good idea, no more derp village homes! No more derp paths! This may result in some villages being smaller, but that's ok, it's better than this:
I can agree on this as well, I can a name a few villages I found which are bugged out due to how the terrain generates. But I don't think we should change the way current village houses look like, unless it becomes a large and distractive problem.
Support.
Because a chunk (roughly a 7x7 +1 square under this system) is way too big. And with a 3x3 grid, it matches with the road width (which is what I based this on.)
I'm a pixel artist who makes pixel things and maps! I also do line art occasionally.
I have two work in progress resource packs!
This is the second one!
And of course, by "work-in-progress" I mean "will never, ever be completed".
Love this idea! 100% Support!
Please. It's really ridiculous to have a perfect village with 2 diamonds in the blacksmith and by some strand of luck, a stick for a diamond sword. It's all so perfect until I realize this is a derp village.
Support; dem derwp vileges bee gon!!!!!!
Add me on steam!
Random junk is random:
A few of my suggestions and a personal favorite suggestions. More neat-o suggestions in my bio.
No need for this 3x3 grid.
Just a better basic scheme and more "look at the dangy block nearby BEFORE putting something there" is needed.
When a road is spawned, the terrain is chedked, Each "road segment" (variable lengths) is checked for slope with segment before and after. Slabs or stairs would used for roads, depending on the slope. If some part is too steep, then the entire road segment isn't spawned at all. No more "road crossing a cliff boundary, leading straight into a stone wall when cming from one side., and leading straight into a cliffy deadly drop if you come from the other side".
More odds for villages to spawn, but more spawning if local overall terraim slopiness is at a LOWER threshold than current.
NOT checking merely the central village block coordinate. Check each chunk local slopiness + the center block of all 8 chunks around it. If there is even one "slopy" chunk around, village doesn't generate. no village too near hills or cliffsides.
When a building is added, check height of ALL four corners and generate only if they all fall within a low distandce fr meach other, instead of like how currently the height one ONE corner is checked and that determines how high to place the building and damn the weird results lol.
Things like that. Basically, spawning more intelligently.
A "perfect grid" however doesn't seem interesting as it would make the villages seem too similar.
I'd also make the village have a "downtown" and a "Periphery". Downtown streets would be 5 wide, with buildings able to be placed right alongside it, and thus even woth two buildings perfectly facing each oher, their stairs would leave a 3-wide path for you. Periphery roads would be 3 wide, with buildinds 1 space away (thus, their stairs entrace atop grass not cobblestone).
This is definitely what villages needs to become much better, and it's a really solid idea.
The only thing I can really think to improve upon it is to make villages expand on their own, which could be disabled with a game rule.
With a grid system, an expanding village would be easier to make, it could even check for player-made structures even if they're made with natural blocks such as checking for logs without leaves and abnormal slopes so that Timmy's dirt house isn't replaced with a magnificent villager house.
Support! I hate those derp villages. But maybe on Amplified worlds they don't follow the new rules, so they can still spawn?
It seems like a lot of people like the idea of an organized grid. It allows things to be built to line up better, and it's not as though we don't have very much repetition in the houses now.
And besides that, I did suggest new building types or styles, which would be significantly better for village variety. The grid most visibly effects road placement anyways, and all it does is ensure buildings and roads don't overlap. It wouldn't even effect building design, except that the buildings would be centered on an AxB area.
I'm a pixel artist who makes pixel things and maps! I also do line art occasionally.
I have two work in progress resource packs!
This is the second one!
And of course, by "work-in-progress" I mean "will never, ever be completed".
Again, no need for the grid. When a village is generated, it can use the full 1 meter blocks resolution grid of the world and just use it intelligently instead of just placing stuff willy-nilly. How big is a village anyway ? Maybe 128x128 blocks, and it is not hard to gert an height map for that since the game already has it.
Check out games like the MORIA roguelike game. They don't have any trouble putting in corridors and rooms so that the ed result doesn't fit a grid, yet doesn't make utter onense either.
A village is basically a 2D megastructure. i.e. yes the heights varies, but you won't have vertical roads with buildings placed above others. Overall, it's a flat thing resting on the ground, occupying a surface.
It would be a simple enough matter to check all the surface blocks and make a "premap" of where the roads and buildings can go. Each block would get a rating to how it connects to adjacent blocks in all 4 basic direcitons (since the overall layout is ortgohonal anyway), checking not merely the 4 ajdacent blocks but also the blocks that are adjacent to those, but only for "obstacles" (merely an optimization to avoid going full block look too manu times - you do it only once for the whole area, place the "abbreviated" height data in a grid, then can very quickly scan through that when checking the actual height differences of al adjacent-to-adjcent blocks).
Ratings would be:
Totally Flat
Low Slope (placing a slab every 2 blocks allows smooth movement on the road)
Strong Slope (placing a stairs every block allows smooth movement on the road)
Cliff (which means that coordinate can't be built upon at all)
Then any road segment checks the max slopiness along it's entire width, and each 1 meter lenth of the segment is assigned the max slopiness to determine if it will be normal, slabbed, or staired. Wth of course the addition that a slabbed part can only have Low slope without a slab after it (slabs then stairs aren't passable without jumping). so even if the left side of thre road needs stairs and the right side can be ok with a sab, the entire width of the road would be stairs only, at the best point (looking at the 1 block before and after along the length of the road) so that it falls on the '.enter of gravity" of the actual denivellation and thus merge in the the nicest way possible with the overall scenery (there are after all only a limited number of cases to check). Road "corners" and intersections should be on mainly flat area, no cliff for the entire 3x3 area covered, averaged weight of surrounding height map determining if that 3x3 area is slabbed or not, or flat but heightedned by 1 block or flat and lowered by 1 block, and then "filling" (with road material or air) as needed. The corners and intersection would be deetemrined first, then the segments, in a 2-pass way (ie. first determination, then the actual spawning), so that if a segment is determined "impossible" then the next cornerthat is a bit further away from the village center won't spawn either.
Then a parallel matrix is defined for where the roads do end up vs still free spaces, which can then be filled to form an overall building layout that makes a bit more sense. Maybe then adding trails connecting building entrances to the nearest road. Fencing some yards so the "inner village" looks lik it is using all the available space. Lots of things can be done and the current vanilla way is merely a quick patch job.
These are "mediival" villages, not modern city planning 101. I personally would abhor roads following such a "grid" or any other "tiling" system.
I suppose that makes sense.
A lack of a larger grid to me, though, makes villages seem unorganized (to me that's a bad thing), and is a rather huge pain when I'm trying to add on to an existing village and just about all the buildings/roads are one or two blocks to the side where I needed them to be to line up with the plans I laid out. The system you described would also work on a larger scale, making city planning easier, and a larger grid would barely affect looks.
I'm a pixel artist who makes pixel things and maps! I also do line art occasionally.
I have two work in progress resource packs!
This is the second one!
And of course, by "work-in-progress" I mean "will never, ever be completed".
Long overdue. Full support.
Support for the idea. It fix the NPC Village In Minecraft.
Awsome idea!
Personally I really want to build my base in a village, but because of this incredible bad vanilla village generation, when I find one, I immediately turn around and run far far away! Just can't stand those impossibly generated houses. (I never ever saw an iron golem that not I spawned into the game because of this...)
This must be the most important thing to fix in Minecraft, instead of adding more and more useless stuff into it...
That would be a very nice addition if the village geneartion system SMOOTHS the terrain before placing the structures, based on the slopiness; if the height difference between the structure and the terrain is high, than the terrain smoothing occures in wider area and if the height difference is not that significant just smooths the terrain in a smaller area.
Whit this, I think, there will be no problem to generate village in hills and cliffsides.
The villages are blend more into the terrain in general.
(After this, it would be nice to fix the worst ever crated AI in gaming history; the AI of the testificates.)
I can back this up. Villages do need some way to stop them from derping out...
Watch out for the crabocalypse. Some say the day will never come. But it will.
Feel free to drop by for a chat whenever.
If you'd like to talk with me about other games, here are a few I play.
Team Fortress 2
Borderlands series (Borderlands 2 is my favorite game, ever. TPS combat is a lot of fun and makes up for the lower-quality story, in my opinion)
Elder Scrolls series
Warframe (IGN is something like That_One_Flesh_Atronach)
Pokémon series (HGSS forever)
Rocket League
Fallout series
Left 4 Dead 2 (Boomer files always corrupt though)
SUPERHOT (SUPERHOT is the most innovative shooter I've played in years!)
Dead Rising series (Dead Rising 2 is one of my favorite games, and the 3rd was a lot of fun. 1st has poor survivor AI and the 4th is bad)
Just Cause series
Come to think of it, I mainly play fighting-based games.
I agree with this, I mostly play on amplified worlds and a hut will occasionally turn into a skyscraper. It would be nice if village generation inherently flattened the terrain a bit as well, making red areas less likely.
How about we do what you said, but maybe make the villages so that they spawn in a new "village" biome. This could be a new sub biome that spawns within taigas, plains, desserts, and savannas. What this would do is make it so no trees spawn in any area not intended, make the land flatter for building, and it would allow you to identify villages easier.
Love this idea. 200% Support!
Roughly 95% of Minecraft players hate Villagers and would be very happy if they were removed. If you are one of the 5% who actually like villagers, copy this into your signature and hope it never happens. ~EnderDude124
Without boundaries some people lack the ability to function because deciding what they want to do prevents them from doing anything. ~Mike Ridolfi
Hey, this forum is going to close so if you are looking for me here's my Discord: BernardisGood#7987