灵剑的回答
之前分享过福报工厂的立体工厂设计模式,由于《戴森球计划》不支持《staticsfactory》的盖楼房的模式(立体建筑基本上只是同类扩容的作用,而且只有仓库和科研可以扩),是没法做类似的设计了,不过《戴森球计划》的特点在于传送带和分拣器从初期开始速度就非常快,而且支持智能过滤,分拣器占用面积非常小。比如说一般的建筑的生产速度通常也就是几十/min,而最高级的传送带传送速度高达1800/min,富余的带宽和智能分拣模式提示我们可以考虑将各种产物混合在一条传送带上,从而极大提高布线效率。然而,一般的传送模式中,这种设计会在其中一种产物过多的时候卡死整个传送带,通常是不可行的,这里的方式是将整个传送带形成一个大环,让所有的产物在传送带上循环运行,这样只要放到环路上最终一定会被其他设备消耗掉,不用担心卡住的问题,需要解决的问题是如何限制放入环路的速度防止环路整体被堵死。
先占个坑,放个截图看一下效果。这种设计的最大优势在于惊人的布线效率,很小的面积上可以生产数量众多的产物而不用过多考虑上下游关系;主要的缺点在于整体产量受到传送带速度限制。
要达到这种效果,必须要在接入的地方有特殊的设计。
我们来具体讲一下这种布局的原理
本文中的环形总线接入的生产系统有以下特点:
要达成以上目的,需要采用特殊的产物接入方式,以下会进行介绍。
首先需要了解一下这个游戏中的物流系统的基础知识:
要让生产设备接入环线之后能自动调整产量,关键在于一种反馈机制,即环线上多余的产物较多时停止生产,环线上多余的产物较少时继续生产。思路是首先通过一个高速分拣器将环线上的产物取回到一条子传送带的上游,然后再用低速的分拣器在子传送带的下游重新放回环线,生产设备的产物输出到两者之间,也就是子传送带的中游。我们结合下图看一下。
可以注意到图中的CPU生产线,它首先输出到一个仓库,然后从仓库左侧输出到了一段很短的传送带上,这个传送带上主要有三个步骤,上游时一个配了过滤器的CPU分拣器,从环线分拣到子传送带,中间是从仓库分拣到子传送带,下游是输出回环线,这里为了控制速度用了一个长度为2的分拣器绕了一下。注意子传送带的方向和环路运行方向一致,因此放入环路的产物会绕一个大圈再回到上游取回的分拣器中。
考察它的工作原理,首先考虑下游没有任何消耗的情况下,经过一段时间,放入环线的产物会再次被分拣器分拣到子传送带上,输入速度和输出速度一致,这时候子传送带上会产生堆积,向外输出的分拣器会停止工作,而上游从环路分拣回产物的分拣器仍然会继续工作,这时候环路上的产物数量是固定的,而且远小于环路的空隙数量。
如果输出的产物被消耗,但是未完全消耗,则剩余产物被分拣器捡回,子传送带上的堆积情况被控制在生产设备输出的分拣器下方恰好有物品的程度上,因此子传送带上有:
上游取回数量 + 生产设备输出数量 = 输出到环线数量
再考虑整个环线,产物绕一圈被消耗掉一部分,然后再次被分拣器取回,平衡时有:
输出到环线数量 = 环线上消耗数量 + 上游取回数量
联立两个式子,就可以得到,当产线达到平衡时,有
生产设备输出数量 = 环线上消耗数量
这就是环线接入限速的原理。
当接入环线的速度不足,或者生产设备生产速度不足时,则所有产物全部输出到环线,环线上消耗不足使下游生产设备减速。
下游完全没有消耗时,环线上的产物数量取决于放置速度、环线长度和环线运行速度,运用简单的数学可以得到:
环线上产物数量 = 放置到取回中的时间 * 放置速度 = 环线长度 / 环线运行速度 * 放置速度
我们要保证环线上仍然有空隙,也就是要求环线上总的产物数量之和 < 环线长度,注意到产物数量本身就和环线长度成正比,因此只需要考虑 产物数量 / 环线长度的数值,这个比值称为环线带宽占比。注意到在下游完全没有消耗时,它固定等于 放置速度 / 环线运行速度,因此我们把环线运行速度称为环线总带宽,环线中产物传输的速度称为占用带宽,单位都是个/s。极速传送带的带宽是30/s,最低级的分拣器 + 3格距离占用带宽为0.5/s,如果是最低级分拣器 + 1格距离则为1.5/s。
当整个环线所有的输出全部都停止(比如说下游仓库全满,没有持续消耗)时,所有生产都停止,整个环线上所有的产物都会占用无消耗的全部带宽,这就要求要让生产线在任何情况下都完美运行,必须有所有接入产物的占用带宽之和小于环线带宽。不过实际设计时不可避免地会多占用一些,尽量在超载的情况下保持产线稳定的技巧会在后面讲。
当下游有消耗时,环线上不同位置的实际使用带宽是不同的,从输出开始时最大占用带宽,每次消耗之后,占用带宽都会下降。多数加工设备的输入材料总个数超过输出材料总个数,因此多数加工设备接入后,在生产设备持续生产的条件下,会在一定范围内降低环线的占用带宽,不过如果下游停止消耗,则会恢复最大带宽占用。
如果每种材料只有一个位置接入,则接入带宽就是下游能够消耗的最大速度,提高产量可以通过增加接入速度或者增加新的接入点来实现。
环线接入时仓库不是必须的,最小的接入单元就是一个加工设备 + 3格子传送带 +3个分拣器,占用面积极小,因此接入效率也极高。仓库在不同的接入位置可以有不同的作用,主要有以下几种:
产物接入环线的速度主要受分拣器类型和距离影响,不过由于分拣器的工作原理,实际上会比标称工作速度略慢一些,环线占用带宽(包括这个产物本身的占用)越低,接入速度越接近于标称速度;环线占用带宽比较大时,接入速度会明显低于标称速度,这时候需要考虑重新调整各个生产设备接入环线的速度了。
虽然极速传送带有30/s的接入速度,接入产物多了之后还是会明显看到过载的迹象;初期如果采用高速传送带,则只有12/s的速度,更容易过载。有明显过载迹象时需要用各种手段来解决。
第一步,首先检查各个产物的实际生产和消耗速度,可以通过统计报表查看。如果产物的实际消耗速度并不高,可以降低接入速度来减小带宽占用
对于消耗量大的产物来说,最妥当的方法是采用多点接入的策略,多点接入的方法是在环线不同位置都有同一产物的接入,可以是铁块、铜块这样的初级产物,也可以是中间加工的产物。每个接入的地方采用独立的接入限速。要点在于,让产物的消耗分布在多个接入点之间,这样就可以做到使用较低的带宽来实现较大的传输速度。
比如说,下游对某个产物有60/min的消耗,分别是3个生产设备,各自20/min。如果采用一个接入点,则至少要占用1/s的带宽。如果采用三个接入点,分别在三个设备之间接入,每个接入点的接入速度为0.5/s,则整体只占用0.5/s的带宽就实现了60/min的消耗。
如果对某个产物的消耗比较大量而集中,另一个策略是改用传统方式使用专用线来接入,即拉一条专用的传送带从生产的点传输到消费的点,只传输一种产物,这样就不再占用环线带宽。这种方式可以跟环线相互配合,同一个产物既有专用接入,也有一定量从环线接入,同一个生产设备某些产物用专用线,某些产物走环线,很灵活。规划时可以将这种关系比较近的生产设备尽量安排在比较近的地方。
产量增加之后如果带宽还是不足,可以考虑分代的策略,将产物按一定标准分拆成不同的环线,通常是按照科技树上的位置。上一代产物在下一代产线中用到的,通过限速接入的方式,从上一代环线中接入到下一代环线,下一代产物在下一代环线中使用,这样就分别占用独立的带宽;还可以将生产设备放在两条环线之间,从两条环线分别获取产物。星际运输发达之后,可以考虑按照中心产物规划成不同的生产体系,相互之间使用运输站传输输入输出,这样就能支撑更大的产量了。
前面图中的游戏中,几乎所有的合成产品,除了非常初期的几种以外,都使用环线合成;最高级的几种产物(引力矩阵生产线)建立了第二条环线。目前已经解锁了全部五种矩阵(绿色矩阵尚未生产),挂机数小时验证证明产线可以稳定运行。
建议经常关注生产图表,确定有没有消耗超过生产的物品,尤其是矿因为会采完,需要经常去开新矿。