This information is for advanced use only. All information was obtained after many world generations, and using the site http://mc.42nex.us/ to obtain true values for world seeds. Proceed at your own risk.
So as you should know already when you create a world you can type in any value you want for the seed even if that value is a word or a sentence. Your number, word, or sentence will give you a world that will only be generated with that seed, and that anyone can obtain using that EXACT same seed. But I got curious if one could create identical worlds using different seeds. Could one say find a seed number and find a way to convert that into a word or sentence? The answer came when I learned about the above posted site. With the aid of that site you can create a world with and then find out what the value of the seed was. Handy if you are just creating random worlds and you want to share a world gen once you've found a nice one.
It's also useful in finding out what the number of a sentence, word, or even single letter is. It is that single letter that gives us the most information. If for instance you create a world with the seed gen of a and then use that site to find out what your seed was, you'll be told your seed was 97. Interestingly enough this is the ASCII value of a.
If though you use a seed of aa you'll be told your seed had a value of 3104. After many tests I have found out how to convert nearly any word into the value that will be used in the Minecraft world generation. What it involves is taking the very fist letter of your word and multiplying it's ASCII value by 31, and then adding the next letter's value to this answer. If there are more letters multiply this by 31 and add the next letter. Likewise if you have symbols or numbers mixed in, use there ASCII values also. Mind you numbers are only treated as ASCII values if they are mixed in with non numerical characters.
To better understand what I am describing lets use the seed word of Mine
M=77
i=105
n=110
e=101
M times 31 + i = 2492
2492 times 31 + n = 77362
77362 times 31 + e = 2398323
So if you go and create a world with the word Mine you'll create the exact same world as if you created a world with the seed number 2398323.
But wait, some of you are saying that while it works for that word, clearly my math doesn't work for ALL words. Some words create negative numbers, and my math clearly doesn't account for that. Or does it? Yes it does actually. What I didn't tell you before is that Minecraft stores seed NUMBERS as Qwords and seed WORDS as Dwords. I'm not entirely sure why there is a difference but what that means is that Minecraft can only understand numbers between -9223372036854775808 and 9223372036854775807 and words that have a value between -2147483648 and 2147483647.
So what happens when you have a word outside of that range? Well it depends how far outside of that range it is. For instance, after some figuring of math I have found that the word Gycxg? has a value of exactly 2147483647 if we increase it's value by 1 by changing the word to Gycxg@ you would expect the value of 2147483647 and instead you get the lower limit of -2147483648.
The reason for this is how you write out these two numbers in binary. The upper limit number is written as 0111 1111 1111 1111 1111 1111 1111 1111 while the lower limit is written as 1000 0000 0000 0000 0000 0000 0000 0000.
That's right, by adding 1 to the upper limit number you cause the binary number to increase to that larger number I have shown you there, and roll over into the negatives. If you are curious you write out -1 in binary as 1111 1111 1111 1111 1111 1111 1111 1111.
What happens after that you might ask? Well what happens when you add 1 to all those other 1's? Well as there is no more room to store anymore 1s it rolls back over until the whole thing is just a bunch of 0's. And as we all know a bunch of 0's is the exact same thing as 0.
But what does this mean for world generation? It means that if you understand math a bit, and ASCII characters, that you can take SOME numbers used to generate words, and try to find a word or phrase or even just a string of characters that will create the world you desire.
Unfortunately if for instance you are a big fan of world seed -1784338777788894343, then there is no way to convert that into a set of characters that will give you that exact same world, as that number is outside of the size limit Minecraft has on seed words.
On the bright side though we can use this to know that the Glacier world has a seed number of 1772835215 and that we can create that seed number in a number of ways such as with the seed word ;XP?36
All three of those create the exact same world, but because we now understand the math behind things we can see that Glacier actually had to wrap around at least one full time. With more research we could find out exactly what happens to a number as it wraps around multiple times and find other words and phrases that give us the same worlds.
Awesome work so far. I figured there was many different character sequences that would give the same world, but its nice to know how it works and that it does do that.
Now, to only be able to figure out how the actual world generation works, and tie that in with seed names/numbers so we can plug in tons of words/variations and get a general idea of what the world will be comprised of (mountains, biome, caves, etc) around the spawning point/s. It would probably involve just as much computation as actually generating the world, so maybe the better option is using some external program to analyze a small portion of the world, say 64 chunks around 0, 0, 0, and be able to determine the general characteristics of the world. That would make seed exploring much easier especially if you're looking for a specific seed name and world composition match like me :tongue.gif:
Did some more calculations in an attempt to create a world with a word for the seed that would give me a value of -1 for the seed. Unfortunately to do it without wrapping around it would require a ☺ as the very first character. And while I can put that into a seed, for some reason ☺ doesn't count as 1, but something else. I've found that any of the ASCII characters that are invisible in the seed input don't use their standard ASCII characters. Using the magic of more math I found out I could also create worlds with a value of -1 if only I could have a ☻ or ♥ as the very first character... but again those are invisible characters in the input box... so their values aren't what I expect them to be.
Unfortunately if for instance you are a big fan of world seed -1784338777788894343, then there is no way to convert that into a set of characters that will give you that exact same world, as that number is outside of the size limit Minecraft has on seed words.
Oh... I was just going to ask that... hoping for it to be "in the air" or something fitting... ;-)
Really good work! <----- for you.
On the bright side though we can use this to know that the Glacier world has a seed number of 1772835215 and that we can create that seed number in a number of ways such as with the seed word ;XP?36
To get the alternate ascii are you working backwards from the numeric seed?
Quote from poxsonm »
...-9223372036854775808 and 9223372036854775807 and words that have a value between -2147483648 and 2147483647.
Wonder what those fringe worlds look like.
There is discussion on carriage returns effecting world generation, is their any way these types of things could be converted to a value? (Possibly they get pasted as a code base and java puts it in w/o stripping or doing anything else.)
There is discussion on carriage returns effecting world generation, is their any way these types of things could be converted to a value? (Possibly they get pasted as a code base and java puts it in w/o stripping or doing anything else.)
This question is complicated by the fact that different operating systems handle line breaks in different ways. Some have used the ASCII "line feed" character. Some have used the "carriage return" character, which has its own separate value in the ASCII character set. Some have used BOTH together, showing that on the screen or printout as just a single new line. Different browsers and other applications can also be unpredictable in how they process these.
Figuring out exactly how the map generator interprets these characters may be difficult unless the person investigating the question finds out, somehow, exactly which one(s) have been copied and pasted into any given seed.
I double checked your math on Karls and you are right that it should have been seed 72266819, but there are some things you should consider. If you still have the world you might want to go to that mc.42nex.us sight and see what it says the seed of that world is. It will tell you the true seed, and if that doesn't match 72266819 then clearly your seed wasn't Karls. To test I just created a Karls world myself and then plugged that world into the site and received the predicted seed. I also took note of where I spawned at (-63.5, 59.5) and then created a new world using the number instead of the word.
At a glance the two worlds were different, but I did notice that I spawned in a different location, so then began the trek to the other worlds spawn location. Sure enough when I reached said location the world appeared to be the same.
So to sum up:
1) You might not have really used the seed Karls
2) If you did, you might have spawned in distant location, and didn't recognize the landscape.
3) If you copied and pasted the number in when recreating the world you might have copied a line break and actually created a world with a seed name of "72266819 LINEBREAK" instead of a world with seed number 72266819
Now then, speaking of Linebreaks, as was mentioned above, it's a bit hard to test the invisible ASCII characters in Minecraft, especially if they are not just invisible in Minecraft, but in other mediums as well. Though something interesting you can do if you are unsure if you copied a linebreak or other invisible character, is to remember the last letter, number or other character that is in your seed. Hit backspace. If backspace doesn't actually do anything when you hit it once, then clearly you erased an invisible character. If hitting it again causes that last character to disappear then that means you have removed all the invisible characters. Then just put character that you remembered back in and you'll be sure to be working with the correct seed.
In answer to Lord Aro's question about what fringe world -2147483648 or as I like to call it Gycxg@ I provide the following...
Taken not far from my spawn point. Current location: -79, -198
In a bit closer and up and a tree. Current location: -79, -277
Getting down from the tree I almost fell in a hole. Current location: -70, -288
And lastly a ways past that stone arch, and looking out what was beyond. Current location: -92, -396
As a matter of fact there is a way to convert a number into a set of characters. For instance if we take the number 72266819 (that we know matches the seed word Karls), we can convert that into a number of variants. What you will want to help you is a spreed sheet program to help you out here as it can get a bit confusing.
So you'll want to put your seed number in box A1, and in box B2 you'll put the following formula "=mod(A1;31)" and what this will do is tell us the remainder as if you divided the number by 31. In this case it tells us the number 22. Now in box C1 you'll want the formula "=char(B1)" and in this case it will appear to be an empty box, so clearly this isn't the number we are searching for. So in box D1 put the equation "=B1+31" and in box E1 the equation "=char(D1)" and this time we'll see the number 5. Well we could use that, but lets see what else we have to pick from, and copy boxes D1 and E1 and paste them in the next boxes over. The equations will should be automatically adjusted for their new position. This time we see we get the letter T in the char formula box. Lastly paste the two boxes over one more time, and you'll see the letter s in the new char formula. Over all your line will look like follows:
72266819 22 53 5 84 T 115 s
You may pick any of the characters that you can actually type to use in your seed word, and this will be the very LAST letter of your word. So now we need the rest of your seed word.
So for box A2 put in this formula "=(A1-?1)/31" replacing the ? with the letter for the row that the number corresponding to your choice is. For instance if you pick the s (that appears in box I1) you would need the number in H1, so your equation would be "=(A1-H1)/31"
Then copy the boxes B1 through I1 and paste them down in row 2. Your new row to will look like this if you picked s as your last letter...
2331184 15 46 . 77 M 108 l
Now if you plan on taking the l you can just copy this whole line and move it down to the next line... and you can keep doing that until you run out of number in the A row. This happens at A5 when we only have 75 left over, the character that comes up for 75 is K
So you have now just made Karls.
On the other hand had you picked different letters or characters your equations on the lines below would change. So for instance had we started with T for the last letter we could have made the seed word "LCTNT"
Thank you, thank you, thank you for doing all this research, poxsonm! I was trying to find out the same thing a while ago, but didn't have the ambition to make a whole bunch of worlds to figure it out. The fact that there's a 32-bit/64-bit gap is very valuable to know.
Quote from poxsonm »
On the bright side though we can use this to know that the Glacier world has a seed number of 1772835215 and that we can create that seed number in a number of ways such as with the seed word ;XP?36
I wrote a program to attempt to un-hash a seed value (attempting to get a text version of the "in the air" world, but apparently that's impossible), so here's a few (thousand) more text values that result in the same seed (1772835215) as "Glacier" http://www.filedropper.com/glacier (text file with 57,000 text seeds, each enclosed in single quotes to show spaces. Each are comprised of just letters, numbers, and spaces. Input what's between the quotes into Minecraft for the seed. "Glacier" itself is in there, on line 21,612).
Quote from dabears17x »
Im not good with these formulas and stuff, so can someone PM me a word that could be converted from 1810871935?
So seeds tp u any were in the game so say i did 5267522835866528932 that would tp me some were in the game as my spawn
No no, that seed would create a world distinctly different than a seed with a different number. The point of this thread though is to point out that words don't generate seeds different than numbers, but simply provide a different way of expressing those numbers. Using the seed that you have provided you would have a spawn point of where ever in the world it's going to be, but it's not really teleporting you anywhere in the world, as the world didn't exist until you created it. If you create another world with that exact same seed, you might have a spawn point in a different spot, but it again it hasn't teleported you to a different spot in the world, as this is a whole new world and you'll not find anything that you personally built in the other world. It's a parallel reality if you will.
The thing about seeds is that if you created a seed with the number you gave, and then went to the coordinates 0,0 then built a house, you could then create a second world with the exact same seed, go again to 0,0 and find 0,0 as it was before you built your house. It would look the exact same as things originally had been. You could even build something else here such as a castle. Then if you went back to your first world, you would see your house still here with no sign of the castle. Lastly you could create a third world with a different seed, go to that world's 0,0 and everything about this worlds 0,0 would be completely different.
So again, no seeds have nothing to do with teleporting, as there is no way connection between the worlds made with seeds be they the same or different.
The Meaning of Life, the Universe, and Everything.
Join Date:
3/17/2011
Posts:
42
Member Details
I recreated the spreadsheet, but it doesn't appear to be able to handle all numbers. For example, I tried to find characters for the seed -8017520964209081205, but I get a bunch of errors instead of numbers on the first line. I'm not sure if this is a limitation of Excel's number range, or the function.
Rollback Post to RevisionRollBack
<Use your imagination to insert some snappy quote and cool graphic here.>
I recreated the spreadsheet, but it doesn't appear to be able to handle all numbers. For example, I tried to find characters for the seed -8017520964209081205, but I get a bunch of errors instead of numbers on the first line. I'm not sure if this is a limitation of Excel's number range, or the function.
It's been awhile sense I even looked at the original information I gathered about how numbers and words work for seeds, so I'm not sure with what exactly excel had problems. However, I did notice at a glance a human error in your number.
The number -8017520964209081205 has no Seed Word. Just a reminder, but the lowest number with a seed word is -2147483648
One of the "words" that will give you the lowest seed words can give is Gycxg@
I hope this has helped with any confusion you might have had, though I suspect it's raised other questions. Feel free to ask, and I'll try to answer as best as I am able.
So as you should know already when you create a world you can type in any value you want for the seed even if that value is a word or a sentence. Your number, word, or sentence will give you a world that will only be generated with that seed, and that anyone can obtain using that EXACT same seed. But I got curious if one could create identical worlds using different seeds. Could one say find a seed number and find a way to convert that into a word or sentence? The answer came when I learned about the above posted site. With the aid of that site you can create a world with and then find out what the value of the seed was. Handy if you are just creating random worlds and you want to share a world gen once you've found a nice one.
It's also useful in finding out what the number of a sentence, word, or even single letter is. It is that single letter that gives us the most information. If for instance you create a world with the seed gen of a and then use that site to find out what your seed was, you'll be told your seed was 97. Interestingly enough this is the ASCII value of a.
If though you use a seed of aa you'll be told your seed had a value of 3104. After many tests I have found out how to convert nearly any word into the value that will be used in the Minecraft world generation. What it involves is taking the very fist letter of your word and multiplying it's ASCII value by 31, and then adding the next letter's value to this answer. If there are more letters multiply this by 31 and add the next letter. Likewise if you have symbols or numbers mixed in, use there ASCII values also. Mind you numbers are only treated as ASCII values if they are mixed in with non numerical characters.
To better understand what I am describing lets use the seed word of Mine
M=77
i=105
n=110
e=101
M times 31 + i = 2492
2492 times 31 + n = 77362
77362 times 31 + e = 2398323
So if you go and create a world with the word Mine you'll create the exact same world as if you created a world with the seed number 2398323.
But wait, some of you are saying that while it works for that word, clearly my math doesn't work for ALL words. Some words create negative numbers, and my math clearly doesn't account for that. Or does it? Yes it does actually. What I didn't tell you before is that Minecraft stores seed NUMBERS as Qwords and seed WORDS as Dwords. I'm not entirely sure why there is a difference but what that means is that Minecraft can only understand numbers between -9223372036854775808 and 9223372036854775807 and words that have a value between -2147483648 and 2147483647.
So what happens when you have a word outside of that range? Well it depends how far outside of that range it is. For instance, after some figuring of math I have found that the word Gycxg? has a value of exactly 2147483647 if we increase it's value by 1 by changing the word to Gycxg@ you would expect the value of 2147483647 and instead you get the lower limit of -2147483648.
The reason for this is how you write out these two numbers in binary. The upper limit number is written as 0111 1111 1111 1111 1111 1111 1111 1111 while the lower limit is written as 1000 0000 0000 0000 0000 0000 0000 0000.
That's right, by adding 1 to the upper limit number you cause the binary number to increase to that larger number I have shown you there, and roll over into the negatives. If you are curious you write out -1 in binary as 1111 1111 1111 1111 1111 1111 1111 1111.
What happens after that you might ask? Well what happens when you add 1 to all those other 1's? Well as there is no more room to store anymore 1s it rolls back over until the whole thing is just a bunch of 0's. And as we all know a bunch of 0's is the exact same thing as 0.
But what does this mean for world generation? It means that if you understand math a bit, and ASCII characters, that you can take SOME numbers used to generate words, and try to find a word or phrase or even just a string of characters that will create the world you desire.
Unfortunately if for instance you are a big fan of world seed -1784338777788894343, then there is no way to convert that into a set of characters that will give you that exact same world, as that number is outside of the size limit Minecraft has on seed words.
On the bright side though we can use this to know that the Glacier world has a seed number of 1772835215 and that we can create that seed number in a number of ways such as with the seed word ;XP?36
All three of those create the exact same world, but because we now understand the math behind things we can see that Glacier actually had to wrap around at least one full time. With more research we could find out exactly what happens to a number as it wraps around multiple times and find other words and phrases that give us the same worlds.
Now, to only be able to figure out how the actual world generation works, and tie that in with seed names/numbers so we can plug in tons of words/variations and get a general idea of what the world will be comprised of (mountains, biome, caves, etc) around the spawning point/s. It would probably involve just as much computation as actually generating the world, so maybe the better option is using some external program to analyze a small portion of the world, say 64 chunks around 0, 0, 0, and be able to determine the general characteristics of the world. That would make seed exploring much easier especially if you're looking for a specific seed name and world composition match like me :tongue.gif:
Try my Ironman Challenges: 404, Chuck Norris, Iron Man
Oh... I was just going to ask that... hoping for it to be "in the air" or something fitting... ;-)
Really good work! <----- for you.
To get the alternate ascii are you working backwards from the numeric seed?
Wonder what those fringe worlds look like.
There is discussion on carriage returns effecting world generation, is their any way these types of things could be converted to a value? (Possibly they get pasted as a code base and java puts it in w/o stripping or doing anything else.)
Latest MC video (forum link): http://www.minecraftforum.net/forums/show-your-creation/videos/lets-plays/2390805
Take this :Diamond:, I don't need it anymore
This question is complicated by the fact that different operating systems handle line breaks in different ways. Some have used the ASCII "line feed" character. Some have used the "carriage return" character, which has its own separate value in the ASCII character set. Some have used BOTH together, showing that on the screen or printout as just a single new line. Different browsers and other applications can also be unpredictable in how they process these.
Figuring out exactly how the map generator interprets these characters may be difficult unless the person investigating the question finds out, somehow, exactly which one(s) have been copied and pasted into any given seed.
Guide to finding updated video drivers
At a glance the two worlds were different, but I did notice that I spawned in a different location, so then began the trek to the other worlds spawn location. Sure enough when I reached said location the world appeared to be the same.
So to sum up:
1) You might not have really used the seed Karls
2) If you did, you might have spawned in distant location, and didn't recognize the landscape.
3) If you copied and pasted the number in when recreating the world you might have copied a line break and actually created a world with a seed name of "72266819 LINEBREAK" instead of a world with seed number 72266819
Now then, speaking of Linebreaks, as was mentioned above, it's a bit hard to test the invisible ASCII characters in Minecraft, especially if they are not just invisible in Minecraft, but in other mediums as well. Though something interesting you can do if you are unsure if you copied a linebreak or other invisible character, is to remember the last letter, number or other character that is in your seed. Hit backspace. If backspace doesn't actually do anything when you hit it once, then clearly you erased an invisible character. If hitting it again causes that last character to disappear then that means you have removed all the invisible characters. Then just put character that you remembered back in and you'll be sure to be working with the correct seed.
In answer to Lord Aro's question about what fringe world -2147483648 or as I like to call it Gycxg@ I provide the following...
Taken not far from my spawn point. Current location: -79, -198
In a bit closer and up and a tree. Current location: -79, -277
Getting down from the tree I almost fell in a hole. Current location: -70, -288
And lastly a ways past that stone arch, and looking out what was beyond. Current location: -92, -396
So you'll want to put your seed number in box A1, and in box B2 you'll put the following formula "=mod(A1;31)" and what this will do is tell us the remainder as if you divided the number by 31. In this case it tells us the number 22. Now in box C1 you'll want the formula "=char(B1)" and in this case it will appear to be an empty box, so clearly this isn't the number we are searching for. So in box D1 put the equation "=B1+31" and in box E1 the equation "=char(D1)" and this time we'll see the number 5. Well we could use that, but lets see what else we have to pick from, and copy boxes D1 and E1 and paste them in the next boxes over. The equations will should be automatically adjusted for their new position. This time we see we get the letter T in the char formula box. Lastly paste the two boxes over one more time, and you'll see the letter s in the new char formula. Over all your line will look like follows:
72266819 22 53 5 84 T 115 s
You may pick any of the characters that you can actually type to use in your seed word, and this will be the very LAST letter of your word. So now we need the rest of your seed word.
So for box A2 put in this formula "=(A1-?1)/31" replacing the ? with the letter for the row that the number corresponding to your choice is. For instance if you pick the s (that appears in box I1) you would need the number in H1, so your equation would be "=(A1-H1)/31"
Then copy the boxes B1 through I1 and paste them down in row 2. Your new row to will look like this if you picked s as your last letter...
2331184 15 46 . 77 M 108 l
Now if you plan on taking the l you can just copy this whole line and move it down to the next line... and you can keep doing that until you run out of number in the A row. This happens at A5 when we only have 75 left over, the character that comes up for 75 is K
So you have now just made Karls.
On the other hand had you picked different letters or characters your equations on the lines below would change. So for instance had we started with T for the last letter we could have made the seed word "LCTNT"
Was thinking the fringe worlds would be more interesting like the world in the air, there goes that theory.
Latest MC video (forum link): http://www.minecraftforum.net/forums/show-your-creation/videos/lets-plays/2390805
No real cool word that I could find easily, but if all you are interested in is the characters that result in that number you could use
I wrote a program to attempt to un-hash a seed value (attempting to get a text version of the "in the air" world, but apparently that's impossible), so here's a few (thousand) more text values that result in the same seed (1772835215) as "Glacier" http://www.filedropper.com/glacier (text file with 57,000 text seeds, each enclosed in single quotes to show spaces. Each are comprised of just letters, numbers, and spaces. Input what's between the quotes into Minecraft for the seed. "Glacier" itself is in there, on line 21,612).
Here's a list of 60,000 to sift through, all of which hash out to that seed value: http://www.filedropper.com/1810871935
"Any sufficiently advanced technology is indistinguishable from magic." --Arthur C. Clarke
No no, that seed would create a world distinctly different than a seed with a different number. The point of this thread though is to point out that words don't generate seeds different than numbers, but simply provide a different way of expressing those numbers. Using the seed that you have provided you would have a spawn point of where ever in the world it's going to be, but it's not really teleporting you anywhere in the world, as the world didn't exist until you created it. If you create another world with that exact same seed, you might have a spawn point in a different spot, but it again it hasn't teleported you to a different spot in the world, as this is a whole new world and you'll not find anything that you personally built in the other world. It's a parallel reality if you will.
The thing about seeds is that if you created a seed with the number you gave, and then went to the coordinates 0,0 then built a house, you could then create a second world with the exact same seed, go again to 0,0 and find 0,0 as it was before you built your house. It would look the exact same as things originally had been. You could even build something else here such as a castle. Then if you went back to your first world, you would see your house still here with no sign of the castle. Lastly you could create a third world with a different seed, go to that world's 0,0 and everything about this worlds 0,0 would be completely different.
So again, no seeds have nothing to do with teleporting, as there is no way connection between the worlds made with seeds be they the same or different.
It's been awhile sense I even looked at the original information I gathered about how numbers and words work for seeds, so I'm not sure with what exactly excel had problems. However, I did notice at a glance a human error in your number.
The number -8017520964209081205 has no Seed Word. Just a reminder, but the lowest number with a seed word is -2147483648
One of the "words" that will give you the lowest seed words can give is Gycxg@
I hope this has helped with any confusion you might have had, though I suspect it's raised other questions. Feel free to ask, and I'll try to answer as best as I am able.
Edit: So i guess ill just write a program that will decode it for me... or maybe just brute force it.... sigh.....
oh and
M times 31 + i = 2492
2492 times 31 + n = 77362
77362 times 31 + e = 2398323
should be
(M times 31) + i = 2492
(2492 times 31) + n = 77362
(77362 times 31) + e = 2398323