作者LPH66 ( )
看板Minecraft
标题[闲聊] 「影子」种子码
时间Mon Jul 20 00:55:33 2020
既然都谈到种子码了那这里也来谈一个刚好也在最近发现的东西
它被称做「影子」种子码 (shadow seed)
其特徵就是每个种子码都会有另一个和它成对的种子码
这两个种子码产生的生态域地图是相同的, 但其他生成的东西完全不一样
以下就来贴几则介绍影片和文章:
一定要提的 AntVenom
https://www.youtube.com/watch?v=VJmoNJGV-qU
发现者 /u/KaptainWutax 的文章
https://redd.it/gqfnhn
上文中用来作为范例的 Hermitcraft S7 种子码比较 (by Xisuma)
https://www.youtube.com/watch?v=ybqWm6sRdeY
====
以下简单的解释这里发生了什麽事
生成世界时, 麦块会将世界种子码代入一个二次式求得一个导出种子码
这个导出种子码会用来生成生态域地图
(即是哪个 XZ 座标会是什麽生态域的地图, 大概可以想成用 Amidst 看到的那种图)
那因为式子是二次式, 会产生相同的导出种子码的世界种子码会有两个
(容易理解的理由是二次方程有两个解
不过这里还多了取 2^64 的同余所以数学推论有些微妙的不同, 但结论是一样的)
这样的两个世界种子码就是开头所提的成对互为影子的种子码
====
详细数学在此略过, 不过 AntVenom 的影片里有提到另一件事
那就是互为影子的这两个种子码其总和是固定的
在取 2^64 的同余後总和必定是 -7379792620528906219
这个数字其实可以用所使用的二次式系数导出来
(数学细节: 考虑根与系数关系, 好在这里二次项系数是奇数...)
上面用的例子 Hermitcraft S7 种子码 -2143500864
其影子可拿这个固定和减去这种子码即可得到 -7379792618385405355
Xisuma 的影片中就用了个简单的 AHK script 让我们可以同步比较这两个种子
就可以看到什麽叫做生态域地图相同但其他生成都不同的地形
--
01010011 01101110 01010110 01111010 01100100 01000011 01000010 01001110 011000
10 00110010 00110101 01110000 01100001 00110010 01000101 01110101 01001001 010
00101 01001110 01101000 01100010 01101001 01000010 00110101 01100010 00110011
01010101 01100111 01100001 01000111 01010110 01101000 01100011 01101001 010000
10 01110100 01011010 01010100 00111000 01100111 01010010 01000111 00111001 011
10010 01100001 01010011 01000010 01000101 01100010 00110010 01110100 01110000
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.194.100 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Minecraft/M.1595177735.A.C23.html
1F:推 twosheep0603: 看到magic number总觉得有点害怕XD 07/20 04:31