渔场升级的历程

Author Avatar
xmoiduts 8月 17, 2017
  • 用其他设备扫码打开本文

讲述笔者在Minecraft中持续建造的一项公共工程,以及在性能、外观和交通方面的所想所为。

[TOC]

Introduction

渔场坐落在毛线主世界V2的西北方位,是一座四面临海废话的建筑。它的前身是一处海底神殿,在鬼鬼入服直播期间被大家征服。随后,慕名而来的玩家们就开始了漫长的排水工作。1-排水.jpg

建成伊始,以Rem_shoushou为首的建设团队,将刷怪范围覆盖到了整个渔场。并将生成的守卫者汇聚到了渔场中心1/4的摔落区域。这使得渔场开始产出海晶砂粒生鱼海晶碎片

然而,随着主播的到来,毛线服的玩家数暴增,此时,相当于 每晚7组海晶灯 的产量并不能满足玩家日益高涨的物质生产需要。同时初代渔场也存在着一些不足。

初代渔场存在的问题

  1. 负载不均衡:渔场的摔落区域为30*30,被分为10条3*30的收集区域。某些区域负载较大而另一些区域恰恰相反。笔者曾被上面的史莱姆击杀,散落的装备无法被收集起来,因而损失了绝版弓等稀有物品。2.负载不均衡.jpg
  2. 漏斗利用率太低:摔落区域的物品会被收集到10*5个漏斗中,矿车每个来回长达25s,却只能运送10-个物品,其他时间使用率严重低下。
  3. 没有物品分类机制:每次挂机完成后都要手动轮询4个箱子,从中选取需要的物品。3.漏斗利用率太低.jpg
  4. 初期使用木牌进行隔水,而这种方块会严重降低客户端帧率。笔者的GTX850M显卡只能保持在40FPS。更不用说其它配置的设备了。

考虑到上述不足,笔者xars456ReinWD (如果遗漏了你,请联系我修改)等玩家对渔场的多个组成部分进行了第一次修改。

第一次改建

  1. 将10条矿车轨道首尾相连,连接到统一的发车装置上。装置能够处理矿车数量的波动,也可以控制发车频次。
  2. 发车装置下方放置一辆漏斗矿车,因为漏斗矿车可以以18物品/s的速度从其它容器中吸取物品,所以他可以快速卸掉其它矿车中的物品,使入站车辆迅速恢复可用。
  3. 增设了物品分类装置,好处不用我说了。4.轨道首尾相连.jpg
  4. 用栅栏门替换了部分可见位置的木牌,提升了客户端帧率。5.拆除木牌.jpg

经过本次修改后,矿车的队形顺眼多了上述设计暴露出的问题基本得以解决。

一点小小的心愿

虽然物品收集的效率提升了,但我们没有那么多物品来收集啊,为了扩大物品产量,笔者清除了渔场中心1/9的区域,依托原有栅栏门平面构建了20*20*14的刷怪水体。6.九分之一水体.jpg

第一次扩容后渔场的刷怪效率得到了大幅度提升,效率最高可达每小时4组海晶灯

需求接踵而至:

按说首次改建之后,玩家XARS456应该会消停一阵,但是,我偏不!没事给自己找事是笔者一贯的风格。这次又有一些东西看着不顺眼:

  1. 物品收集区的容量太小了,每种物品3个double chest 根本不够。生鱼时常爆仓。
  2. 熔炉要逐个放鱼,懒得手动去点。
  3. 反车。任何一辆矿车的逆行都会反向传导给所有矿车,导致整个装置停摆。7.矿车卡死.jpg

所以,笔者进行了第二次改建,这也是历时漫长的一项工程:

  1. 将主要产物的储藏区扩大三倍——海晶石/生鱼容量增加到9 double chests。8.第一次升级的储藏区.png
  2. 建造了一座40倍速的熔炉阵列(于2017年12月被拆除,并升级到了80x,后话)。9.40倍熔炉阵列.jpg
  3. 把收集区域180°的U-Turn改造为单向铁路。这样,任何地点发生的反车都将被遏制在此后的铁轨上,而不会波及到前面的铁路。10.单向铁路.jpg

