随着游戏进度推进,图形复杂起来了,同时为每一个图形建造一个工厂非常不讨好。因此着手搭建一个工厂来制作图形
游戏可以在steam找到。地址
">异形工厂(shapezio)简单制造工厂
你还为每过一关就要再造一个生产线而感到烦恼吗?快来建造一个工厂吧。我这个工厂简单易懂,甚至可以不用电路,仅需一点点操作。
旧思路
要求
为了能做这个工厂,你必须要解锁图片中的设施。不用每一个都完全解锁,每种有一个就行。
说明
我们制作工厂是为了尽可能解放双手的操作,因此在设计之初暂不考虑效率,先解决有无的问题。速度不行的话还可以堆数量。虽然这不是一个完全自动化的工厂,但慢慢改嘛。
由于暂时没有电路加持,工厂只能造简单的图形。类似于和,这种图形暂时只能单独造机器。自动化的方式还没思考出来。
该教程是根据关卡徐徐渐进的,未解锁的物品如果能被替换,就会先被替换,解锁后更改。
思路
最终思路:从底层出发,对每一层进行分解。首先将原材料染色,然后进行旋转,接着根据产出材料的种类选择合成方式(二、三、四,一直接走旁边产物通道)。合成出每一层后再根据层数进行叠加。
开搓
先看一个整体图,好有一个直观的感受。
在异形工厂中,所有图形都可以分解为一下四中图形的组合,我们将他们作为原材料输入到工厂中。
可以在地图上找到相应的图形进行开采,或者单独为每种材料供应。如果采用图中挖掘包含所有材料的图形的话,要注意安装垃圾桶防止堵塞。
前期,我刚可以开始造工厂时,关卡要求都是两层图形。因此我们先考虑两层。不过在考虑两层前,我们先考虑一层。我们将图形分为四个象限。先进行染色在进行旋转。
这个工厂的一部分属于染色旋转区。由于没有颜料供应,染色器处于阻塞状态,没有产物输出。对于无色图形,我们通过控制传送带的断连来输出产物。在输出位置可以看到,我做了相应的旋转。这是为了旋转到相应的象限。
相信你从上图中看出来,现阶段的工厂还需要我们操作,不过已经不用频繁造生成线了。这就像工厂生成物品一样,需要操作一些机器。
这是我们的颜料分配器。它从下方输入7种颜料,从右侧输出颜料。可以看到,图中有4排传送带,它依次对应颜色的材料。将两者结合就可以得到下面这张图。
要使用它首先要人为确定该层该象限的图形和颜色。确定好后,选择对应材料的传送带,顺着传送带回走。在颜料分配区,选择对应的颜色,用传送带连接上平衡器。(在使用过程中,我有一种以前那种一次性烧录芯片烧录程序的感觉,虽然我没操作过,但我看过。)
在这一个区域,总的来说,染色的话就用传送带连接对应平衡器。如果是无色的话,就断开所有颜色分配的传送带连接,连接上无色分配的传送带(在输出位置)。在关卡结束后,要断开所有自己手动连接添上的传送带。
相信你已经造好了一个象限所需要的装置(上图),接下来,将其复制,拢共制作4份共4个象限,记得修改输出位置的旋转角度。制作好的效果类似于下图。
仔细观察上图,你会发现4个红色的地方。这个地方是垃圾桶,因为我不是单独供应原材料,如果不销毁多余的材料就无法剪出需要的材料。后期解锁过滤器后可以修改并保存大量原材料。
将上面的装置复制一份就可以处理两层图形了,再复制两份就可以最多处理四层图形了。效果类似于下图。
接下来就是颜料供应了。我的供应是这样的。这个随你造了,反正都差不多。
颜料齐全后,就可以制造单层图形了。这里面要考虑只有一个象限、只有两个象限、只有三个象限、四个象限都有。因为当前无法自动化,先手工连接对应的合成模块。我的合成模块如下图。
现在可以制造出每一层了,接下来就是层与层之间的叠加了。要考虑那个在下,那个在上。从左至右,分别是最底层、上一层、再上一层和最顶层。
叠加层数也是通过传送带的断连来控制。
到此时,一个需要人为操作而不要造的工厂就诞生了。它的使用方式是,分析每层每个象限是什么,要什么颜色。连接上传送带输出染色后的材料。接着根据每层的情况选择合适数量的合成模块制造出每一层。最后根据层数连接对应传送带。最最后通过该关卡后,要断开你所有连接的传送带。
到这里,教程就可以算做是结束了。针对后期不在要求数量而是要求速度(产量),可以先挂机存储,合适时机在释放。
随着关卡的解锁,新的装置解锁后,可以修改原设置,使之更方便。
改进
在解锁过滤器后,原先通过拆掉或连上传送带的动作可以利用过滤器和开关来简化动作,这样就只需要左击开关就可以控制流向了。
当然在颜色分配器上,也可以修改,使之更容易操作,减少右键带来的误操作。有点久了,忘了合并器是在什么时候解锁的了,如何你没有解锁,也可以用平衡器替换合并器进行改造。
如果想直观显示颜色,可以像上面接个容器或者像下面一样接上显示器。
有了过滤器和容器,就可以在原材料制作处进行改进了。这样就不用担心原材料消耗不同而导致阻塞必须添加垃圾桶的境况。
某某生产教程
整体思路:通过叠加缩小图形,再通过剪切的方式将其保留在需要的大图形上。
CbCuCbCu:Sr------:–CrSrCr:CwCwCwCw
RuCw–Cw:----Ru–
等待更新
较高程度自动化
我目前已经解锁全部设施了,已经在思考了。
等待更新和等待思考
我这个和一般的自动化不一样,这个是将最底层视为第一层,因为在最初考虑时,还没有电线解锁,只能用自己手动操作。电路设计上,优先考虑不改变工厂布局和原有设计。
先看整体电路布局。
第一步将基地图像信号引出。在解锁自动化前,相信你已经知道有悬空的图形(就是上面的生产教程)了 。因此,我们要先进行判读图形是否是悬空图形。检测电路如下。
它的原理是将图形拆分一层后将其和下一次拆分后的图形进行叠加,接着重复,最后将结果进行比较,根据结果将图像信号分别传输到不同位置。这两个位置在最后叠加方式不同。一个是按原有设计:最底层和上一层叠加,叠加结果和再上一层叠加,最后再和最顶层合成。另一个是:最顶层和下一层叠加,叠加结果和再下一层叠加,最后和最底层叠加。分这两种是为了尽可能合成悬空图形。
作为后,写博客时,发现我做复杂了,因此我先说整体思路吧,后面的内容就一个地方做复杂了,它其实是可以删掉的。
首先将图像信号分层,将每一层信号分成4个象限,对每个象限进行分析颜色和图形,通过与门控制对应图形的对应颜色开关进行染色(无色也是一种颜色),将象限的图形和颜色信号输出到合成层的地方,根据信号进行合成。最后根据层信号进行层与层之间的合成。
我们先采用原本设计好的叠加方式,也就是第一种方式。(此处理论可删除,只须改动合成层的电路逻辑)在我的设计中,从左至右,4个单元分别是最底层、倒数第二层、倒数第三层和最顶层。层与层之间是先叠加最底层和倒数第二层,然后在叠加倒数第三层,最后叠加最顶层。然而模拟拆分器先拆分出最顶层,因此最底层不确定是在哪一根线输出。所以要做一个不管有几层输入,都会依次从最低层开始输出的机器。(此电路可以删除的,不过叠加的就要思考一下了)
这个机器如果输入1会输出1,如果输入12会输出21,如果输入123会输出321,如果输入1234会输出4321。至于原理,我就解释不清楚了,因为我是一个目标一个目标实现的。做成这个的思想就是遇到问题不要害怕,将难题分解或一步一步解决。首先就是先实现2个的,再实现3个的,最后实现4个,也不用考虑简化呀什么的,能用就行。
接下来就是每一层的信号送到对应每一层的单元(如果不对应,随意的话,需要考虑叠加的判断),每个单元里有分为四个象限。因此需要提取出每个象限的图形和颜色。
这个简单机器就是提取象限的颜色和图形。每个象限的机器不太一样,因为比较简单就自己做了,只要能输出颜色(无色)和图形(无)信号就行了。不要担心无色和却项,通过与可以解决。
有颜色和图形信号后,就可以考虑染色了。通过比较器在指定位置输出图形信号到后面的染色区,通过比较器在指定位置输出颜色信号。这其中将无色信号输送到染色区了。染料通过图形信号和颜色信号的与运算控制指定的染料开关。如下图。
在染色区,染料输送过来后,会自动合成。对于无色的输出,同样是使用与运算进行控制。染色后就送至合成区,同时将图像信号输送到合成区,用于后续判断等。
在合成区,原先的合成是收到切换的,现在要改成自动化。原先做了3个合成来合成2个、3个、4个象限的图形。最开始想到的判断象限数量来切换使用不同的路径。问题是如何判断数量、如何判断是那几个道出材料、以及如何切换,要设计的话得很久,天荒地老的那种(夸张)。因此,我重新设计了一个合成模块。
思路也比较简单。一步一步分析,首先,总体思路选择两两合成——两个象限合成一个,两个象限合成一个,再一合成就完了。因为这种不用考虑那么多。我们在前面象限拆分时,往下输送了该象限的图形信号,因此可以判断当前道的材料有无。如果4条道都有,那么关闭通道,让材料进入合成。如果有有3条道有材料,可以通过与运算判断。与出1说明2条道有,关闭通道让材料进入合成,另外一边则与出0,打开通道让有材料的通过,而合成器会因为只有一边输入导致阻塞,无法输出。如果有2条道有,可以理解3条道中的两条紧挨的道,或者是两条3条道中独立的那一条。后续则是这样的,它的情况就考虑1条道和2条道,仿照前面的就可以了。理解不了就看图,师傅领进门,修行看个人。
层与层的叠加基本不变,只是此刻你应该可以有单层的图像信号了(前面通过分层、逆序已经得到了)。有了图形信号就可将不要的删除了,优化一下,加快速度。同时有了层信号可以对层与层的合成进行判断了。
很快,你发现提交要求不在是数量而是速度了,然而一个工厂的合成速度肯定是不足的,解决 办法可以是多几个工厂或者将产品存储起来,一定时间后释放,此时,速度就与传动带速度相关了。时间可以用一个物品在传送带上走,用一个检测器输出信号就可以了。开信号需要持续一定时间,关信号也要持续一段时间,而检测器只输出很短的信号,因此,使用一个SR锁存器进行信号切换。
输入一个短脉冲,它就会改变输出信号。然而,这种SR锁存会在短脉冲来的时候将输出变成高频,但影响不大。当然开和关的持续时间不一样,所以可以在不同状态下,让物品在不同传送带上走。同时也可以加一个开关来控制是否启用计时。
到这,自动化基本就完成了,剩下的基本上是优化和改进了。
完全自动化
包含叠加时恰好无共同象限,导致3层变2层,4层变3层等情况。
难,应该很难想出来。
(20220102)将另一种叠加方式做出来,加上全局开关基本就完全自动化了。相信大家可以完成了(老师视角)。
缺点
如果某一层同一材料在不同象限都有使用,那么会由于合成不足,拖慢速度。可以通过提高传送带速度或每一象限单独供应原料。
意想不到
- 我在设计的时候是把最底层作为第一层的,结果模拟拆分器把最顶层作为第一层的。
新思路
工厂分析
世上无难事只怕有心人。
对于制作一个工厂,我们要对其进行分析。一个工厂必须要有颜料供应系统、材料供应系统、染色制作系统、单层合成系统、双层合成系统和成品收集系统。
和旧思路一样,这个工厂目的是不让玩家为每一个图案都制作一条生产线,而是简化为对工厂的简单操作,并最后改造为全自动化的工厂。当然也不考虑悬空的图形,因为可以认为后期没有。
首先,我们想要工厂能够对1-4层的图案都能合成,那么我们就要制作4个单层合成的小工厂。这个小工厂可同上面的思维导图一同看待。这个小工厂接收材料和颜料进行染色并合成为一个单层的图案并输出。
颜料供应系统
这个很简单,相信你在生成其他图案时已经会了。我的方式是将7种颜色生产后并储存,接着再向4个小工厂供应。小工厂里也有一定量的存储。
这个总供应的方式容易造成后面的工厂染料供应不上。解决方式可是单独供应或加大小工厂储存。
颜料的总供应↓。采用双路输出,速度提升。
小工厂里的染料的储存和供应↓。
在最开始,可全用平衡器,需要那个颜色就用传送带连接。解锁合并器后,可以替换其中一个平衡器。解锁分离器后,可替换另一个平衡器。解锁过滤器和开关后,可将传送带的连断状态转换为开关的开关状态。最后换成信号控制。
材料供应系统
材料的供应和颜料的供应差不多。每一个图案都可以由梯形、1/4园、尖尖和小正方形组成。在设计过程中可以寻找由这4种图案组成的图案,或单独找每一个的完整图形。我用的是第一中方式。
我的材料收集供应方式↓,并且每个图案都旋转至第一象限。如果用完整图案供应,则可以不旋转,但供应的线路需要增加。
这种材料制作方式,会存在堵塞情况,所以需要一个满箱检测↓。
在小工厂内部设计了一个缓存,由它进行材料的输入。同样在前期可以控制传送带的断连来控制输入,后期换成过滤器加开关,再后期换成信号控制。
染色制作系统
染色的方式有许多种。先染色再合成或者先合成再染色都可以。不过,如果选择先合成再染色的话,不好度过前期,需要等到开关的解锁。
我选择先染色每个象限再合成的方式,最后并行进行相应象限的旋转↓。同样,在前期可以控制传送带的断连来控制无色输出,后期换成过滤器加开关,再后期换成信号控制。
合成系统
由于我是输出4个象限,如果根据输出数量选择1、2、3、4通道进行合成的话,那要面临输出数量的判断和输出通道的判断。这需要设计很复杂的逻辑判断系统,比我当时的设计的最多4个输入的逆序输出系统还麻烦。所以我设计为两两合成再合成的方式。当然,这种方式也会面临象限缺少的情况。这种情况很简单,前期同样可以控制传送带的断连来控制,后期换成过滤器加开关,再后期换成信号控制(可见原思路)。
对于层与层的合成,与上面几乎一样。
工厂组装
此时,小工厂已经完成了,复制3份,做好连接就形成了一个简单工厂。
小工厂如下↓。
完整的简单工厂如下↓。
成品收集系统
这太简单了,等完全解锁后一块做完。
工厂自动化
我现在还没完全解锁,等后续更新。