作者:nenn(百度id:正正正正正好

注1:本文中提到的所有Minecraft版本均为1.12。

1.传统仓库系统的发展过程和缺陷

技术生存中,各种工程的规划是至关重要的,这是因为规划决定了建造效率和工程效果。由于一些大型工程会大量消耗服务器资源,因此在规划时,倾向于将这些工程放置在玩家不常活跃的区域。这样一来,一些大型工程虽然可以产生大量物资,但是这些物资往往不能很高效地运输到玩家常规的活动区域。这一问题最常见的解决办法就是修建非常完善的地狱交通系统来尽可能缓解这种情况。如果你缺少什么物资,你可以用最快的速度跑去生产这一物资的大型工程,然后把物资塞满每个口袋再回来就好了。

这种方法看起来的确没什么问题,但是游戏过程中,你很难做到完美的规划。如果你拿完了物资准备大干一番时,突然发现又缺了什么物资还没拿怎么办?这种情况非常常见,但唯一的解决办法就是再跑去拿需要的物资。这个过程就造成了玩家在交通上浪费了过多的时间。

有经验的玩家为了避免这个问题,往往会提多取些物品作为储备,但物品往往储存在只有他自己清楚的地方,因此这一行为造成了资源利用率的下降。没有人确切地掌握哪些人多取走了哪些物品,此外这些物品储备也往往很容易被本人遗忘,因为储备的地点太过分散。为了解决这一问题,玩家想出了设计仓库系统来帮忙管理物资。

传统的仓库设计功能非常明确,就是把玩家给予的物品进行分类,然后存储在特定的箱子里。这一功能从技术实现上并不困难,但是传统仓库在实际使用的时候,往往会发现某些物品的箱子总是空的,有些物品的箱子却总是爆满。比如凋灵头颅相对比较稀有,存放的箱子往往非常空荡,但泥土的数量非常多,往往需要几十个箱子才能全部装下。所以往往仓库里的大量的箱子都用于存放了少数几类物品,这对于仓库内箱子位置的规划造成了不小的麻烦。毕竟要从一大堆箱子中找到你需要的物品存放的那个箱子往往太麻烦了。所以仓库系统后来出现了明显的优化,也就是开始根据物品的总量进行区分,总量相对较少的物品划作小宗物品,总量相对较大的物品划作大宗物品。小宗物品存放在一起,而大宗物品存放在另外的区域。

传统的仓库设计还有一个致命缺点,就是因为需要对相当多的物品进行分类,仓库的分类系统会使用非常多的漏斗和箱子,这造成了相当的服务器负担,因此传统的仓库周围,玩家总是感觉非常卡顿[1]。还有一点必须指出的是,传统仓库只负责分类和存放物资,并不考虑物资运输的方便。也就是说,如果你需要一大堆泥土,你就必须跑去那个卡卡的仓库,颤抖着从箱子里取出泥土塞满全身以后再飞奔到你要大干一番的地方。然而玩家的背包是很有限的,有时候你不得不多跑几次,这个过程实在太痛苦了。

2.新型仓库系统的技术基础

前一个部分主要指出了传统仓库系统的两个关键痛点:

1)传统仓库系统很容易造成体验上的卡顿

2)传统仓库系统可以自动化分类物品并存储物品,但是并不方便玩家调用这些物品

所以新型仓库系统不仅能够实现传统仓库的功能,还要着重解决上面的两个痛点。传统仓库不方便玩家调用物资的根本原因是因为物品全部储存在箱子内,而如果想要自动化转移箱子内的物品,只能依赖速度缓慢的漏斗。所以为了更快地转移物资,玩家往往选择手动搬运,这给玩家造成了额外负担。这一问题并非没有办法解决,只要稍微转换思路,不再将物品储存在箱子里,而是储存在带有轮子的箱子里即可。也就是说,如果将物品储存在运输矿车中,那么玩家转移大量物资的效率会高很多,而运输矿车同样可以起到一般箱子的作用。

