Re: [新闻] 玩家考古找出《Minecraft》多年登入画面

楼主: Gwaewluin (神无月 孝臣)   2020-07-24 21:14:20
※ 引述《Gwaewluin (神无月 孝臣)》之铭言:
: SalC1做了一个影片来说明这个种子是怎样找到的
: https://www.youtube.com/watch?v=GaRurhiK-Lk
: SalC1是谁呢
: 他是寻找pack.png企划的发起人
: pack.png就是游戏中用在默认材质包图示以及默认服务器图示的一张图片
: https://www.planetminecraft.com/project/pack-png-remake-salc1/
: SalC1很想知道这张图到底是在哪里拍到的
: 但自己怎样尝试都找不出来的结果是在今年一月做了影片求救
: (图片分辨率只有128x128而已)
: 没想到在影片发表后响应参加寻找pack.png的人非常多
: 甚至连notch和dinnerbone都有回应(notch和dinnerbone还出现了几年不曾有的对话)
: 不过他们是真的想不起来啦
: 总之SalC1在今年六月还有做影片报告企画进行的情况
: 目前仍是还没找到但已经进行了相当多的分析
: 企划会继续进行下去
: 而这个寻找游戏标题画面就是从这个pack.png企划中分出来的
: 由Tomlacko主持来进行标题画面种子的寻找
: 详细分析过程有在影片内描述
: 不过我现在正在加班赶东西
: 看有空一点后会不会回来写写吧
: 总之这比找pack.png容易太多了就是

回来写这种子是怎样找的
最详细的说明请参阅上面的影片
这里把过程的一些重点列出来
Tomlacko在寻找pack.png时获得启发
这个title画面从1.8.1开始就一直陪伴着玩家
Tomlacko决定要开始寻找title是不是真的存在于游戏之中
首先遇到的第一个问题就是title画面实在太糊了
能读到的资讯和pack.png没有多上多少
不过这个问题倒是很容易解决
因为翻找游戏档案的话可以找到六张图可以接起来的图
这些图变成做为显示title画面来使用
所以就有清楚而可以使用的图
再来是需要确认版本
由于生成世界的算法会变(一般地图碰上变更算法时会出现称为版本之墙的东西)
所以需要在相同的版本才能生成相同的地图
不过这个问题也很好解决
那六张图里面刚好点右键就能看到有纪录档案生成时的时间
再搭配游戏各版本的时间来对照的话便能得到刚好是1.8beta出来前一个月这个答案
然后便是重建地图以寻找种子了(有强者写了一个程式)
这里需要确认一些可以特定出来的座标以及在座标上的东西
而特定出来的方法是根据天上的云
由于游戏的云是使用同一张图来贴图
所以光是看云便有办法特定出Y座标(高度)
pack.png也是借由云而将Y座标特定了出来
接着是再利用图片内的草丛去找座标
草丛有个特征就是草丛不是刚好会放在一个方块的正中间的
而是从方块中心会再有一个偏移量来放置
甚至有一部分的草丛会因此会跑出方块外面
这个偏移量并非随机生成而是会根据当所在的座标计算出来
所以就有人开了一个地图到相同的Y座标
开始不断放置草丛
最后找到有个座标附近的三个方块能放出和图中完全相同的三个草丛来
生成地图时除了使用一个主要的种子以外
还会使用到两个隐藏的种子
一个叫做world seed(用来生成地形)
一个叫做chunk seed(有个效果是生成树的位置)
找到这两个种子变成把主要的种子回推出来
以目前得到的资讯来找种子的话
仍是需要确认2^48个种子才行
所以这里再继续加入条件
前面提到说已经把一个地方的座标特定出来了
接着是有人分析图中距离最近的草丛顶端的颜色
这些颜色会和生态系的分布有关系
再加入这样子的条件后使得需要确认的种子数量降为2^36.4个了
最后是再从图中确认沙子与泥土的边界位置
这样便能让需要确认的种子数量降为2^23.5个
也就是只剩下11863283个可能性需要确认
然后使用每秒确认1000到5000个种子的速度
他们便办到了(其实只有搜寻了20%而已,算运气非常好吧)
接下的目标
应该还是仍在进行中的寻找pack.png了吧
作者: WindSucker (抽风者)   2020-07-24 21:19:00
一级玩家
作者: Deparic (碱性石方)   2020-07-24 21:28:00
推技术解说
作者: bamama56 (bamama)   2020-07-24 21:33:00
如果玩潜入式游戏可以拿到遗产的感觉

Links booklink

Contact Us: admin [ a t ] ucptt.com