本帖最后由 craftkuro 于 2020-12-10 01:55 编辑
- 和上一篇文章一样,本文的绝大部分内容为原创。
- 同样,使用CC BY-NC-SA许可证。欢迎转载,但请遵守许可证。若您受本文启发而有了新的划时代设计,也不妨将本文加入参考文献中。
- 本帖最初作于2019年11月至2020年6月,其中包含的内容可能会过时。在套用经验前请先验证概念。
随着MC世界中生产力的发展,机器变得越来越多,从单个装置到小型生产线再到更大的生产线再到最外层的自动化控制装置——当一个周目接近尾声时,我们就建成了一个属于自己的基地,一个充满着灯光和管道、噪音和污染的工业园区。说不定还有空间裂缝。
在建设完无数个基地后,是时候总结一下自己的成果了。
如果你没有耐心看完全文,那么只需记住三个字:可扩展。
其他的设计原则,要么是强化扩展能力,要么是解决扩展到一定程度后造成的问题。
论坛的目录似乎没法定位帖子中的某一部分,就拿word截图充数吧。
捕获43129470238409.PNG (43.96 KB, 下载次数: 1464)
下载附件
保存到相册
2020-6-19 13:04 上传
1 架构
一个工业园区,生产自然是其核心工作。它需要生产线。很多个生产线。
这里的生产线是广义概念,任何可以抽象为物品输入输出的装置/活动,都可以算作生产线。
article3.chapter1.img1.png (5.4 KB, 下载次数: 1635)
下载附件
保存到相册
2020-6-19 12:30 上传
原料和产品,以及其他资源,需要存储空间。
article3.chapter1.img2.png (2.57 KB, 下载次数: 1546)
下载附件
保存到相册
2020-6-19 12:30 上传
要让黄的、白的、蓝的、黑的黄金在基地内自由流动,还需要先进的物流系统,最好是基于未知科技的那种。
慢慢地,由于需要做的工作越来越多,我们需要一些自动化的控制装置来让基地实现一定程度的自治,让玩家把精力放在创造性的工作上。
要让基地呈现活力,我们还需要一个强力的心脏来驱动它——能源系统。
article3.chapter1.img3.png (270.69 KB, 下载次数: 1536)
下载附件
保存到相册
2020-6-19 12:31 上传
(注:带齿轮图标的生产线表示具有嵌入的控制系统,用于实现更加复杂的生产线功能。下文会提到。)
整个基地的架构就是这样,其实并不复杂,不是吗?
只能由玩家控制的手动机器或者其他装置,由于很难归类,又与工业生产关系不大,故不作讨论。
2 我的原创AE理论
当然不会从头颠覆的。
我是一个野生的AE玩家,早期看的是蛋疼的官方wiki(链接),后来才有幸看了SF的教程。
因此我对AE的一些理解,跟其他人分享的内容不太一样。咱们就来讨论一下这些不一样的地方,这将帮助你理解后文中的一些概念。
2.1 ME网络的基本属性
ME是matter-energy的缩写,意为“物质-能量”。物质和能量进入网络后变成其他的东西(是能量,还是信息,又或者是别的什么?我不知道),然后这些东西还可以变回物质和能量,从网络中的其他地方传出。
ME网络主要有两个层级,一个是能量,一个是信息。石英纤维仅可传输能量。各种福鲁伊克斯水晶制成的导线可传输信息。这样,应该就能很方便地理解用石英纤维连接两个网络的做法了——在能量层面互联,在信息层面各自保持独立。
至于哪些机器/部件需要频道,哪些不需要,可以从“这个设备是否需要网络其他部分的信息”来推断。比如说压印器,所有的物品都必须用漏斗/管道/总线输入,它不需要从网络中获取任何有关物品的信息,因此它只需要能量,不占频道。而ME交换监控器,它需要从网络中获取有关某种物品的数量的信息,因此需要频道。
这种思路仅供参考,用起来并不好用,还不如拿智能线缆做一下实验。另外,玩多了自然就记住了。
2.2 子网络?不存在的!
“子”,表示一种从属关系。但是在实际操作中,这种从属关系常常不明显,于是会弄出来诸如“子网络的子网络”、“这个网络的子网络和那个网络的那个子网络”之类让人挠头的表达方式。因此在本文中,我不会使用子网络的概念。
那该怎么表达呢?
总之是要避免歧义,和避免让不知道基地结构的人摸不着头脑的表达方式,我也暂时没有找到较好的方法。目前来说,我一般用主网络代指基地中的骨干网络,其他的用其用途来命名,比如说存储网络,矿物处理网络等等。
然而随着AE玩法逐渐深入,一个小型的ME网络可能被用作嵌入式控制器,或者只是一个管道。这时这样的命名方法也并不合适,我尚未找到解决方案。
可能画图是比较合适的了。画个红圈圈,就大致知道是哪。
没有子网络,那么存储总线和ME接口也得换一种方法来理解。:
存储总线比较简单,它对着的方块就是【逻辑上的箱子】。
ME接口在合成物品模式时,它对着的方块就是【逻辑上的机器(的输入端)】。
ME接口的另一个模式我暂命名为“被动模式”,因为它不会主动向外输出物品。就是ME接口的GUI中最上面那两行格子的功能。
于是逻辑上的箱子,可以是箱子,可以是抽屉管理器,这些是直接的物品栏操作。
当对着另一个ME网络时,便会升级为“AE专有的协议”,直接把这个网络的存储当成一个箱子。这个可以嵌套,于是存储总线的套娃是可行的。
对于逻辑上的机器,这个输入端也不一定需要是机器,可以是一个箱子,也可以是一个ME网络的ME接口。机器处理完后,可以以任意方式返回送出原料的那个网络,以完成合成。这个方式可以是从同一个接口的同一面,另一个ME接口,输入总线,IO端口,甚至是用户的终端操作。
于是这个逻辑上的机器,就被抽象成了一个无情的物品处理机——ME网络把对应的原料甩出去,不管具体处理的细节,只等着样板中指定的物品返回。这样一种物品的输入输出关系,就成为了各种超级机器,和各种伪配方的理论依据。咱们在下文中进一步讨论。
2.3 频道路径
网络可视化工具真好用。
这个问题曾经让我吃了不少亏。
频道路径指的是,设备对应的频道,在回到ME控制器的路径上,会经过哪些设备或者线缆。
因为给定设备和线缆能传输的频道数量是固定的,当安装的设备足够多时,需要有效管理频道路径,以最大化资源利用率并解决设备缺少频道的问题。
其他人的教程里说,在有ME控制器的情况下频道优先给距离近的。这没问题,大多数情况下确实如此,但事情并没有这么简单。
让我们先从一个例子说起。
这里有2x32个频道需要连接。我们用一个排线连接到两个无线接入器并设置好:
2020-05-19_14.03.50.png (557.61 KB, 下载次数: 1657)
下载附件
保存到相册
2020-6-19 12:36 上传
结果非常符合预期。
注意两个无线接入器之间是相当于一根致密导线连接的。
但是在图的左边我们还有32个设备需要接入。于是我们想着再加一个无线接入器和一根致密线缆,像这样:
2020-05-19_14.38.05.png (572.77 KB, 下载次数: 1655)
下载附件
保存到相册
2020-6-19 12:36 上传
直觉告诉我,似乎没问题。拿可视化工具看一看?
2020-05-19_14.04.15.png (583.8 KB, 下载次数: 1553)
下载附件
保存到相册
2020-6-19 12:37 上传
好像情况并不乐观。红的小方块表示节点缺少频道。
频道没有走我们新加的一条致密线缆,而是从两个无线接入器之间漏掉了,并因此挤掉了原先设备的部分频道。
其实从无线接入器走,还是从我们新加的致密线缆走,它们的路径长度都是相同的,但它就是这么走了,我也很无奈。
怎么办呢?
最简单也最有效的方法就是修改设计,把最上面的那一条线路单独拿出来不跟其他的任何线路连接。
2020-05-19_14.09.09.png (624.97 KB, 下载次数: 1602)
下载附件
保存到相册
2020-6-19 12:37 上传
这样就让所有的频道都走该走的路径了。
实际设计中也是用的这种方法。
偶尔还能遇到一些让人百思不得其解的状况:
2020-05-19_14.22.24.png (365.14 KB, 下载次数: 1614)
下载附件
保存到相册
2020-6-19 12:38 上传
没辙,得换种设计。
和 篇一 当中提到降低能源网络的不确定性类似,频道路径也应当让人(和AE)一看就明白该怎么走,以避免如上图的问题。
总之,一定要把频道路径的控制权牢牢抓在自己手中。ME控制器并没有那么智能。
这样再也不需要智能线缆了,频道图就在世界中。
AE的教程真是众说纷纭,尤其是对细节方面的描述。新手建议先看完一遍同一作者的教程再去看其他作者的(当然,不会是我的,因为我根本没写),这样可以有效避免相同事物的称呼不同的情况。
特别提醒:不要没有灵魂地抄作业,这样反而不利于创意的发挥。最佳实践,是适合你和你正在玩的整合包的。
3 建设和实施
狮氏实施。
当然,在降临到一个只有村民的全新世界时,我们只能从石器时代开始肝。在此期间,我们可以思考一下,自己做过的上一个基地有什么值得改进的地方,又如何创造新的设计来解决这些问题;以及,这个周目又打算做什么史诗级的新项目。
当我们构思好一个基地,并且资本积累完毕后,就可以开工了!
需要注意的是,不推荐在前期强行建造这些造价昂贵的基地组件。它拥有的较强的扩展能力,也为它带来了较高的基础成本。即使只制作最小规模的装置,也会消耗对前期玩家来说非常可观的资源。建议在资本积累完成后再着手建造。
3.1 地皮
MC世界里土地不要钱。
如果有时间,不妨了解一下我曾经使用过的,又被抛弃了的设计,看看它们有何问题,我们又是如何一步步解决问题的。
我玩MC的早期其实是没有基地的概念,因为那时候没能做出那么多的机器。
慢慢地发现机器越做越多,需要一个小房间来装了。
再然后发现工业设计真好玩,咱们把房子和工厂融为一体吧。
那么问题来了,MC里房子的墙面或者地板一般只有一层,但是一层的话,基本没法走线;做成多层,又会导致成本直线上升。
在地上的话,需要消耗大量材料——圆石成本低但太难看了,排除。那时候还没有各种树场,那么多木头也生产不出来,咋办?
于是做成了地下的机房。多层的。
早期就少挖一点,然后跟着进度慢慢扩大,以避免一次性挖大量空间的阵痛。
不同层干不同的事,地板想多厚就能有多厚,配合RFTools的电梯,用户体验满分。
照明弄好的话,地下还没有怪。
计画通。
于是就形成了垂直分布的基地的套路。从我在其他服务器摸鱼的情况来看,不少人都独立发展出了类似的做法。
然后随着机器数量的进一步增多,在不同的周目里一次又一次地出现了发展后期严重卡顿的问题。后来在一次问题调查中发现,这与区块更新数量较多有关。农业作物的生长,和机器开关状态的变化会造成区块更新,而这些存在大量机器和管道的区块,执行一次更新非常耗时,因而导致严重卡顿。这个问题已在篇二:性能调优中提到。
于是这个垂直基地的做法,不再可持续,得整个新方案。基地水平展开的那种,用来减少区块更新的开销。
初代方案是想做成一个小村庄,每个房子里都放着若干装置。
但我的建筑水平实在是一言难尽,于是弄成下图这个样子……
2020-06-19_11.55.31.jpg (745.65 KB, 下载次数: 1562)
下载附件
保存到相册
2020-6-19 12:40 上传
盖房子还是算了吧。
事实证明这是一次完全的失败,盖房子需要额外的成本,美观程度在我的手艺下一言难尽,性能……好像也就那个样子,那时候还发现后期影响性能的主要因素是方块实体。
接下来就是当前正在使用的正式方案了。
感觉这个桥段写出来效果比预期差不少啊……
于是,我们需要一个高性能、扩展成本低,还看起来美观的设计。
最终拿出来的方案是这个样子:
article3.chapter1.img4.png (11.54 KB, 下载次数: 1594)
下载附件
保存到相册
2020-6-19 12:41 上传
根据区块边界划分格子,然后按照相同的标准,在每个区块的两条边缘挖一条沟,再用某种普通固体方块填上它,就成为了一个分配单位。
图中是填了每个区块的西边和北边,当然用其他边作为边缘也可行,看各人需求。
按F3+G查看区块边界。
2020-05-12_15.54.42.png (504.51 KB, 下载次数: 1642)
下载附件
保存到相册
2020-6-19 12:41 上传
实际做出来会是这个样子。注意整体的南边(和东边)边缘,它位于被圈起来的区块的外面。
很明显,这种设计在平地上表现最好。施工前需要把地面整平。
这个设计解决了基地垂直分层的性能问题,解决了扩展时需要挖大量方块的问题,建造过程可以有效使用机器解放双手,最终建成时看起来效果也还可以,我对此感到非常满意。
于是每个区块都会成为一个分配单元,可以根据生产线模块的地皮需求灵活分配单个或多个。
图片仅供参考。注意跨区块建造多方块结构的做法可能存在兼容性问题,建造之前需查找相关资料。
2020-05-13_21.44.16.png (1.1 MB, 下载次数: 1972)
下载附件
保存到相册
2020-6-19 12:42 上传
虽然说生产线不太可能在竣工后移动,但由于每个分配单元都相同,生产线的直接搬迁也是可能的。
3.2 基础设施
在世界或者脑海里画好方格之后,就可以建造基地的基础设施了
电水和网是现实世界中的基础设施,MC工业园也很类似,需要对应的电力和AE的信息服务。水……大多数的地方不要水,要的地方整无限水就行了。
当然,为了生产所需的材料,我们还得从手搓机器开始。这是每次开荒必经的阶段,没有定式,不再赘述。后文均假设玩家已经能生产所需的任何物品。
MC中有很多非常……魔法的模组,空间技术层出不穷,啥玩意都能弄成无线的。那么基础设施也有两种截然不同的风格:
偏好有线的——管道去哪一目了然,耗电多少拿万用表戳戳,理解容易排除故障也容易。bug概率较低。但问题就在于它是有线的,如果理线做不好,看起来是一团糟,修起来也是一团糟。对于使用方块实体渲染的线缆,大量部署时会造成严重的性能问题。
偏好无线的——大多数情况下更加美观。但不容易知道负载的位置及其细节,尤其是团队协作欠佳的情况下。无线装置经常会有莫名其妙的限制。Bug概率稍高。
选哪种见仁见智,也可以任意混搭风格。
基础设施最重要的要求之一是稳定。故推荐使用自己玩得熟的老牌模组来建造。新的模组可以在一个基地里实验好玩法和稳定性后,在下一个基地中应用。
然而,AE2在吞掉extracells的功能后的几个版本(rv6),稳定性是明显不如以前了。但它实在太重要了。
3.2.1 能源系统
对于能源系统,我自己的偏好是,大功率和关键装置用有线,其他地方用无线。
走线风格暂未发现最佳实践,请根据自己的需求灵活建造。
具体的方案,可以参考本系列第一篇:能源系统设计。
3.2.2 信息系统主干
物流和控制系统的角色,非AE莫属。没有AE还能用RS。
AE这部分非常值得展开讲,故单独作为一节讨论。于是前面短短的一部分也被迫变成一节了。
AE2 Stuff提供了无线传输频道的方案,虽然默认配置下能耗非常感人。本文中提到的设计只需要适中数量的频道,于是在有线阵营和无线阵营的争霸中,也有两种方案:
对于偏好有线的方案,我们只需拉足够多的线就行了。如果频道不够用,可以往下继续建造和拉线。需要注意的是,在一个区块里摆放过多(成百上千)的AE线缆不利于性能。
当然,如果喜欢p2p或者做不起那么多致密线缆,也可以用p2p代替长距离的致密线缆,但追溯频道来源会相对麻烦,而且这个方案曾经在1.12.2-rv6出现过bug。
2020-05-13_22.09.40.png (1.04 MB, 下载次数: 2051)
下载附件
保存到相册
2020-6-19 12:43 上传
对于偏好无线的情况,我们只需将足够多的频道连接到足够多的无线接入器上。概念很简单。
需要注意的是,无线接入器本身也会作为一根致密线缆参与网络连接,因此当一排无线接入器如图中紧密并排时,需要考虑频道路径,或者完全使用直通控制器的平行排线,这样所有的频道都走符合预期的路径,使得每个无线接入器都能传输设计允许的频道数量。这里可以使用P2P修正路径长度以达成目的。
这就是为什么四角的无线接入器必须和其他的隔开。
2020-05-13_22.10.14.png (663.41 KB, 下载次数: 1610)
下载附件
保存到相册
2020-6-19 12:43 上传
当真的需要更多频道时,可以进一步扩展,做成这种多排无线接入器的方案,以下是我能想出来的最大规模了:
2019-08-17_00.44.28.jpg (640.7 KB, 下载次数: 1517)
下载附件
保存到相册
2020-6-19 12:44 上传
造价很贵。布线很复杂。很卡。这是上一篇中AE性能问题的反面案例。
2019-08-17_00.44.46.png (1.11 MB, 下载次数: 2004)
下载附件
保存到相册
2020-6-19 12:44 上传
然而它出自一个夭折的周目,最终一个频道都没用上。(叹气)
当然,在实际应用中,通常是两种方式兼备的混合方案:
2020-05-19_15.53.16.png (1.13 MB, 下载次数: 2018)
下载附件
保存到相册
2020-6-19 12:45 上传
这就是我正在使用的最新方案,效果拔群。
那么,这些频道如何传输到目的地?
对于无线方案,在合适的位置放上无线接收器即可。
对于有线方案,可以自由发挥,或参照篇四中的【AE > 排线】一节。
当然,现代的工业园不能没有无线网络。同样有两种方案:一种是大量小范围的接入点,另一种是少数装备增幅器的接入点。
相对于各种生产线和无线接入器来说,ME无线访问点的能耗弱爆了。我选择后者。
在建设过程中,会遇到一些小坑,难以归类,但提出来可以减少很多麻烦。以下是一些注意事项:
1) 当无线接入器的数量较多时,网络的耗能将非常可观。由于网络接收能源的功率取决于其内部缓存大小,故需要在网络上加上一定数量的(致密)能源元件。
能源元件的工作不完全可靠。建议将它放在距离ME控制器很近的位置。不要在相关路径中间加入P2P通道,否则停电恢复时将非常麻烦。
建议给ME控制器准备至少两条独立的供电线路,以减少停电概率。
当外部能源断供时,ME网络会优先使用距离控制器远的能源元件。按照刚才提到的摆法,量子环彼方的能源元件最远。于是一停电量子环就断。这是个比较麻烦的问题,相关设计将在下一篇中提及。
2) 当移除组件时,网络可能“重启”,瘫痪几秒。故设计生产线时,需对这种情况做特别设计,以避免有物品在网络重启时滞留在生产线内。
3) 本条目在上一篇中有提到。避免在同一个区块中放入过多AE线缆和方块,这将对性能有负面影响,尤其是在性能弱的电脑上。
4) 物品进入网络比离开网络更消耗CPU。当你的物品流量高达数十至数百个每tick时,需要考虑物品输入输出的服务器CPU开销。解决方案主要有两种:对于不与主网络交互的物流部分,使用独立的,存储容量很小的网络;对于和主网络交互的网络,建议使用下一篇中提到的事务合并装置。
5) 无论我们做什么设计,ME网络本身都无法提供任何冗余,从而成为单点故障的来源。准备两个ME网络的做法成本太高并存在许多难以解决的资源共享问题。因此,请尽可能选择稳定版本的AE2。
3.2.3 信息系统边缘
接入层和汇聚层。
虽然少数装置因为需要大量频道,可以用若干致密线缆直接和信息网络主干连接,但大多数装置不需要这么多频道。将通过致密线缆传输的频道拆分开来,提供给一定范围内装置使用的基础设施部分,即是信息系统边缘。
线缆从主干出去的时候尚可用排线,但在边缘,只能根据路线和施工方便等因素灵活选择布线方法。
其实这一节没有多少值得说的内容,按照自己喜欢的方式freestyle就行了。
建议充分考虑可维护性。
示例设计见下一篇中【AE > 地皮设计】一节。
3.3 工作模块设计
工作模块的概念,是能够与外部明显划分界限的一系列装置,包含前文提到的生产线。
它们作为一个整体实现某些具体功能,例如:
· ME网络中的物品存储;
· 对输入的物品进行打粉操作;
· 将输入的物品组装成一个最终产品。
逻辑上它们的层级在基础设施之上,通过少数(逻辑或物理的)接口与基础设施相连接。
由于能源系统和ME控制器等基础设施也可模块化,故用工作模块一词特指用于完成实际生产、控制和存储等任务的功能模块。
具体的实践内容将在【篇四:模块仓库】中详细说明。本文主要讨论通用的概念。
3.3.1 基础结构
既然这个模块要实现一个具体的目标,那么肯定得有一套用于实现这个目标的装置,比如磨粉机。我们暂时称之为【执行装置】。
执行装置通常需要能源。必要时模块内部需要有能源的接收和传输装置。
执行工序的模块通常需要物品的输入输出。模块需要和外界进行物品IO的相关接口。
对于部分复杂的模块,还可能需要和外界进行通讯。此时需要通讯接口。
总结一下:有啥需求,就做啥接口。
一图胜千言。下图表示一个典型的工作模块所具有的内部结构:
article3.chapter3.img1.png (27.25 KB, 下载次数: 1600)
下载附件
保存到相册
2020-6-19 12:46 上传
至于里面的线怎么连,就得看具体的设计了。
3.3.2 工作特性
在实际运行时,我们需要一些方法来衡量这个模块的部分特性,以确定它是否适用于预期的用途,和确定后面阶段改进的目标。
1) 基础延迟:输入一份物品时,从原料输入到产品输出所需的时间。
很明显这个数值是越低越好。
这个延迟主要由管道等物品分发装置产生,因此选择合适的物流装置非常重要。
2) 待机功耗:没有生产任务时模块在MC世界中和现实世界中的耗能。
在MC中的耗能很好理解。在现实中的耗能主要指的是空闲时这些机器消耗的服务器CPU时间。很明显,它们也是越低越好。理想状况是,机器不工作时它们就像不存在于世界中一样。
机器空闲时消耗服务器CPU的内容主要是能源计算和物流的物品抽取。对于部分特殊的机器可能还有对周围世界的影响。需改善性能时可从这些地方下手。
3)队列长度:在某个时刻,模块和执行装置内部缓存中存在的,等待执行的整套工序数量。
对于单个物品进行处理的工序,队列长度即所有缓存内存在的物品数量。
其实这个不一定能算作工作特性,但这个数值影响着由多个执行装置并行处理的模块的执行情况,详见下文。
4) 吞吐量:单位时间内能够完成工序的数量。
这是个难以驯服的巨兽。
article3.chapter3.img2.jpg (36.28 KB, 下载次数: 1689)
下载附件
保存到相册
2020-6-19 12:46 上传
我们能做的只有权衡。
常用的提高吞吐的措施,就是在模块里加上更多的机器进行并行处理。
但是,如何在尽可能均摊分配物品的同时实现较低延迟,是个麻烦的工程难题。
很明显,我们无法始终均匀填满每一个机器,因此,这种模块的吞吐量,是和队列长度相关的。
于是,我们引出了【队列长度-吞吐量曲线】这个概念,如图:
article3.chapter3.img3.png (12.18 KB, 下载次数: 1653)
下载附件
保存到相册
2020-6-19 12:47 上传
这个曲线主要由具体的模块设计决定,尤其是物品分发部分。你将在下一篇看到大量的这种曲线图。
3.3.3 设计原则
1) 乱序合成:只要物品被允许进入缓存,那么以任何顺序进入任意数量的物品,均可正确完成工序。
具体的实现没有定式,只需按照目标设计即可。对于仅由单个物品参与的合成,并且机器输入侧只有一个物品栏的情况,任何设计都能符合这个原则。
类似地,我们可以将这个概念推广到主网络的合成系统中——按照任意顺序,启动任意数量的任意物品合成,系统应当能够正确完成所有的合成任务。
对于有多个物品参与的合成,可能需要用一些方法保持物品输入的有序。详见下一篇【严谨合成】一章。
2) 可维护性
建造完毕后形状要简洁明了,即使忘记了各部分的功能,很快也能通过各种线索重新想起来。
必要时可适量使用告示牌做注释。
此处特别提出两个常见问题:
一个是ME网络做得太乱,各种线缠在一起,发信器和触发总线之类的又挂在上面,尽管有颜色分割各个功能部分,但……大概只有作者能看懂。
另一个是EIO导管滥用双向箭头,尤其是流体导管。当所有的地方都是双向箭头时,查找问题就变得非常麻烦,而且还极大降低了这套装置对于他人的学习意义。
3) 性能考虑
一个基地不可能只有一个模块,如何让后期和前期一样流畅?
详见篇二。
以下用一行字概括:
降待机功耗,减方块实体,少区块更新。
3.3.4 模块封装
上一篇中提到,如何让世界只有天、地和你,同时还让你拥有一个全功能的工业基地?
压缩空间机器(模组名:Compact Machines,简称压缩机器,戏称铁盒子),就是你的终极解决方案。具体使用方法详见对应模组百科。
将部分模块放进压缩机器中,就可以从视野中减少一个模块中的方块实体,可在一定程度上改善性能。同时,整个模块中的一切细节都被抽象走了,只留下对外的六个可用接口。这样可以简化基地的布线,并让基地的外观看起来更加优雅。
将模块放进压缩机器的方法,也有两种风格:
一种是把信息系统的边界放在压缩机器外壳上,压缩机器内部整个都是独立于外部网络的。
另一种是把信息系统的边界放进压缩机器里面,把频道通进去,然后把相关接口放在压缩机器里面。
两种方法各有优劣。选哪个见仁见智。
我个人喜欢第一种,因为它真正体现了将生产线抽象为一个物品处理机的概念。
当然,在没有这个模组,或是尚未制作出压缩机器的时候,我们还可以按照【地皮】一节中的做法,将基地平摊开来建设。
4 尾声
看完文章后,再看一看这张图,你是否明白了图中基地的构造?
2020-05-13_21.44.16 - 副本.png (1.1 MB, 下载次数: 2038)
下载附件
保存到相册
2020-6-19 13:06 上传
在本文的观念中,基地的发展,就是基础设施和模块的不断扩建,也就是用产品去扩大产能的循环。
在下一篇中,我将介绍我目前所有令我自豪的模块设计,毫无保留。会是一场盛宴的,I promise.
-----------------------------------------------
本系列的更多内容
由于内容过多,鸽着是不可避免的了。写完后我会更新帖子里链接。
篇一 能源系统设计
篇二 性能调优
篇四 模块仓库