围绕一个玩家可计数的发货量来构建你的第一款工厂游戏。让一台机器获得稳定的输入,让第二台机器按自己的时间表运行,并保持两者之间的库存可见。如果订单数量不足,玩家可以看到是生产线耗尽了零件,还是仅仅未能及时完成它们。
在虚构的“Glasslight Line”中,一台压模机成型灯罩扩散器,一个检测站将其清除以便发货。挑战是在六个节拍结束前发货十个。玩家在多次运行之间更改检测员的时间表,并比较完成的数量。

统计离开生产线的数量
Wube Software 将《Factorio》描述为一款关于建造和维护工厂、收集资源以及自动化生产的游戏。官方 Steam 商店页面将其描述为制造复杂度递增物品的自动化工厂。将这种相互连接的生产阶段概念引入新的场景。以下提到的扩散器配方、设备和时序属于 Glasslight Line。
压机制造出成型部件,但只有经过检查站才会计入出货数量。如果该数量停滞不前,而货架却已满,那么提高压机速度可能只会让第二台机器承担更多工作。保持这两个计数独立,以便玩家决定调整哪个阶段。
让两台机器共用同一个时钟
从第 0 个 tick 开始,货架为空,出货量为零。默认检查间隔为 2 个 tick。每个 tick 开始时由检查员执行操作。在能被选定间隔整除的 tick 上,检查员会将货架中已有的最多三个部件出货。如果只有两个,则出货两个。在其他所有 tick 上,不执行任何出货。
在检查阶段之后,压机取用两个新的毛坯,将它们成型为扩散器并添加到货架中。货架有足够的空间容纳本次运行。在本 tick 成型的部件错过了本 tick 的检查,因此可以在后续符合条件的 tick 出货。即使部件在屏幕上看似连续移动,操作顺序依然至关重要。

从空状态开始跟踪六个 tick
在基准情况下,第 1 个 tick 结束时有两个成型部件,无出货。第 2 个 tick 开始时出货这两个部件。随后压机再添加两个。检查员在第 3 个 tick 休息,因此该 tick 结束时货架上有四个部件。在第 4 个 tick,检查员清除三个,留下一个。随后压机再添加两个,留下三个等待。
| Tick | 本回合已出货 | 末端货架 | 累计出货 |
|---|---|---|---|
| 1 | 0 | 2 | 0 |
| 2 | 2 | 2 | 2 |
| 3 | 0 | 4 | 2 |
| 4 | 3 | 3 | 5 |
| 5 | 0 | 5 | 5 |
| 6 | 3 | 4 | 8 |
截止时,压机已成型十二件。其中四件仍在等待,八件已出货,因此订单短缺两件。检查员每两个回合最多可处理三件,而压机在同一时间段内可生产四件。这一速率解释了为何库存会累积。精确回放还解释了第二回合的情况,当时检查员只有两件零件就绪。
给 AI 一个可衡量的出货目标
明确说明什么推进时钟、计数器代表什么以及游戏何时评估订单。Step(步进)应允许玩家检查单个回合。Run(运行)应重复该相同操作,因此追踪结果独立于玩家选择的控制方式。
构建一个名为 Glasslight Line 的原创浏览器工厂挑战。
使用一台压机、一个中间货架和一个检查站。
从回合 0 开始,货架为空,出货量为零。
默认检查间隔为 2。也允许在运行前设置为 1。
每个回合,首先检查其编号是否可被
所选间隔整除。如果是,则从货架中出货最多 3 件已就绪的零件。否则出货 0 件。然后向压机投入 2 个毛坯,
成型并将 2 件零件添加到货架。货架空间充足。
无废料或传输延迟。只有经过检查的零件才算作已出货。
Step 应用一个回合。Run 重复 Step 直到回合 6。
然后冻结结果。至少 10 件出货意味着订单通过。
如果玩家先使用 Step 然后选择 Run,保持相同的回合序列。忽略回合 6 之后的额外步骤。
将回合、货架和出货量重置为零,保留所选间隔。
仅允许在回合 0 时编辑间隔。显示所有三个计数器。
使用原创设备、车间艺术和界面。
为了快速检查,手动推进三个回合。在间隔为二时,屏幕应显示四件等待和两件出货。现在选择 Run。截止时间应显示四件等待和八件出货,这与从一开始就选择 Run 时的结果一致。如果这些路径不一致,请检查两个控制是否使用相同的回合函数。
仅更改检查间隔
重置后,选择间隔一。由于机架初始为空,第一个滴答(tick)仍不会发出任何货物。第二至第六个滴答各发出两件,因此累计发货量分别为 0、2、4、6、8 和 10。每个滴答结束时,机架上都剩余两件部件,而截止时刻仍留在机架上的那两件是在最后一次检查之后形成的。

每次检查的处理容量仍为三件。新的时间表让它在每个滴答都有处理机会,但它只能找到上一个滴答遗留的两件部件。相同的供应量和截止时间现在能产生十件发货。使用一次只修改一条规则的指南,以保持该比较专注于间隔变化。
完成一条生产链
使用 SEELE 的 AI 游戏制作器开始你的原创自动化游戏。从空状态重放一次发货,将每个计数器与计划轨迹进行核对,并为玩家提供一个能改变工作等待位置的设置。
常见问题
什么应该算作吞吐量?
选择一个完成的单元和一个时间窗口。在这里,已发货的扩散器是输出,六个滴答是窗口。机架计数告诉你材料在哪里等待。它有助于解释发货数量,但本身不属于发货数量。
我应该先升级哪台机器?
观察部件在哪里堆积,并比较每个工位在相同时间内能处理多少。在这个例子中,机架增长是因为压机在两个滴答内生产四件部件,而检查最多只能清除三件。尝试先更改检查设置。
哪台机器先更新有影响吗?
是的。在形成之前进行检查,会使新部件等待到下一个 tick。颠倒顺序则可能让它在同一个 tick 内发出。选定一条规则,将其记录在案,并确保 Step 和 Run 共享相同的更新顺序。在重置后,检查第一个符合条件的 tick。
我应该在什么时候添加另一种资源?
当某种资源能创造出现有生产线无法表达的决策时,就添加它。首先验证玩家能否读取现有计数器、找到瓶颈并重复发货流程。一旦这些检查生效,第二个输入项就会更容易推理。


