研究完了刷怪机制,最终目的还是为生存服务的,所以玩家设计出了能全自动产出资源的刷怪塔。下面就来分析一下这些机器都是如何被设计出来的。

图片来自Wiki
由Wiki上的介绍可知,刷怪塔是由刷怪区域和怪物磨床(即处死怪物的部分)两部分组成的。接下来就根据之前分析的内容来说说刷怪塔的设计原理。
一.生成部分

不难看出,刷怪最基本的条件就是下方方块可生成。可生成方块的条件:上表面完整,发光等级小于14。如图中这些方块。

对于常规的刷怪塔而言,其次的条件就是光照等级<=7。
问题来了,光照等级是怎么算的呢?众所周知,mc中光照有天空光照和方块光照两种。天空光照是不受时间影响的,当方块暴露在天空下时,其天空光照为最高等级15,每向四周传播一格则等级降低一级。mc首先会生成一个0-31之间的随机数,并判定天空光照等级是否小于等于这个数。显而易见的,当天空光照为0时,成功率为100%。

如果通过,游戏会进行亮度判断。但是注意,mc中刷怪判定并不是直接取天空光照等级,而是引入了一个叫做内部天空光照的概念。内部天空光照是会受昼夜和天气影响的,具体规则如下。

摘自Wiki
方块光照则是常规的光源方块提供的光照,例如火把为14,南瓜灯为15等。最终得出的亮度等级为内部天空光照等级和方块光照等级的较大者。值得注意的是,并不是只要把亮度等级降到7就可以了,而是要尽可能的低。

图片来自红科搬
如图,可以看出,光照为0时刷怪成功率为100%,而光照为7时仅有不到20%成功率。所以建造刷怪塔时,应该使刷怪面积光照等级全部为0。
综合上述两条光照判断以及之前的代码分析,也就解决了为什么绝大多数刷怪塔要做一个向外延伸的屋顶。

图来自黑山大叔女巫塔
首先屋顶是为了遮光,使得天空光照和亮度等级均降到0,而且一般的屋顶最多向外延伸20格,这是由游走刷怪的原理决定的。

通过研究刷怪机制我们发现,游走的初始点不是刷怪位置,所以初始点可以不是刷怪方块。通过增加屋顶,可以使屋顶覆盖区域有概率被选为初始点。如果该点同一高度的下方正好有刷怪平台,那么在游走时就有可能游走进刷怪塔区域,并在里面刷怪(俗称LC欺骗)。这样,就直接增加了刷怪的成功率,从而提升效率。游戏每轮一般一共进行4次游走,每次最多游走5格,这样,只需要20格屋顶就可以使效率最大化。另外,挂机平台一般不能做在刷怪区域正上方,而要远离刷怪区域10格左右,否则就会影响LC值,从而使效率大大降低。
二.处死部分
说完生成,再来说说处死。处死一般分两种——玩家手动处死和自动处死。玩家手动处死的目的一般是为了获得经验。像小黑塔这类只能通过玩家击杀获得经验的农场都是手动处死,毕竟对于需求量非常小的末影珍珠来说,完全没有必要做这么大的农场,而猪人塔这类不需要玩家击杀就能获得经验的的农场,玩家只需要挂机即可。
玩家处死的另一个目的就是拿着抢夺的剑,提高掉落物效率,比如凋零骷髅塔。众所周知,凋零骷髅头是凋零骷髅最重要的掉落物,而一只凋零骷髅掉落头颅的概率仅2.5%,如果装备抢夺3可以把这个概率增加到5.5%。
如果再把自动处死细分,可以分成单维度处死和双维度处死。而我们常见的水流刷怪塔就属于单维度刷怪塔。怪物存活时间是衡量刷怪塔效率的重要指标。只有尽可能从机械角度缩短存活时间,才能提升刷怪塔的效率。那么是不是存活时间能无限缩短呢?

