《动物森友会》花株生成机制与优化布局研究
《动物森友会》中后期一大玩法就是花卉杂交,但是花株的生成机制是怎样的以及我们该如何优化花田的布局呢,下面带来由“NilhillQ”分享的《动物森友会》花株生成机制与优化布局研究,一起来看看吧。
最近,研究了游戏源码,已经对游戏内新花株的生成机制有了很深的认识,以下为生成机制的描述:
每天早上5:00,游戏会以随机顺序访问岛上的每一朵花
如果花被浇水了,则这朵花的内部计数器 +1,并根据公式得到新花株的生成概率
投一个随机数骰子,如果成功,则随机从这朵花周围8格找一个空格,否则跳过这朵花
如果这朵花周围8格没有相同品种的花,则自我复制(基因完全相同)
如果这朵花周围8格存在相同品种的花,则从中随机选取一株,杂交
这朵花(和与它杂交的花)的内部计数器清0 ,并将它们标记为“不可用”,它们不会被后续的花选中作为杂交对象
新花株的生成概率 = 基础概率 + 奖励概率
基础概率由花的内部计数器,也就是被浇水的天数决定,当浇水天数小于3时,概率为5%,当浇水天数大于3天时,每多一天,概率增加5%。
基础概率表格
奖励概率是为了奖励朋友帮你浇水,以下为奖励概率的表格
奖励概率表格
比如,一朵花总共被浇水了5天,且这5天始终没有产生新花株,在第5天有两个朋友为这朵花浇水,则它在第6天它产生新花株的概率为15%+30% = 45%。根据上述机制,我编写了一个模拟程序,用于估计不同布局的性能:
新花株的每日产量
空间效率,空间效率 = 每日产量 / 布局面积
花朵效率,花朵效率 = 每日产量 / 花的总数
空间效率与花朵效率为布局在两个维度的性能指标:当你手头有很多花,但岛上的空地不够时,应当选择空间效率高的布局。如果你手头花的数量较少,但空地很多时,使用花朵效率高的布局可以产生更多的花株。
仿真设置:
每一个布局的模拟天数为一万天,每一天的仿真完成后,都会铲走新花株使布局恢复原状,并统计数量
布局外侧使用围栏挡住
两种最简单的情形
单独花株,只会触发自我复制
成对花株,只会触发杂交
根据帮忙浇水的朋友人数不同(0~5人),平均产量会有变化:
单独花株的平均产量为 0.147 → 0.285 → 0.373 → 0.506 → 0.652 → 0.801
成对花株的平均产量为 0.196 → 0.452 → 0.587 → 0.757 → 0.873 → 0.962
为什么成对花株比单独花株的平均产量高一点?这是因为两朵花相当于投了两次随机数骰子,如果第一朵失败了,第二朵还有成功的可能。
但是如果是想大量复制花朵,比如复制蓝玫瑰,应该采取单独花株的模式,因为这种模式的花朵效率更高,具有更高的产量。
空格较少的情形
只有中间一格是空格
这个布局十分拥挤,只有中间一格是空地,即使没有朋友来帮忙浇水,它的平均产量也为0.715,随着浇水人数增加,平均产量接近1。
需要注意的一点是,这里的产量是长期运行下的平均产量。为了达到平均产量,是需要几天的持续浇水的。这是因为在最初的几天里,花的内部计数器还没累加到一个较高的值。一般来说,一个布局达到平均产量需要5天左右的时间来积聚能量。
下图为此布局前30天的平均产量曲线,比较明显的是蓝色曲线,它前5天的平均产量逐渐上升,然后在0.7附近徘徊。
前30天的平均产量曲线
复制田布局设计
“复制田”就是要避免花的杂交,每一朵花周围都没有可以杂交的对象,只能触发自我复制机制。
下面分析三种4x4大小的复制田布局,其空间效率逐渐提升,但花朵效率逐渐下降。
注意,图中红色、绿色、蓝色表示不同品种的花朵,他们之间不会杂交
复制田布局1
复制田布局2
复制田布局3
为了方便分析,根据上述表格绘制了三种布局的 “空间效率-花朵效率” 性能曲线。观察这个曲线可以得到很多信息:
每一个布局的性能点都在穿过原点的一条射线上,随着浇水人数的变多,其值向原点外扩散
如果布局比较“稀疏”,性能点到原点的距离是固定比例的,比如布局1和布局2
如果布局比较“拥挤”,它会逐渐收敛到“最大空间效率”处,比如布局3,它只有1/4的空间为空地,所以它的空间效率收敛到25%。
图中6条折线代表的是不同浇水人数下的性能比较
根据这张性能图,我们可以挑选出空间效率最高的布局:
如果浇水的人数为0~2人:布局3的空间效率最高; 布局2的空间效率比布局1高,且具有和布局1相近的花朵效率。推荐使用布局2或布局3。
如果浇水人数为3人及以上:推荐使用布局2。
另外,布局2可以进一步优化,让每一朵花附近的平均空格数更多,防止新花株产生后将空格完全堵住,浪费一部分花朵的产能。
对布局2的优化
下图为布局2与优化后的性能比较。
| 《集合啦!动物森友会》精华文章推荐 | |||
自交田布局设计
自交这里指的是颜色相同的同一品种的花进行杂交,我们最常用的布局是棋盘格型布局,3x3的棋盘格型布局有两种摆法,一种是x型,一种是菱形,它们之间有差异吗?差异又有多大?
3x3菱形布局,不会发生自我复制
3x3 X型布局,会发生自我复制
通过上述表格可以看到,虽然X型布局的合计产量比菱形布局高,但是我们的目标是“自交”,而不是“复制”,X型布局会极大提高自我复制的概率,这是因为它的四个角上的花朵都只与中间的花接触,如果中间的花被使用过后,这四朵花将只会触发自我复制!
总结,在使用棋盘格布局做自交时,我们应该尽可能避免一朵花只与另一朵花接触的情况。
棋盘格型布局的空隙很多,所以基本不会出现浪费花朵产能的情况,但空间效率不够高,它的布局密度只有50%,那么是否存在其他的布局,拥有更高的布局密度和空间效率呢?
下面放出各种布局的仿真结果:
密度50%,布局1,棋盘格型
密度50%,布局2,平行线型
密度55.5%,布局3
密度66.6%,布局4,双平行线型
密度66.6%,布局5,斜平行线型
密度66.6%,布局6,神社型
密度75%,布局7
密度75%,布局8,粗斜线型
密度75%,布局9,六边形型
密度75%,布局10
密度77.7%,布局11
密度83.3%,布局12
密度88.8%,布局13
对以上13种布局绘制“空间效率-花朵效率”性能曲线,选择尽可能靠右上角区域的布局,就能挑选出空间效率与花朵效率之间较好权衡的布局。
“红圈”内的布局是较好的布局
总结,经过仔细观察上图,我从中挑选出了一些最合适的布局,它们一般拥有更高的空间效率和与棋盘格型布局相近的花朵效率:
当帮你浇水的人数为0人时:推荐使用布局5,7,9,11,12
当帮你浇水的人数为1人时:推荐使用布局5,7,9
当帮你浇水的人数为2人以上时:推荐使用布局5,7
杂交田布局设计
杂交这里指的是相同品种的不同颜色花进行杂交,杂交的布局可以设计的余地比自交小很多,因为我们要防止相同颜色的花互相接触,棋盘格型布局是一种常用的杂交田布局。
先给出最常见的3x3杂交田,不做过多解释。
3x3 X型杂交田,当有一个朋友浇水时,第二天就会有80%概率出现杂交后代
3x3 菱形杂交田,不会出现自我复制的后代,具有非常高的花朵效率
是否存在比棋盘格型杂交田更好的布局?答案是存在的,但是需要两种不同品种的花,见布局2。
8x8 棋盘格型杂交田,布局1
使用两种不同品种的花,布局2
布局1 vs 布局2
布局2具有更高的空间效率和花朵效率。布局2花朵效率高的原因是它可以避免自我复制,在多人浇水时,这种优势越发明显。
Switch2