值得一提的是,熔炉阵列的建造得到了<Sxx_>、的赞助。其效率也足够凶残,能够实时处理两路漏斗链中全速传输的物品。(由于奇怪的BUG/Feature,导致单路漏斗的传输速率大于2.5物品/s,以至于设计值为20熔炉/路,但实际上每路22个熔炉依然跟不上漏斗的速度。 我记错了,烧一个物品需要10s,所以满载应该是25个熔炉/路,这一点不存在BUG。)

挖到了一片岩浆海,拿来作为燃料,一炉能烧至少2500+(一整个大箱子)物品。此外,为熔炉阵列添加了燃料指示灯,可以大致了解岩浆用量。

回顾与思考

现在,我们已经具有了5000+格的刷怪区域,那么,无脑增加刷怪空间是否一定会增加物品的产量呢?

我们知道,Minecraft的原版机制允许玩家周围128格空间里存在最多70只敌对生物。这些生物都来自一片刷怪区,却有两个去向:

  • despawn
  • Be killed

想多刷怪就要让现有的怪物消失。第一种去向显然不是我们想要的,那么就只剩一条路了:让刷出的怪物尽快被“击败”。此时,14格的垂直高度太大了。

低延迟改造(第2.5次)

为了降低延迟,我决定重构渔场中心的刷怪区域,以16*16*6为一个模组,初期建造了4个模组(6,8,14,16),新的刷怪区高度只有之前的一半。作为补偿,总测试面积是前者的2.5倍。守卫者从刷出到落地的延迟大大降低了【数值待测试】不测试了,妈蛋。11.16格规划.jpg

糟糕的发现

但是测试中并没有想象中那么理想,生产高峰时,掉率只有每小时3组海晶灯

更糟糕的是,收集系统的漏斗链过载了。

在测试延迟的过程中,我们无奈地发现了一个事实:第二次改建的分类系统存在设计BUG。每种物品的第一列箱子满仓后,整个装置会彻底失去分类功能,沦为简单的物品存贮仓库。BUG之外,装置对于爆仓也没有很好的处理措施。

同时,由于服务器上线了新的实体控制策略,玩家不动时刷怪甚少,只有移动的玩家能够触发正常刷怪量[来源请求]。因此xars谋求新的修改。


于2017.12更新:

改造结果,并不理想。

上回书说到,我们减少了刷怪区域的高度,希望守卫者的生命周期更短。可是,也许是毛线服的特性,缩减刷怪水域后,产率也相应下降。因此,Mumbo Jumbo式的十字型小渔场是不适合本服务器的。

因此,后来我们将其中10个模组的高度改了回来,并对摔落口做了些美化。

扩建,扩建!

此时,渔场还是一个只有30x30的小小存在,其他的设施都单独挖坑围绕在摔落平台周围,包括物品收集区和40x熔炉阵列。为了美观,笔者对渔场进行了大规模扩建——不仅是为了美观,更是为了未来的设施布局!

步骤

1,圈地:围出一个八边形,从海床向上直达海平面,全部使用蓝色玻璃,迎合深海的氛围。

2,排水:用沙子把水区划分成若干个方格,然后跳进去放海绵。我们认为4*6的内径可以有效利用海绵。

3,挖空:将排空积水的区域下挖至基岩层,为了美观,最底层铺满海晶石。

由于只是掏空了原有的水和岩石,这段日子不算正式的改建。经过长达4个月的施工,虽然还略显粗糙,渔场,已开始将她的潜力展现给世人。12.扩建扩建A.png

第三次改建

扩大了渔场的占地范围,我们得以在更大的空间内腾挪。此次修复第二次改建引入的新BUG,并彻底重做铁路布线。

