|
|
|
|
|
by delsarto
2096 days ago
|
|
My uneducated guess at a summary after reading and watching the video; which is like distilling a Nobel prize effort into a sentence, it seems the two big parts are a) The clouds are a static map that is placed at a fixed location and moves over in a known pattern per time-step. So by extracting the cloud map and correlating that to what you see in the image, because you know where the clouds started you can get a good idea of where you are in the map. b) A high-up waterfall has a low chance of spawning because high waterfalls are rare to even try generating; and additionally it requires rock and air around it, further reducing the chance it can actually occur. So (a) lets you know where you are, then you figure out the waterfall location from that (a lot of tricks described above to figure out perspective, etc.), then use elements of (b) as a fairly fine sieve on the generator ("could a waterfall generate at xyz") and you have a tractable way to find possible world seeds. Maybe? A very fun project, anyway. |
|
Doing all the initial detective work allowed them to compute the xyz coords in the world, which gives the location to run the simulations.
The whole thing was abstracted away, you don't need to run Minecraft at all (so it's not like they're rending billions of images), just the function that generates the sand noise. This got written as a parallel cuda kernel and they just threw iron at it.
That then gave the 700k possible matches which were searched more thoroughly.
The matching function is very simple, it compares the generated Perlin noise to a fairly small template and as soon as there's a mismatch, it stops early. Most of the complexity in the kernel is generating the noise from a seed.
https://github.com/minecrafthome/pack-sand-reversal/blob/309...