10 ms·
Minecraft's “Pack.png” Seed Reversal Methodology
- mrob 6y agoVideo summary of this discovery: https://www.youtube.com/watch?v=ea6py9q46QU https://www.youtube.com/watch?v=ea6py9q46QU
- mastazi 6y agoFor context: https://youtu.be/ea6py9q46QU https://youtu.be/ea6py9q46QU if you prefer reading instead of watching a video https://packpng.com/ https://packpng.com/ Related but different discovery: how the title screen was found https://youtu.be/GaRurhiK-Lk https://youtu.be/GaRurhiK-Lk
- giancarlostoro 6y agoI had learned about this here on HN and its just mind blowing that they discovered it down to the version range. Amazing that it took some months but they did it.
- rightbyte 6y agoThe most impressive part is how they made the search program run without bugs. I must be hard to make such a program and not be able to validate the input until you find it.
- deleted 6y ago[deleted]
- JBiserkov 6y agoIt's incredible that they did it. It's also incredible how much time and resources were _invested_ in this. Part of me wants to say _wasted_ on this. In the midst of a global pandemic. In the midst of an impending total ecosystem collapse. Fiddling while Rome, scratch that, while the planet burns.
- merlinscholz 6y agoWell, the humans that reversed that image don't necessarily have the skill sets to help fight a pandemic. It's like saying your car broke down and the art teacher doesn't want to fix it.
- tripzilch 6y agoSo ... Can anyone recommend a game engine for making games in Minecraft style that also saves the world? It's the only way I can learn.
- metiscus 6y agoFollowing along the stated lines, should all music creation be stopped, should artists only paint covid warnings, should sculptors only engrave monuments to the covid casualties? My point is, if art shouldn't stop because of the pandemic (and it shouldn't) then why should science? Just because a painting doesn't cure the plague, paintings and art provide pleasant distractions. This work can provide satiation to curiosity and perhaps the spinoff work can eventually be "useful" in some other way as well (I quoted useful because there is a deeper philosophic debate that could be had about utility here).
- identity0 6y agoHad this never happened, all those GPUs would have spend many long nights doing nothing. Gamers have a disproportionate number of powerful PCs, and the people that contributed their GPUs did it out of love for the game, not for some greater societal good.
- srtjstjsj 6y ago
- joeraut 6y agoA brief summary: pack.png [0] is a 128x128px image of a scenic mountain within a Minecraft world, and is used in in-game menus. The goal of this project was to discover the world seed used to generate the Minecraft world that pack.png was taken in. This was no small feat, with 2^48 possible seeds the procedural world generator could have used, and required much analysis, trial-and-error and distributed computation by many volunteers to obtain the seed. The process involved exploiting identifiable world features such as the position of clouds, orientations of certain block textures, and more, to discover the exact coordinates of the blocks in the image (insane in itself); figuring out the exact camera perspective via regression fitting; creating and training a machine learning model to upscale the image in order to better discern details and manually create a reconstruction; deducing how the image was taken (print screen -> cropped to 512x512 -> 4x downscaled with specific resizing algorithm); and more. Through these efforts, they had significantly reduced the number of candidate seeds; distributed computing power provided by 3,500 project volunteers' GPUs was then used to obtain the final 700,000 candidate seeds, and from that a brute-force approach was used to isolate the actual pack.png seed. The YouTuber SalC1 produced an excellent video on the project [1]. [0] https://packpng.com/static/pack.png https://packpng.com/static/pack.png [1] https://www.youtube.com/watch?v=ea6py9q46QU https://www.youtube.com/watch?v=ea6py9q46QU
- spullara 6y agoYou have part of it reversed I think. The candidate seeds were found by the distributed system and the last 700k were analyzed on a single computer.
- joeraut 6y agoYou're right — fixed :)
- delsarto 6y agoMy 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.
- iseanstevens 6y agoThis is (among other things) how people learn to solve groundbreaking problems, and find their passions. Impressive work.
- k__ 6y agoHalf-OT: Can anyone recommend a game engine for making games in Minecraft style? Preferably something that runs on multiple platforms and has some kind of map editor.
- DylanDmitri 6y agoMinecraft via mods. As exemplified in this post, the Minecraft community makes good tools for map making and otherwise transforming the base Minecraft game into whatever you want.
- hoten 6y agoNot meaning to be dismissive, but why not just Minecraft? There is a large modding community. And there's something called Adventure mode which puts more constraints on the player (can't destroy blocks), which can be used to make goal-oriented maps.
- k__ 6y agoI guess, Minecraft has some kind of licence restrictions.
- johnisgood 6y agoIs modding officially supported by now?
- imtringued 6y agoNo, it isn't. Also, maintaining mod updates to newer minecraft versions is a huge hassle. I know a friend who stopped updating his mods in 2018 and now everyone is begging him to release a new update. First, because minecraft uses a different obfuscation pattern for each update requiring a recompile. Second, because the codebase is still changing significantly.
- Kiro 6y agoI always ask the opposite. Why mod when you can make your own game? For me, the latter is much more fun.
- sgtnoodle 6y agoThis reminds me of the time I booked a vacation rental in Italy on Expedia and then realized it was a scam after looking through the confirmation email. The phone number wasn't Italian, and googling it resulted in finding forum posts about other vacation rental scams. Reading through the fine print, it became obvious that it was a wire fraud scam (wait until after the free cancellation deadline, then require a "deposit" via wire transfer, or cancel and lose 50% of the booking fee. Either way, the property doesn't exist.) I used one of the photos of the property's balcony to confirm that the venue couldn't possibly exist at the address on Google maps/Earth. A reverse image search didn't turn up much, but I was able to track down a distinctive cathedral tower in the background, then match other less unique background features to eventually find the real location of the balcony in the photo about 10 miles away in another town. I then tried to cancel the booking, and expedia's site glitched out. I had to call in to get the refund processed. I also emailed Expedia and several other similar sites with the same property listing, telling them about the scam and providing proof. Last I checked, the scam booking is still available to be made on Expedia and other sites.
- bradly 6y agoWe have a couple of high-end vacation rentals and we are constantly trying to get fake listings taken down from all sorts of sites. What works best is usually emailing legal@website.com. Any sort of web form, even for fraud, just ends up being a black hole. The shadier sites that are purposely hosting fake listings themselves I contact legal@theirhostingprovider.com from their whois and I report them the FTC, although I have no idea if they ever follow up.
- judge2020 6y agoIf they're using your photo you could even DMCA them, or their hosting company if they don't have a DMCA email/page.
- Cthulhu_ 6y agoMakes me think anyone that wants to put up adverts on a site like that should pay a deposit or posting costs upfront, as well as ID verification or something like that.
- jtchang 6y agoHaving never played minecraft what does that mean? Is this like discovering the exact number on which everything is based in the entire minecraft generated world? I assume with this seed you can predict everything else that is seemingly random within the world. The location of items/loot etc and spawn times? Since if you know the random seed to any "random" generator it really is no longer random and you know the entire sequence. i.e. this is the seed to the PRNG
- teej 6y agoYou’ve got it right. This “seed” is a seed in the sense of a random number generator. It only controls generating the world, however, it does not control the behavior of NPCs.
- 0xFF0123 6y agoIt has no real impact on everyday gameplay other than being a bit of trivia. The seed does indeed allow you to predict the vast majority of gameplay behavior of a particular map, but only that map. This particular map was used to generate an icon that was used as part of the GUI in Minecraft.
- joeraut 6y agoYes, exactly. The procedurally generated world is predictable* if you know the world seed -- land forms, structures and items/loot spawn the same way each time. You can specify the seed when creating a world, if you like. There are certain things that are nondeterministic, such as where mobs spawn (that depends on player position, etc.) or how they behave. * There may be parts of world generation these days that are nondeterministic even with a known seed; I'm not too up to date with recent world generation changes.
- dokem 6y agoThere are a few blocks like bees hive that aren’t fully determined by the seed. That can only be determined within a certain location accuracy the rest is random at runtime when the player enters that area. But the block does persist after that.
- 6y ago
- DonCopal 6y agoWhy not simply ask Mojang
- lostmyoldone 6y agoIt's almost certain several people did, but either didn't get a response, or - infinitely more likely - that the seed used for the icon was simply never recorded. Found the timeline. Yes several people asked, and no, Mojang did not have any records.
- TrustPatches 6y agoThey didn’t know apparently, the photo was taken years ago with a random seed just for the purpose of using it in the menu IIRC.
- deleted 6y ago[deleted]
- Ansil849 6y agoA glossary would be very helpful to make those like myself completely unfamiliar with Minecraft appreciate this more. For instance, what is a "seed".
- brundolf 6y agoIt's a random-number-generator seed, like any other. What's special in this case is that it's the starting point for a deterministic algorithm that generates an entire world. If you randomly discover a cool world, you can send people your seed and they can generate the same one.
- mrmonkeyman 6y agoYou never generated random numbers? What are you doing on HN?
- lmilcin 6y ago"I recognize that piece of bedrock. See you soon." There is already long established technique to find location on the map based on screenshot containing piece of natural land forms or bedrock (immovable blocks below the terrain). This has application on large maps where players try to distance themselves from other players to be able to build undisturbed or stream without getting stream-killed. In particular, it is know that some players got killed mid-stream based on screenshots on natural terrain.
- bitexploder 6y agoWhy do streamers play on multi-player servers to begin with if they don’t want to be around other players?
- sneakernets 6y agoThat's the entire thrill of the "Anarchy servers" twitch streams - to not get caught even if you're famous.
- deleted 6y ago[deleted]
- shultays 6y agoDid the dev confirm if the version is correct or if this task is achievable at all? It could have been generated from a version that is not really released. All it takes is for dev to slightly change the map generation algorithm after generating the Pack.png to make this task impossible, which sounds quite probably.
- f311a 6y agoI don't think devs remember when and where it was takes. It's a random screenshot.
- MauranKilom 6y agoThis was suggested at some point, but the main devs did not really remember any details about how it was generated. See https://packpng.com/timeline/ https://packpng.com/timeline/.
- bufferoverflow 6y agoDue to the very large number of potential seeds for* randomly generated minecraft worlds (281,474,976,710,656) ... This resulted in only one seed by the end: 3,257,840,388,504,953,787 Well that's weird. Are seeds not consecutive?