Has anyone ever found an abandoned mine shaft, a dungeon, or a stronghold right next to each other or taking up the same space? How about a NPC village over water? It's just plain WEIRD, right? I think there is an easy way to fix this. Notch should add a basic set of rules for each "Special Area". Here are some that I came up with:
NPC villages: 1. Must spawn in an area that is at least 5 blocks wider on flat land.
2. CANNOT spawn on water.
3. Each separate one must be at least 400 blocks away from each other from the center.
Dungeons: 1. Each separate one must be at least 200 blocks away from each other.
2. CANNOT intersect with ANY other "Special Areas" and must be at least 100 blocks away from the corners of an underground special area. Dungeons can be beneath NPC villages. This rule applies to all underground special areas.
Strongholds: 1. Each separate one must be 1,000 blocks away from one another at the corners.
Abandoned Mine Shafts: 1. Each separate one must be 750 blocks away from each other from the corners.
Feel free to add some rules or change them. I think the current system is way to glitchy, and while this makes finding lots of loot easier, this is really glitchy and needs to be changed to some hardcoded rules.
Abandoned Mine Shafts: 1. Each separate one must be 750 blocks away from each other from the corners.
Too lazy to talk about all of them, but think about this:
How exactly do you check if each is '750 blocks' away from 'each other' from the 'corners'? First you'll have to define exactly the space that a non-biome entity occupies. Then you'll have to define either a square or polygon with 'corners' that create a bounding box. You could always check against each room that is molded out of the world, but that could take some serious processing power. (Note: There are algorithms that actually make this thing relatively easy. And each 'mineshaft' could be defined as a class with a polygon mesh for a boundary box. But, I counter-point my own argument.)
Now let's say you successfully say "WAIT, there is a Mine Shaft here, how about you kick out of here for ~750 blocks." Then the chunk seeds that say "there should be a mineshaft here" will be up in arms when it's called in a different world or when a chunk goes missing, having to recalculate the distance from each existing mineshaft. (Of course, how often does a chunk go missing, and how often will a player have more then 1000+ mineshaft polygon vertexes.)
If another world is made, and a player approaches from an opposite direction, they'll have the 2nd mineshaft that doesn't exist in the first world's... world. Seeds are supposed to create identical worlds, that's why they exist. (But, is this actually that much of a problem?)
Too lazy to talk about all of them, but think about this:
How exactly do you check if each is '750 blocks' away from 'each other' from the 'corners'? First you'll have to define exactly the space that a non-biome entity occupies. Then you'll have to define either a square or polygon with 'corners' that create a bounding box. You could always check against each room that is molded out of the world, but that could take some serious processing power. (Note: There are algorithms that actually make this thing relatively easy. And each 'mineshaft' could be defined as a class with a polygon mesh for a boundary box. But, I counter-point my own argument.)
The corners are defined as the lowest point in Quadrants III and IV, and the highest in Quadrants I and II.
The corners are defined as the lowest point in Quadrants III and IV, and the highest in Quadrants I and II.
Yes, thank you for elementary quadrangle construction.
But, what I'm saying is I want you to look at what a mineshaft looks like, now I want you to compute exactly what a 'point' is in regards for a randomly generated structure. What if a chunk hasn't loaded a critical part of a mineshaft at the moment the collision detection occurs?
Do you project the 3d XYZ path of the mineshaft onto a 2d UV texture and define the points that way? Where does a mineshaft begin, where does it end? Is air defined as 'mineshaft' air? (Although you could just create a 2d UV of all of the wooden planks and do it from there, as at chunk generation there are no other 'natural' planks in the world.)
Yes, thank you for elementary quadrangle construction.
But, what I'm saying is I want you to look at what a mineshaft looks like, now I want you to compute exactly what a 'point' is in regards for a randomly generated structure. What if a chunk hasn't loaded a critical part of a mineshaft at the moment the collision detection occurs?
Do you project the 3d XYZ path of the mineshaft onto a 2d UV texture and define the points that way? Where does a mineshaft begin, where does it end? Is air defined as 'mineshaft' air? (Although you could just create a 2d UV of all of the wooden planks and do it from there, as at chunk generation there are no other 'natural' planks in the world.)
A 'point' is a block. As for the second part of that question, if a chunk hasn't loaded a critical part of a mineshaft at the moment of collision detection, then i don't know. Maybe they could become separate biomes or something? Not just mine shafts, but all current non-biome structures. They would have set limits and such.
Air is defined as mineshaft air. What you said in parantheses is the technical part of what I was trying to say.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
NPC villages: 1. Must spawn in an area that is at least 5 blocks wider on flat land.
2. CANNOT spawn on water.
3. Each separate one must be at least 400 blocks away from each other from the center.
Dungeons: 1. Each separate one must be at least 200 blocks away from each other.
2. CANNOT intersect with ANY other "Special Areas" and must be at least 100 blocks away from the corners of an underground special area. Dungeons can be beneath NPC villages. This rule applies to all underground special areas.
Strongholds: 1. Each separate one must be 1,000 blocks away from one another at the corners.
Abandoned Mine Shafts: 1. Each separate one must be 750 blocks away from each other from the corners.
Feel free to add some rules or change them. I think the current system is way to glitchy, and while this makes finding lots of loot easier, this is really glitchy and needs to be changed to some hardcoded rules.
Explain, but in English please.
Too lazy to talk about all of them, but think about this:
How exactly do you check if each is '750 blocks' away from 'each other' from the 'corners'? First you'll have to define exactly the space that a non-biome entity occupies. Then you'll have to define either a square or polygon with 'corners' that create a bounding box. You could always check against each room that is molded out of the world, but that could take some serious processing power. (Note: There are algorithms that actually make this thing relatively easy. And each 'mineshaft' could be defined as a class with a polygon mesh for a boundary box. But, I counter-point my own argument.)
Now let's say you successfully say "WAIT, there is a Mine Shaft here, how about you kick out of here for ~750 blocks." Then the chunk seeds that say "there should be a mineshaft here" will be up in arms when it's called in a different world or when a chunk goes missing, having to recalculate the distance from each existing mineshaft. (Of course, how often does a chunk go missing, and how often will a player have more then 1000+ mineshaft polygon vertexes.)
If another world is made, and a player approaches from an opposite direction, they'll have the 2nd mineshaft that doesn't exist in the first world's... world. Seeds are supposed to create identical worlds, that's why they exist. (But, is this actually that much of a problem?)
The corners are defined as the lowest point in Quadrants III and IV, and the highest in Quadrants I and II.
Yes, thank you for elementary quadrangle construction.
But, what I'm saying is I want you to look at what a mineshaft looks like, now I want you to compute exactly what a 'point' is in regards for a randomly generated structure. What if a chunk hasn't loaded a critical part of a mineshaft at the moment the collision detection occurs?
Do you project the 3d XYZ path of the mineshaft onto a 2d UV texture and define the points that way? Where does a mineshaft begin, where does it end? Is air defined as 'mineshaft' air? (Although you could just create a 2d UV of all of the wooden planks and do it from there, as at chunk generation there are no other 'natural' planks in the world.)
A 'point' is a block. As for the second part of that question, if a chunk hasn't loaded a critical part of a mineshaft at the moment of collision detection, then i don't know. Maybe they could become separate biomes or something? Not just mine shafts, but all current non-biome structures. They would have set limits and such.
Air is defined as mineshaft air. What you said in parantheses is the technical part of what I was trying to say.