Guides / Building & Resources

马匹繁殖:两匹完美的父母马也无法保证生出完美的马驹

马驹的属性值会以父母马的中间值为中心,但无论父母马有多么相似,其属性值的波动范围都有一个最低值,即属性值范围的0.3倍。这个最低值是无法消除的。

马匹繁殖通常被描述为“马驹的属性值是父母马的平均值,再加上一些随机性”。 前半部分完全正确。后半部分则隐藏了真正决定你的繁殖计划需要多长时间的关键部分。

模型

midpoint = (parentA + parentB) / 2
spread   = |parentA − parentB| + 0.3 × (statMax − statMin)
roll     = (random + random + random) / 3 − 0.5
foal     = midpoint + spread × roll

这个“随机数”是三个均匀随机数的平均值,因此它以 0 为中心,边界为 ±0.5, 呈钟形分布,标准差为 0.1667。以零为中心意味着马驹的预期属性值恰好是父母马的中间值——民间说法中“平均值”的部分是正确的。

波动范围有一个无法消除的最低值

看看第二项:0.3 × (statMax − statMin)。它根本没有提及父母马。

即使是两匹完全相同的父母马,|parentA − parentB| 也是零,波动范围仍然是:

属性完整范围不可消除的波动范围
最大生命值 (Max Health)15 – 304.50
跳跃力度 (Jump Strength)1.09 – 5.291.26
移动速度 (Movement Speed)4.74 – 14.232.85

因此,繁殖两匹最高速度的马,生出的马驹平均速度为14.23,但标准差为0.47,最低可能达到约 12.81。两匹完美的父母马并不能生出完美的马驹;它们生出的马驹以完美为中心,但会有一个固定的波动范围。

这就是为什么繁殖计划会达到一个平台期。一旦你的父母马属性值非常接近,再进一步缩小它们的差距就没有帮助了——|parentA − parentB| 项已经接近零,剩下的只是一个你无法通过繁殖消除的常数。

匹配父母马仍然很重要,非常重要

在另一个极端,将你速度最好的马与速度最差的马进行繁殖,其波动范围为 9.49 + 2.85 = 12.34——是父母马完全相同情况下的四倍多。所以,将相似的马匹配对的建议是真实的;它只是有一个硬性限制。

实际情况是:

  • 早期,匹配父母马是整个游戏的关键。减少 |A − B| 几乎可以一对一地减少波动范围。
  • 后期,它没有任何作用。你正在与0.3的最低值作斗争,剩下的唯一拉杆 (Lever) 就是数量——繁殖更多的马驹,并保留最好的那一小部分。

为什么尾部很薄

因为“随机数”是三个随机数的平均值而不是一个,结果会集中在中间。马驹的属性值落在波动范围的极边缘,需要三个随机数都接近同一个极端,这种情况很少见。大约三分之二的马驹落在标准差之内——对于属性值相同的顶级父母马来说,速度属性的标准差为0.47——而你所追求的异常值则远远超出这个范围。

因此,对于后期繁殖计划的真实预期是:大多数马驹仅凭运气就会比父母马的中间值略差,少数会略好,而进步则来自于只保留少数优秀的马驹。

与游戏的一个区别

这个计算器不会将超出范围的结果反射回范围内;而Minecraft会。因此,在属性值的最高端附近,实际游戏会将不可能的随机数折叠回来而不是截断,这会稍微改变极端尾部的形状。中间值、波动范围和上述的平台期不受影响。

马匹繁殖计算器 →

More guides

Browse all →

还想找别的我的世界工具?

一整套在浏览器里运行的生成器、查看器和转换器,全部免费。