物品收集区

此次改建我们引入了新的物品收集装置,相比既往者,这次的收集区特性如下:

  • 通过以往的观察,我们认为守卫者的掉落物产率约为——海晶碎片4:生鱼2:海晶砂粒1。因此,我们为这三者分别预留了16、8、4个箱子。也为墨囊、粘液球以及其他不属于渔场的物品预留了储藏空间。
  • 防爆仓溢流槽:当生鱼、海晶碎片塞满了它的全部预留空间,新到来的物品将无法被相应的漏斗截胡而继续向后传输。漏斗链的终点是物品丢弃装置。这样可以有效解决爆仓问题,一劳永逸。

摔落层及其铁轨

此前的收集铁轨直接铺在了基岩层上,受基岩位置限制,铁轨层做的很难看。此次将摔落层及其配套铁轨整体上移一层,留出地板的空间,更加美观。13.扩建扩建B.png

物品分类系统

上次改造后我们发现,有时候收集区域会爆仓。所以,此次我们将物品分类系统进行了扩容。每个漏斗矿车都能被两个漏斗矿车同时卸货,效率高达36items/s(Best Effort)。我们为每路矿车配备了独立的分类装置。14.新分类装置.jpg

写到这里,渔场的最终外观已基本成型,19.渔场广角.jpg下文将介绍渔场内外的配套设施。

周边配套

交通

下界冰道(飞行兼容)

一直以来,MC玩家们都通过下界来快速穿梭,因为它与主世界的尺度是1:8映射的。在游玩了若干时间后,我发现,玩家们的冰道,要么是大量消耗浮冰,要么漆黑一片没有光照。是否能够使用更为廉价的普通冰,且为其部署照明设施呢?

xars进行了一番尝试。15.下界冰道布光示例.jpg

事实证明,上述猜想是可实现的。此后我们也增加了弯曲的隧道,从主城下界可直飞渔场下界。

飞行塔坐标

从主城飞行塔北出口起飞,仰角37度,向西偏航30度,最终可到达渔场。

配套

新熔炉阵列(简介)

有一次看见现充村(注释:一堆肝力无边的dalao的集散地)的玩家拿着若干个潜影盒来渔场烧炼,于是想设计那么个熔炉阵列,规模是上一代的两倍(40x–>80x),无需拿出物品,把盒子丢进去,烧好的东西就装箱丢回给你。

2017.7开始构思。16.潜影卸货器.jpg设计、实现、调错颇费周折,同年12月终于得以完成。80个熔炉全数亮起的一刻,长叹一声,数个月的开发终于见到了成果。

17.西新熔炉组点亮.jpg

这里简单放一张图片,技术细节将独立成篇。

掉落物收集铃声

对于渔场出产的粘液球和墨囊,我们为收集行为添加了清脆悦耳的音符盒铃声。

对于海晶砂粒,每集齐5组,将有一段清脆的旋律响起。

18.能不能和大家一直走下去呢?.jpg

意料之外,渔场(无奈)停工:1.14

Minecraft 1.14将定名为水生更新(Update Aquatic),水流的特性将被改写。守卫者农场本身依赖于隔水而不阻挡物体的方块,此次更新后,各个渔场将遭受灭顶之灾,变为字面意义上的大海鱼塘

虽然本渔场的刷鱼模组尚有六个没有完工,但出于未来的不确定性,在服务器升级到1.14以前,我们将不进行刷怪核心的升级,只小小的修补外观。

届时,如果事实和我们预想的最坏情况相符,整个渔场的核心区域将完全拆除重做。届时我(们)可能在此应用新的设计。反正都挖空了,再挖一次也吼啊

寄语


谨以此纪念毛玉线圈物语-v2地图-西北渔场的建设者们。

20.辛勤的玩家们-初代渔场.png

能不能和大家一起走下去呢?