这一思路如果继续下去,就会完全颠覆传统仓库的设计。传统仓库的设计主要针对单个物品进行处理,而基于运输矿车的新型仓库系统则是针对运输矿车这一“集装箱”进行处理。物品的存放、分类和流通方式将完全改变。

我们可以梳理一下,基于运输矿车的新型矿车系统可能需要的技术:

1)矿车分类技术。分辨不同的矿车种类。

2)车队控制技术。允许不同矿车组成车队共同运输。

3)货运矿车分类技术。分辨装载不同货物的货运矿车。

4)堆叠矿车操控技术。操控堆叠矿车的运动。

5)铁路调度技术。协调不同车队共同使用铁路。

1)矿车分类技术

矿车分类技术已经实现[2][3]。目前已经可以实现全自动分类空载普通矿车、载有生物的普通矿车、动力矿车、空载运输矿车、空载漏斗矿车、载物运输矿车和载物漏斗矿车。其中[2]中的方案也已经被进一步优化。这一方案需要的冷却时间为14红石刻,但为保险起见,推荐使用16红石刻。也就是说,两辆间隔12格以上的矿车输入这样的模块后可以保证正确分类。

2017-08-29_09.50.26

2)车队控制技术

车队控制技术也已经实现。根据分类模块的冷却时间,建议使用的车队车辆发车间隔为16红石刻。由于矿车进入被弱加载的区域会不再运动,而这会造成车队内矿车间距的变化,所以车队必须保证所有矿车每时每刻都被强加载。因此车队的车头位置需要一位玩家作为驾驶员,时时刻刻加载矿车周围的区块。考虑玩家会强加载的范围,推荐15辆或更少的矿车组成车队进行运输。

为了实现车队控制,对运输过程中的铁路具有如下要求:

1)所有直轨道使用充能铁轨

2)弯曲铁轨之间必须间隔20格或更多的充能铁轨

3)禁止动力矿车进入铁路系统

4)一列车队必须有一个驾驶员(当然只需要afk即可)

这些要求可以让铁路上的所有矿车都时刻以相同的饱和速度运行。而车队停靠的车站则可以设计如下。

2017-08-29_18.58.44

3)货运矿车分类技术

不同的矿车组成车队后就可以进行长距离运输,但完成运输后,不同的矿车需要被分类存放。这种技术也不是较难实现,对于货运矿车而言,第一个物品栏内存放的物品可以作为这辆矿车的标记。如果货运矿车存放的是大宗物品,那么可以通过判断第一个物品栏内的物品了解其运输的物品种类;如果货运矿车存放的是小宗物品,则第一个物品栏内可以存放经过特别命名的物品。那么通过判断第一个物品栏内的物品就可以获知其运输的为小宗物品。

当然,如果需要设计一个检测模块可以分辨矿车内的物品,那么我们依然要遵循[3]中列举的设计原则:

1)矿车经过分类模块后,依然具有原来的功能。

2)矿车经过分类模块后,矿车的载物量不发生变化。

3)分类过程尽可能快速。

4)适用于不同载物量的矿车。

技术实现上也不是较为困难。只要用漏斗吸走货运矿车内的第一个物品,进行分拣后再归该物品还即可。而为了让分类尽可能快速,可以先分辨货运矿车运输的是大宗物品还是小宗物品,然后再进行分类处理。大宗物品直接分类矿车,而小宗物品则倾倒出矿车内的物品进行逐一分类。

如此可以实现小宗物品分离模块。运输小宗物品的矿车的第一个物品栏会使用特定的物品作为标记(最好经过命名来标记特殊性),而这一模块就可以识别矿车内的第一个物品是否是这一特定的物品。

2017-08-29_19.54.28

4)待研发技术

待研发技术主要包括大宗物品快速分类技术、堆叠矿车操控技术以及铁路调度技术。

大宗物品快速分类技术是指快速地识别货运矿车内的物品,并将货运矿车按物品种类进行分轨的技术。基于上述小宗物品分离模块的确也可以实现大宗物品分类的基本操作,但由于模块单线程且具有一定冷却时间,因此处理大宗物品并不高效。

