I’ve got a decently fast simple level generator going that feeds an in memory level map with chunks as they get requested, and I’ve got the renderer mostly working for all this.
There are a few issues:
* If you walk far away from the origin (100 kilometers or so), the ground stats jumping around randomly. This is because the precision on the floating point numbers in opengl isn’t exactly great, and it’s expected. I need to make coordinate system local within each chunk.
* There’s some z fighting for similar reasons
* Chunks in negative locations don’t get updated at all.
* I set the map height to 256 and the fog distance to 128. This means you usually won’t be able to see the clouds. Not good.
Other than those bugs (and a total lack of things like lighting and entity rendering), it works much better than I hoped it would this soon. Removing and placing blocks works just fine, and the physics work great even far away from the origin.
It’s obvious that a big challenge is going to be writing an interesting level generator. Dense forests, islands, large deserts, abandoned settlements (and inhabited ones later on). Just infinite terrain on its own is fairly boring.
Now this is impressive, this is progress, and this is fast! I'm impressed! I'd be glad to go adventuring on any kind of infinite land, but having whole varied planets? Now I'm really looking forward to this!
Didn't Notch say earlier that areas with varied climates and such would be trivial? Guess that didn't go as expected.
Well, he's just getting started. He's barely tacked on a chunk adder.
In other news:
That's 128 fog? Not nearly as bad as I was expecting. Color could use tweaking, maybe just make it the same color as the sky, so it's more of a generic fade than a "fog".
* If you walk far away from the origin (100 kilometers or so), the ground stats jumping around randomly. This is because the precision on the floating point numbers in opengl isn’t exactly great, and it’s expected. I need to make coordinate system local within each chunk.
* There’s some z fighting for similar reasons
* Chunks in negative locations don’t get updated at all.
Anyone understand any of that?
Rollback Post to RevisionRollBack
There are two types of people in the world: those who don't find this joke funny and those who are amused by self-referential humour.
Quote from Peri »
Could you guys go five minutes without sigging me?
* If you walk far away from the origin (100 kilometers or so), the ground stats jumping around randomly. This is because the precision on the floating point numbers in opengl isn’t exactly great, and it’s expected. I need to make coordinate system local within each chunk.
* There’s some z fighting for similar reasons
* Chunks in negative locations don’t get updated at all.
Anyone understand any of that?
It sounds like the floating point numbers in opengl aren't very precise, so when you get far enough away, then the game has trouble telling the position of the ground, so it starts jumping around. I think the z fighting and the "chunks in negative locations" were referring to trouble coordinating objects along the z axis.
* If you walk far away from the origin (100 kilometers or so), the ground stats jumping around randomly. This is because the precision on the floating point numbers in opengl isn’t exactly great, and it’s expected. I need to make coordinate system local within each chunk.
* There’s some z fighting for similar reasons
* Chunks in negative locations don’t get updated at all.
Anyone understand any of that?
lol, a bit
here's what I got out of it (i'm probably partialy wrong...):
1.) If you walk for 100,000 blocks (1 block = 1 meter), the terrain becomes spuratic. Then something about floating point numbers as a reason. Then he needs to make it so each chunk (i think a chunk is a "cube space") has its own coordinate system.
2.) Some fighting over the z-coordinate?
3.) Chunks (again, i'm assuming its a "cube space") anywere in a negative area of the coordinate system aren't updating (aka, they aren't changing).
How bad was I? :tongue.gif:
Rollback Post to RevisionRollBack
Sniper on The Voxel Box. Creator of the Coolpilot Productions.
There are no negative blocks on a set map, but if you have a graph, it's the point back-wards or below x or y way. Say, Z is up or down, up would be +, but if you go down, it's -.
So, if you go the other way, it won't generate, so go forwards to to the right, and it should generate, because you should start at 0.
Edit: If not starting at zero, like current indev, you can go to a certain point, and then it won't generate any further. WoM client can show you the x, y and z axis's in singleplayer and multi-player.
There are no negative blocks on a set map, but if you have a graph, it's the point back-wards or below x or y way. Say, Z is up or down, up would be +, but if you go down, it's -.
So, if you go the other way, it won't generate, so go forwards to to the right, and it should generate, because you should start at 0.
Edit: If not starting at zero, like current indev, you can go to a certain point, and then it won't generate any further. WoM client can show you the x, y and z axis's in singleplayer and multi-player.
lol, a bit
here's what I got out of it (i'm probably partialy wrong...):
1.) If you walk for 100,000 blocks (1 block = 1 meter), the terrain becomes spuratic. Then something about floating point numbers as a reason. Then he needs to make it so each chunk (i think a chunk is a "cube space") has its own coordinate system.
2.) Some fighting over the z-coordinate?
3.) Chunks (again, i'm assuming its a "cube space") anywere in a negative area of the coordinate system aren't updating (aka, they aren't changing).
How bad was I? :tongue.gif:
It sounds like the floating point numbers in opengl aren't very precise, so when you get far enough away, then the game has trouble telling the position of the ground, so it starts jumping around. I think the z fighting and the "chunks in negative locations" were referring to trouble coordinating objects along the z axis.
Hmmm I think I might get it now. Thanks
Rollback Post to RevisionRollBack
There are two types of people in the world: those who don't find this joke funny and those who are amused by self-referential humour.
Quote from Peri »
Could you guys go five minutes without sigging me?
This settles it. Notch is really some kind of giant AI cyber brain. An estimated two months like what, three days ago and he's got it this far along already
EDIT: I really didn't mean near working, I was being over dramatic. Sorry :smile.gif:
This settles it. Notch is really some kind of giant AI cyber brain. An estimated two months like what, three days ago and he's got it almost completely working.
No, I don't think he has it even near finished. At the same time you're right, Notch always WAY overestimates how long it will take him to get things working.
This settles it. Notch is really some kind of giant AI cyber brain. An estimated two months like what, three days ago and he's got it almost completely working.
woah woah woah. I think it might be a little early to say its "almost completely working"
edit: yeah what ^ he said
Rollback Post to RevisionRollBack
There are two types of people in the world: those who don't find this joke funny and those who are amused by self-referential humour.
Quote from Peri »
Could you guys go five minutes without sigging me?
More about the floating point errors.
(for full, overly verbose, technical detail, go here.)
A floating point value is a number in which the decimal point is free to move about. However, the length of the number is still limited.Which means it can be this:
1.1237584 (accurate to one ten-millionth of a unit)
Or this:
1957395.8 (accurate to one tenth of a unit)
As you can see, the larger the number gets, the less accurate the data becomes as you loose decimal points. Go far enough, and you're rounding to the nearest 10, or 100, or 10,000. Bad things happen. Notch knew this would happen, he just hasn't implemented the per-chunk grid system yet. It's that system that's likely giving the massive-but-exact number for theoretical maximum map size. At that size, the chunks themselves begin to suffer from floating point errors and the game displaces/jumbles entire galaxies.
Well, he's just getting started. He's barely tacked on a chunk adder.
In other news:
That's 128 fog? Not nearly as bad as I was expecting. Color could use tweaking, maybe just make it the same color as the sky, so it's more of a generic fade than a "fog".
Anyone understand any of that?
5/19/13 Expect Us
It sounds like the floating point numbers in opengl aren't very precise, so when you get far enough away, then the game has trouble telling the position of the ground, so it starts jumping around. I think the z fighting and the "chunks in negative locations" were referring to trouble coordinating objects along the z axis.
lol, a bit
here's what I got out of it (i'm probably partialy wrong...):
1.) If you walk for 100,000 blocks (1 block = 1 meter), the terrain becomes spuratic. Then something about floating point numbers as a reason. Then he needs to make it so each chunk (i think a chunk is a "cube space") has its own coordinate system.
2.) Some fighting over the z-coordinate?
3.) Chunks (again, i'm assuming its a "cube space") anywere in a negative area of the coordinate system aren't updating (aka, they aren't changing).
How bad was I? :tongue.gif:
So, if you go the other way, it won't generate, so go forwards to to the right, and it should generate, because you should start at 0.
Edit: If not starting at zero, like current indev, you can go to a certain point, and then it won't generate any further. WoM client can show you the x, y and z axis's in singleplayer and multi-player.
Hmmm I think I might get it now. Thanks
5/19/13 Expect Us
EDIT: I really didn't mean near working, I was being over dramatic. Sorry :smile.gif:
No, I don't think he has it even near finished. At the same time you're right, Notch always WAY overestimates how long it will take him to get things working.
woah woah woah. I think it might be a little early to say its "almost completely working"
edit: yeah what ^ he said
5/19/13 Expect Us
http://en.wikipedia.org/wiki/Z-fighting has a technical explanation, but this is a good example if you want to see it in action:
It's good to see that he's hard at work to get it done. Of course the real dazzle won't come until he's implemented the different climates and such.
I hope the Pentagon's employees don't play minecraft at work.
(for full, overly verbose, technical detail, go here.)
A floating point value is a number in which the decimal point is free to move about. However, the length of the number is still limited.Which means it can be this:
1.1237584 (accurate to one ten-millionth of a unit)
Or this:
1957395.8 (accurate to one tenth of a unit)
As you can see, the larger the number gets, the less accurate the data becomes as you loose decimal points. Go far enough, and you're rounding to the nearest 10, or 100, or 10,000. Bad things happen. Notch knew this would happen, he just hasn't implemented the per-chunk grid system yet. It's that system that's likely giving the massive-but-exact number for theoretical maximum map size. At that size, the chunks themselves begin to suffer from floating point errors and the game displaces/jumbles entire galaxies.
Id say so. I mean, it wouldn't do to see all nonillion squares at once
5/19/13 Expect Us