当然不是。mc中生物自带的死亡动画(即从变红倒地到消失)是有1秒时间的,并且这1秒钟也是计入刷怪上限的,也就是说每只生物生成后最少存在1秒钟,也就无法把效率无限提升,这正是单维度刷怪塔的最大瓶颈。更何况一般的单维度刷怪塔存活时间远达不到1秒。
但是单维度做不到,并不代表没有办法做到,双维度刷怪塔正是为此而生的,虽然生物死亡需要1秒,但生物进入地狱门却是不需要时间的,而且传送到另一个维度也不会占用刷怪上限。根据这个原理,我们可以制作出双维度守卫者农场等高效率农场。

最后一部分,来说说刷怪塔方面的术语。
刷怪塔效率
刷怪塔效率是最被玩家所关注的一个词,指的是刷怪塔单位时间内的总掉落物数。对于装了carpet mod的玩家来说,想要得知效率非常简单,只要使用内置的counter指令即可。

但是,有时候想知道的并不是当前效率,而是可能的最大化效率(也称极限效率或理论效率)。这时候,就无法通过实机测试得出了,只能通过理论计算。公式:
刷怪塔效率=(1小时gt数*掉落期望*每gt怪物数)/怪物存活时间
下面就来解释一下这公式是怎么来的。
首先,1小时内gt数是72000,这取决于你想得到的是以什么时间单位得出的效率。如果你想知道效率是多少每分,就需要使用1分钟内gt数,也就是1200。1小时内gt数与每gt怪物数相乘,得到的是1小时内总怪物数。需要注意的是,这里所谓的“总怪物数”,并不一定与实机得出的结果相同,它是一个“理论怪物数”。
不难发现,公式把每gt都当做刷怪的有效时间,但是我们知道,单维度刷怪塔怪物会至少占用20gt的刷怪上限,这期间是不能刷怪的。这个问题我们一会再解决。紧接着是掉落期望,这里的掉落期望也就是一种生物中每只死后掉落物的多少。举个例子。

苦力怕死后随机掉落0-2个火药,平均掉落1个。所以苦力怕农场的掉落期望就是1。所以在总怪物数乘以掉落期望后也就是总掉落数了。但是之前说过,这个总掉落物是假的,具体的掉落数与刷怪塔的处理速度有关,也就是与怪物的存活时间有关。简单来讲,就是刷怪塔并不是不间断刷怪的,而是循环成波刷出的。而这个循环周期就是怪物的存活时间。
所以最后除以无效的刷怪时间——存活时间,得到的就是最终的效率了。
如果要计算主世界苦力怕刷怪塔的火药极限效率,存活时间取1秒也就是20gt,每gt怪物数取刷怪上限也就是70,代入公式,(72000*1*70)/20=252k/h,这个效率正是所谓的理论效率,一个刷怪塔越接近理论效率,这个刷怪塔就越成功。
存活时间
存活时间前文中多次提及,其实就是指怪物从生成到消失的时间。这个时间可以通过测试得出,也同样可以计算得出。
存活时间=1小时gt数/(1小时总掉落/每gt怪物数)
十分明显,这个公式就是刚才那个公式的逆推公式。我们可以从存活时间出发,算出理论效率,也可以从当前效率出发,算出存活时间。二者是可以互相推导的。
刷怪失败率
游戏中每gt会进行一次刷怪,而这些刷怪并不是100%成功的,其中原因大体与刷怪上限和怪物种类有关。这些失败的刷怪尝试会浪费时间,从而影响你的效率,所以你需要尽量避免进行无效的刷怪尝试,比如阻止游走刷怪的发生等等。这个概率也可以通过carpet mod查看。
刷怪面积和刷怪密度
前文说过,存活时间是效率的一项重要指标,而刷怪面积则是效率的另一项重要指标。一般来说,当你的存活时间无法再优化时,可以通过暴力增大刷怪面积的方式增加效率。但是,刷怪面积并不是越大越好,如果刷怪塔中的刷怪数量已经到达上限,这时无论如何增大面积都是无用的。
刷怪密度,顾名思义,就是可刷怪面积在刷怪塔总面积中的占比。刷怪密度同样也是衡量刷怪塔优劣的一种方式。如果要提高效率,就必须优化刷怪单元,而刷怪单元则是决定存活时间和刷怪密度的因素。当刷怪密度能够达到50%时,就可以被称作是比较优秀的刷怪塔。