堆叠矿车操控技术是指实现矿车自动化堆叠和离散以及长距离移动堆叠矿车的技术。目前关键的技术难点在于避免长距离移动过程中堆叠矿车的自行离散。堆叠矿车具有较高的运输效率,因此针对大宗物品的高效运输具有较大意义。

铁路调度技术主要是指不同铁路系统共用铁轨的技术。技术难点在于避免车队冲突的前提下,尽可能提高运输效率。

3.新型仓库系统的设计思路

新型仓库系统的核心技术就是对矿车的操控,其可以解决传统仓库无法高效运输的问题。由于运输效率的提高,仓库也再也没有必要将所有的物资存放在一起,子仓库和物流系统的建立就成为了可能。可以根据使用频率进行区分,分别存储在两个不同的仓库内。主仓库用于存放使用频率较高的物品,选址为玩家主要的活动区域内(可理解为市区)。子仓库用于存放使用频率较低的物品,选址在玩家主要的活动区域外(可理解为市郊工业区)。

一句话概括,就是传统仓库只作为新仓库系统的一个部分,用于小宗物品的管理。而大宗物品的管理则完全基于运输矿车。

如果我们将村民工程也考虑进来,规划就会是这样的:村民繁殖机(绿色)和子仓库(橙色)都位于市郊工业区(红框外),而交易中心(紫色)和主仓库(黄色)都位于市区(红框内)。所有设施通过铁路相连。为了尽可能减小搭建成本,某一段长距离的铁路会同时运输村民和物品。

2017-08-29_08.43.46

可以举一个稍微具体一点的例子,关于圆石的存放。圆石的使用频率很高,同时也是大宗物品。因此最合理的储存手段是运输矿车。主仓库内一般可停放4辆运输矿车,其余运输矿车均存放在子仓库中。

假设造石机生产了100辆运输矿车的圆石,将这些运输矿车组成车队并送至子仓库存放。可挑取其中4辆运送至主仓库存放。

假设某玩家需要马上合成一组活塞,直接去主仓库就可以很快拿到圆石。

假设某玩家需要建造某个大型工程需要40辆运输矿车的圆石,可以将这些运输矿车组成车队并运送至主仓库以供使用。

同时,我们也可以基于同一套铁路系统,考虑一下村民的管理。

假设需要开启村民繁殖机,玩家可以前往市郊工业区挂机。

如果获得了较好的村民,让这些村民坐上矿车,然后组成车队运送至市区内的交易中心。

 

可见,这样的设计可以充分利用铁轨的价值,同时让玩家以最快的速度达到目的。有些玩家会说,使用大量潜影盒和空中飞行也是一种不错的解决方案。。潜影盒和空中飞行的确增加了物品的运输效率,但相比之下,基于矿车操控的仓库系统可以实现afk运输和装卸货物,这是空运无法实现的。因此即使空运发达,这样设计的新型仓库系统仍有其优势。

4.参考文献

[1]《【讨论】全物品自动分类机的设计》

[2]《矿车分类的基本模块》

[3]《货运矿车(II类矿车)细分模块》

【游戏机制】自由落体的运动规律——理论部分

作者:nenn(百度id:正正正正正好) 注1:本文中提到的所有Minecraft版本均为1.8.8。 注2:禁庄转。 注3:高中以下学历可以适当跳过一些推导过程。相比推导...

阅读全文

【游戏机制】刷怪机制的可视化

作者:nenn(百度id:正正正正正好) 注1:本文中提到的所有Minecraft版本均为1.8.8。 注2:禁庄转。 关于生存模式的玩法,大家各不相同。有些玩家倾向于娱...

阅读全文

【15w42a快照】浅谈1.9交通大改革

作者:nenn(百度id:正正正正正好) 注1:本文中提到的所有Minecraft版本均为15w42a。 注2:本文内容与红石技术无关,但鉴于该问题有较大的应用价值,因此发...

阅读全文

1 条评论

  1. 1.在物资充分多的情况下,依然需要每一种物品有一个槽来储存吗?
    2.对少量物品的储存原理很等同于老式储存?