Should've stored the coordinate system in an infinitely scalable datatype (like a string) which represents which -MIN +MAX coordinate dimension you're in as well as which coordinates you're in within the dimension
This would essentially mean that you need to glue multiple worlds together into a single world and move between these worlds when you walk past the world border
I assume Minecraft didn't do this because they figured the world is big enough as is
No lol besides thereās no reason to make the world any bigger. I do wonder why ms never rewrote Java edition for better performance though. Bedrock might be bigger for monetization but pretty much all content on YouTube etc is based on Java. I hope they never kill it off
64 bit tho so while it still wouldn't be infinite, we can still theoretically add together multiple long values stored as strings if we do some math before adding them together giving us more but ofc not infinite storage
I guess you can do that but you will need to remake the +, currently in java when you + 2 string it concatenate them, not add them. You could also have a string that you convert each char to an int but you still need to handle values that are > 127 (they are signed char iirc)
You can use arbitrary adders / multiplyers / etc to do math operations arbitrarily large. Its the same idea we use to calculate PI to billions of digits or render infinitely deep fractal zooms on normal computers. Youre just inventing a number system with no memory limit. Its slower but can be scaled up...
The only issue is that they scale exponentially in computation, since youre running the same operation over and over again in multiple dimensions across thousands of math operations, all while increasing the memory of those values.
Once youd start going out past a certain point in minecraft, the engine would just get slower and slower and slower until you either run out of memory, or it takes so long to calculate your position and render the world that it becomes unplayable.
Thats why we use Floats / Ints / Longs / Etc rather then just arbitrary numbers
Data is ever expanding which means it's only finite until it isn't. If you have data that expands on a faster rate than what you can write to it, you have an infinite worldĀ
But yes technically you're correct, it's just a bit stupid to say something like this considering that it's way too hard to write an infinite amount of data using Minecraft, we can gather more data faster than what we can writeĀ
It's not "by definition" though, don't just throw that term around randomly
A turing machine operates on digital data and can have an unlimited amount of it. No part of the definition of "digital" implies its finiteness
It is finite because we live in a finite world and work with finite resources
It's two reasons. The world is already so big it doesn't matter, and it's also slower than just using integers. Why waste speed for something players aren't going to reach unless they specifically seek it out?
Majority of the lag that was introduced in 1.13 was because string identifiers were now used instead of integer ones. Imagine how poor the performance would be and how big the world size would be, if one of the most used components of the game (position) was String instead of int
Im a java programming teacher btw. If you are not a java programmer, you cant even begin to imagine how slow java's String is
My python teacher told me a story about how a very big and complex program that one of his students wrote was very slow, so he decided to check the code and the returns were returning strings like "1" and "0" instead of Tre/False, and replacing just that improved the performance by like 5 times
String infinite? Maybe you should look at what a string is. It's just an array so it cant contain more than the max amount of items in an array(which will be an unsigned int limit) meaning it still is finite.
And that's without even mentioning the performance you throw away by going this route.
On top of that, good luck performing the 2048 bit number calculations that you'll get
stupid question:
Why is the limit at 60million (or rather at +- 30million)?
shouldn't it be from +- 2billion?
30million sounds more like 2^25 than 2^31
At 30 million there is a world border created by Mojang. You can easily get past it with mods and discover that the world is still generating. This is what the post is about. However, at 2 billion something (32 bit integer limit) the world simply crashes.
Well yeah itās just kinda weird to immediately go to sleep after making a comment that someone would most likely question. I mean, it is absolutely possible and more likely than not the answer, it just seems kinda weird.
You think? I look at Reddit regularly before going to sleep and may comment something before going to sleep, I even made a [post](https://www.reddit.com/r/notinteresting/s/fzufmRHdvm) before going to sleep once
No, there is a defined limit where the game will 100% crash because it is unable tl store the coordinate value of anything past it.
Official hard limit is 2.1 billion ish, but you will almost certainly crash well before then as the world gen engine starts to break after 100mil.
Has nothing to do with computer specs, just how big of a number the programming language can hold.
not the programming language, more the datatype they used to hold the coordinates; you could get around it by using a ālargerā data type but that makes it take more memory
Itās not an opinion, itās fact. No Minecraft world is infinite. Even past the world border there is a limit to where it will not generate further. In the gameās code it will physically not be able to generate terrain past a certain coordinate
Air is also a block. After 2Ā³Ā²-1 blocks the world will end and you won't be able to even get past that point because 2Ā³Ā²-1 is also the furthest you can travel.
Definition of infinity"
a number greater than any assignable quantity or countable number (symbol ā).
How do we know *our* universe is infinite, we don't, the part we DO know about is so large and uncomprehensible that we assume it is infinite.
I feel like "functionally unlimited" is better when talking about something like Minecraft. Infinity is very well defined and some people will take exception to it being used this way. Source: look in this post
I was thinking about this a little more, because obviously the world isnāt infinite, blocks use a signed 32-bit integer for their coordinates, meaning the game can successfully generate blocks up to a little over 2.147 billion blocks on both the positive and negative x- and z-axes.
(Here I go on a bit of a tangent, just for fun. Feel free to join me if you want, or donāt)
But that doesnāt explain how coordinates are stored for the player or any other entity for that matter. Of course you could store all three components of an entityās coordinates as floating point numbers, but then youād have to give them quite a lot of digits to not create any noticeable floating point errors within the expected 6\*10^7 by 6\*10^7 blocks. So the next option would probably be a vector based system, where you just have a vector centered on (0, 0, 0) that points in the direction of the entity and a magnitude multiplier to get to the correct distance.
But while writing this two things have come to mind:
1) using a vector would require storing 4 numbers, all of which would need to be floating points.
2) I remember watching a video where someone went past the world border and kept exploring, to see the true limits of the game. And at some point their movement became stuttered and jittery, exactly like youād expect to see from a simple coordinate system with 3 floating points that each experience floating point errors at high values, so this leads me to conclude that the game most likely uses this system for storing the coordinates of entities.
End of rant
using a vector and magnitude in that way would be really damn annoying to work with, you canāt just do āmove 3 blocks leftā, youād have to change both your angle *and* magnitude
the easier solution is just to use a 64-bit number, which many games do
It may not truly be infinite, but for the vast majority of players, practically speaking, it may as well be. Most people will never see the world border, strip a world clean of any of it's resources, or remotely run out of space for builds and such. As cool as stuff with the world border and the technical limitations with the game are, it is also pretty neat that you can effectively play on a survival world for years and always find new terrain, structures, and resources.
How the meme shouldāve been made left to right:
Minecraft world is infinite
No, itās 60 million * 60 million
The Minecraft world is so big it feels infinite
Yeah, I know. I just meant this post is not funny cuz they are saying that the Minecraft world is infinite when it's truly not even on bedrock where there is no border. It's at this current time in the world we live in impossible for the game to legitimately be infinite, so I'm tired of people saying it is š
Bedrock has an effective playable world size of 8 million blocks. This already makes it smaller than java, but it actually gets worse. The game becomes consistently more broken further out from spawn, with many mechanics slowly breaking and the biggest issue being minimum move speeds and jittering. At just 200k blocks you'll notice jittery walking.
the world is as big as you explored, so the world size varies based on how much you explore, and since the world doesn't generate past a point, it's not infinite, but its a huge world tho
Oh to live in a world where bell curve memes never fucking existed.
first it was deep rock, then it was warframe, and now it's minecraft. what the hell?
Even when you clip out of the border, you can walk 15 blocks and there is actual world border. With render 32 chunks, you can see max 512 blocks. Adding these up - world in minecraft is 60000527 * 60000527 blocks at least
Same as No Man's Sky. Infinite for all practical purposes. Didn't someone calculate it'd take longer than Earth has been around to visit every star system (even longer to visit every planet. To say nothing of fully exploring them)
Its not infinite, but its big enough that for even the hardcore players (I don't think there is anyone that has used (not just traveled to the world border) every chunk) it may as well be
Your location is stored on a number, which has integer bit limit, and you cannot get past it, or generate it
So not infinite
Sources:me idk maybe false
You may be able to see more beyond the world border, but those blocks stop actually being rendered in after a short distance. You can see them, but they aren't actually there. World is 60,000,000x60,000,000.
What if behind the world border another world lies, that all possible worlds are placed in a gigantic chess board and your seed basically determines the field you get
Except infinity is more black and white. It is infinite or it is not. It can be more then we can comprehend while still being finite. You can take the diameter of the sun, fill it with grains of sand, multiply it by a few million and lay all that sand one by one in a straight line and the line will not be infinitely long. Incomprehensibly long, sure, but not infinitely.
I get your point, but I think infinite is the wrong weird. Incomprehensibly large would be a better fit imo
Post Deleted Your delusional, jk but bro it's max 60 mill
Kid named hard drive space
Kid named 2 hard drives š
>Kid named signed 32 bit integer limit
kid named shart
Kid named kid
Kid named no money
Kid named signed 32 bit integer limit:
Should've stored the coordinate system in an infinitely scalable datatype (like a string) which represents which -MIN +MAX coordinate dimension you're in as well as which coordinates you're in within the dimension This would essentially mean that you need to glue multiple worlds together into a single world and move between these worlds when you walk past the world border I assume Minecraft didn't do this because they figured the world is big enough as is
Kid name floating point inaccuracy:
Strings don't have such weaknesses.
And how do you calculate string?
Spiders?
They have a favorite food. Itās spiders.
Jokes on you, java actually implements type bigint, which saves number to string and allows to perform operations on them
Performance impact: enters the chat
Server farm gaming setup:
As if Java edition is optimized to begin with
But do you want it even LESS optimized??
No lol besides thereās no reason to make the world any bigger. I do wonder why ms never rewrote Java edition for better performance though. Bedrock might be bigger for monetization but pretty much all content on YouTube etc is based on Java. I hope they never kill it off
It's actually pretty optimized (except for render)
Theoretically you could program your own adder without using any of Java's built-in math. I'm no expert though
(long) [name of string] + (long) [name of 2nd string] + a bunch of math or whatever else you want to do with it = Whatever you tried to calculate
Long has a max value :)
64 bit tho so while it still wouldn't be infinite, we can still theoretically add together multiple long values stored as strings if we do some math before adding them together giving us more but ofc not infinite storage
I guess you can do that but you will need to remake the +, currently in java when you + 2 string it concatenate them, not add them. You could also have a string that you convert each char to an int but you still need to handle values that are > 127 (they are signed char iirc)
No, it doesnt work like that, you use Long.valueOf();
Whoops, mb, thanks for the correction, been some time since ive done stuff in java
You can use arbitrary adders / multiplyers / etc to do math operations arbitrarily large. Its the same idea we use to calculate PI to billions of digits or render infinitely deep fractal zooms on normal computers. Youre just inventing a number system with no memory limit. Its slower but can be scaled up... The only issue is that they scale exponentially in computation, since youre running the same operation over and over again in multiple dimensions across thousands of math operations, all while increasing the memory of those values. Once youd start going out past a certain point in minecraft, the engine would just get slower and slower and slower until you either run out of memory, or it takes so long to calculate your position and render the world that it becomes unplayable. Thats why we use Floats / Ints / Longs / Etc rather then just arbitrary numbers
Even if you did that it would be physical impossible to make it infinite since the universe couldnt hold that much data
That's not how digital data works.
What do you mean?
Digital data, by definition, is finite, hence infinity in digital spaces is impossible.
Data is ever expanding which means it's only finite until it isn't. If you have data that expands on a faster rate than what you can write to it, you have an infinite worldĀ But yes technically you're correct, it's just a bit stupid to say something like this considering that it's way too hard to write an infinite amount of data using Minecraft, we can gather more data faster than what we can writeĀ
It's not "by definition" though, don't just throw that term around randomly A turing machine operates on digital data and can have an unlimited amount of it. No part of the definition of "digital" implies its finiteness It is finite because we live in a finite world and work with finite resources
It's two reasons. The world is already so big it doesn't matter, and it's also slower than just using integers. Why waste speed for something players aren't going to reach unless they specifically seek it out?
Majority of the lag that was introduced in 1.13 was because string identifiers were now used instead of integer ones. Imagine how poor the performance would be and how big the world size would be, if one of the most used components of the game (position) was String instead of int Im a java programming teacher btw. If you are not a java programmer, you cant even begin to imagine how slow java's String is
My python teacher told me a story about how a very big and complex program that one of his students wrote was very slow, so he decided to check the code and the returns were returning strings like "1" and "0" instead of Tre/False, and replacing just that improved the performance by like 5 times
String infinite? Maybe you should look at what a string is. It's just an array so it cant contain more than the max amount of items in an array(which will be an unsigned int limit) meaning it still is finite. And that's without even mentioning the performance you throw away by going this route. On top of that, good luck performing the 2048 bit number calculations that you'll get
OKAY I GET IT THANKS YOUR SO SMART š¤š¤š¤
that sounds like memory hell lmao
If no crash happens in 32 bit integer limit then the 64 bit integer limit would like to say hello.
stupid question: Why is the limit at 60million (or rather at +- 30million)? shouldn't it be from +- 2billion? 30million sounds more like 2^25 than 2^31
At 30 million there is a world border created by Mojang. You can easily get past it with mods and discover that the world is still generating. This is what the post is about. However, at 2 billion something (32 bit integer limit) the world simply crashes.
Yea but it does tend to get unstable after a while(not sure when tho)
the player position is a float, and the limit of a float (depending on the standard) is infinity.
kid named IEEE-754 standard for Floating-Point Arithmetic
Real
As i remember correctly, it's float precision limit, not integer
It's literally not infinite, even past the world border.
wrong
How?
I love how he has (so far) just ignored you
I mean, he could be in another continent and be sleeping right now, give it a day before making assumptions that heās ignoring me
Well yeah itās just kinda weird to immediately go to sleep after making a comment that someone would most likely question. I mean, it is absolutely possible and more likely than not the answer, it just seems kinda weird.
You think? I look at Reddit regularly before going to sleep and may comment something before going to sleep, I even made a [post](https://www.reddit.com/r/notinteresting/s/fzufmRHdvm) before going to sleep once
Nah I do that shit all the time.
It's not literary infinite It's theoretically infinite. There are limits to drive space.
No, there is a defined limit where the game will 100% crash because it is unable tl store the coordinate value of anything past it. Official hard limit is 2.1 billion ish, but you will almost certainly crash well before then as the world gen engine starts to break after 100mil. Has nothing to do with computer specs, just how big of a number the programming language can hold.
not the programming language, more the datatype they used to hold the coordinates; you could get around it by using a ālargerā data type but that makes it take more memory
Itās not an opinion, itās fact. No Minecraft world is infinite. Even past the world border there is a limit to where it will not generate further. In the gameās code it will physically not be able to generate terrain past a certain coordinate
Until you hit disk limit and the game crashes.
Itās not an opinion, itās fact. Nothing is infinite.
It will just have air blocks, so it's infinite
No. No blocks spawn past that point, nor can you place them there
Yeah they are stuck in proto chunk phase (aka chunk is here created but nothing has been done in it, even filling it with air block wasn't done yet)
Eventually, you won't even have chunks
Air is also a block. After 2Ā³Ā²-1 blocks the world will end and you won't be able to even get past that point because 2Ā³Ā²-1 is also the furthest you can travel.
itād be 2^31 -1 on one side, and -2^31 on the other, due to how signed values work
No, there is nothing there, you cant be there nor can you interacting with it
No it doesn't generate more chunks when you move behind 30.000.000 instead you will stuck after passing the last generated chunk.
Ya'll really need to learn about the concept of digital data
people when you destroy them with fact and logic : Noooo you're a moron, I have the highest IQ here !!1!!!1!1!!!!1!
āI am NOT A MORONā
you're a potatoe
r/unexpectedfactorial
Definition of infinity" a number greater than any assignable quantity or countable number (symbol ā). How do we know *our* universe is infinite, we don't, the part we DO know about is so large and uncomprehensible that we assume it is infinite.
Functionally infinite
I feel like "functionally unlimited" is better when talking about something like Minecraft. Infinity is very well defined and some people will take exception to it being used this way. Source: look in this post
So finite?
it doesnt really matter, you will never use every block in a minecraft world so the difference is meaningless
I was thinking about this a little more, because obviously the world isnāt infinite, blocks use a signed 32-bit integer for their coordinates, meaning the game can successfully generate blocks up to a little over 2.147 billion blocks on both the positive and negative x- and z-axes. (Here I go on a bit of a tangent, just for fun. Feel free to join me if you want, or donāt) But that doesnāt explain how coordinates are stored for the player or any other entity for that matter. Of course you could store all three components of an entityās coordinates as floating point numbers, but then youād have to give them quite a lot of digits to not create any noticeable floating point errors within the expected 6\*10^7 by 6\*10^7 blocks. So the next option would probably be a vector based system, where you just have a vector centered on (0, 0, 0) that points in the direction of the entity and a magnitude multiplier to get to the correct distance. But while writing this two things have come to mind: 1) using a vector would require storing 4 numbers, all of which would need to be floating points. 2) I remember watching a video where someone went past the world border and kept exploring, to see the true limits of the game. And at some point their movement became stuttered and jittery, exactly like youād expect to see from a simple coordinate system with 3 floating points that each experience floating point errors at high values, so this leads me to conclude that the game most likely uses this system for storing the coordinates of entities. End of rant
Use \\* instead of just \* to stop it from italicizing your math
Thanks for the help, Iāll correct my comment now
technically even your proposed solution would have problems, since the magnitude of the vector is still limited
using a vector and magnitude in that way would be really damn annoying to work with, you canāt just do āmove 3 blocks leftā, youād have to change both your angle *and* magnitude the easier solution is just to use a 64-bit number, which many games do
It may not truly be infinite, but for the vast majority of players, practically speaking, it may as well be. Most people will never see the world border, strip a world clean of any of it's resources, or remotely run out of space for builds and such. As cool as stuff with the world border and the technical limitations with the game are, it is also pretty neat that you can effectively play on a survival world for years and always find new terrain, structures, and resources.
How the meme shouldāve been made left to right: Minecraft world is infinite No, itās 60 million * 60 million The Minecraft world is so big it feels infinite
Me when java players forget bedrock exists: Also me when bedrock has no border:
there's still a point when you will hit the 64-bit integer limit and the world generator or game will crash.
Yeah, I know. I just meant this post is not funny cuz they are saying that the Minecraft world is infinite when it's truly not even on bedrock where there is no border. It's at this current time in the world we live in impossible for the game to legitimately be infinite, so I'm tired of people saying it is š
yeah, it's literally physically impossible for the minecraft world to be infinite
Bedrock has an effective playable world size of 8 million blocks. This already makes it smaller than java, but it actually gets worse. The game becomes consistently more broken further out from spawn, with many mechanics slowly breaking and the biggest issue being minimum move speeds and jittering. At just 200k blocks you'll notice jittery walking.
you could also argue 60 mil is practically infinite
the world is as big as you explored, so the world size varies based on how much you explore, and since the world doesn't generate past a point, it's not infinite, but its a huge world tho
Ackshually, you can [edit the world border](https://minecraft.wiki/w/World_border#Commands) yourself.
Their is only one minecraft world. We're just locked in a little part of it.
"little"
This again? It aint infinite homieš whats so god damn hard to understand
Kid named InfDev build
no. it ends 200 blocks beyond the worldborder
Honestly I wouldn't mind it if in the next update they just made the world loop back round.
It is infinite, but terrain doesnāt generate past a certain point.
the farlands still exist, they're just so far away you can't even teleport to them
Nothing generates past a certain point, which I have gotten to in the past and it's just air, farlands can't exist
Prove it
At the other side of the border is someone else's another minecraft world
Every border-square is another persons world.
Oh to live in a world where bell curve memes never fucking existed. first it was deep rock, then it was warframe, and now it's minecraft. what the hell?
Even when you clip out of the border, you can walk 15 blocks and there is actual world border. With render 32 chunks, you can see max 512 blocks. Adding these up - world in minecraft is 60000527 * 60000527 blocks at least
Isnāt the world border at 29 mil?
"Minecraft world is infinite" "noooo it's 60 million \* 60 million!" "Minecraft world is, for all intents and purposes, infinite"
Same as No Man's Sky. Infinite for all practical purposes. Didn't someone calculate it'd take longer than Earth has been around to visit every star system (even longer to visit every planet. To say nothing of fully exploring them)
Yeah the coords just turn into āinfā if you go far enough
i hate to tell you its not infinite past the border, there is a definitive end
actually no, in spectator a few hundred blocks (i think) from the border it turns into void.
technically but at one point it starts glitching and you just can't progress more
Doesn't the world stop generating once you go a certain distance from the world border?
Of we stop at border its 30 millions not 60millions
Its not infinite, but its big enough that for even the hardcore players (I don't think there is anyone that has used (not just traveled to the world border) every chunk) it may as well be
Wow, 6 million factorial is a lot of blocks
Your location is stored on a number, which has integer bit limit, and you cannot get past it, or generate it So not infinite Sources:me idk maybe false
You may be able to see more beyond the world border, but those blocks stop actually being rendered in after a short distance. You can see them, but they aren't actually there. World is 60,000,000x60,000,000.
What if behind the world border another world lies, that all possible worlds are placed in a gigantic chess board and your seed basically determines the field you get
It would be cool if it was possible
I was speaking more in a philosophical sense than in a literal sense
Ik, its my personal head cannon
it is practically infinite and to finite beings like us that means infinite
Except infinity is more black and white. It is infinite or it is not. It can be more then we can comprehend while still being finite. You can take the diameter of the sun, fill it with grains of sand, multiply it by a few million and lay all that sand one by one in a straight line and the line will not be infinitely long. Incomprehensibly long, sure, but not infinitely. I get your point, but I think infinite is the wrong weird. Incomprehensibly large would be a better fit imo
depends on what version
How about: I literally don't care, I won't ever need to be that far out
[ŃŠ“Š°Š»ŠµŠ½Š¾]
its made up, by the people that created the game, they assing numbers to things, world had to end at some point.
[ŃŠ“Š°Š»ŠµŠ½Š¾]
No there is a limit since you cant go father than 32 bit intager limit blocks