Alt-F4 #21 - Mod 的至高荣誉  2021-01-15

作者 stringweasel, Conor_, 编辑 Nanogamer7, Therenas, nicgarner, Firerazer,
翻译 Ph.X

目录

本周,我们又回到了常规节目,带来最受喜爱系列节目的新一集:Nauvis档案!stringweasel 再次打开历史书,看看一些旧的 Mod,以及它们是如何成为游戏本体的一部分。在最后,我们为亲爱的读者您准备了一个快速投票;如果愿意花两分钟时间来回答这些问题,我们将非常感激。

Nauvis 档案:从 Mod 到原版 stringweasel

异星工厂有一个非常丰富的 Mod 社区。几乎所有你能想到的东西都有对应的 Mod。从像太空探索(Space Exploration)Krastorio 2 这样的大改 Mod,到像缩地成寸(Squeak Through)这样的小型生活质量 Mod,或者是可以在开车时听霹雳游侠音乐。有些 Mod 比其他 Mod 更受欢迎——有些甚至超过了百万的下载量。然而,一个 Mod 作者所能获得的最大荣誉是将他们的 Mod 纳入到原版游戏中。一个简单例子是研究队列(Research Queue)填海料(Landfill),甚至是 Mod Mod 作者 Rseding 受邀加入了游戏团队

我下载并调查了其中一些在之后添加进游戏本体中的 Mod。你可能会注意到,一些 Mod 的引用链接指向异星工厂论坛,而不是 Mod 门户。这是因为在异星工厂 0.13(发布于 2016 年 6 月)之前,所有的 Mod 都是托管在异星工厂论坛上。直到异星工厂 0.13 发布,才能使用 Mod 门户。

运输流体

现在流体的运输非常容易。你可以使用带有液罐车箱的火车,或者是简单的管道,甚至是装桶,来将任何流体运输到任何地点。然而,它并不总是这么容易。直到 2017 年 4 月的异星工厂 0.15,液罐车箱才被添加到原版游戏之中。在那之前,你必须在前哨站将你的原油装桶,然后在你的基地再次倾倒出来——这需要非常小心地管理你的空桶。或者,你可以简单地下载铁路液罐(Rail Tanker ) Mod,它最初是由 JamesOFarrell 制作的。发布于 2014 年 11 月,作为他的车厢 mod 的扩展。在某个时刻,Choumiko 接管了 Mod 的维护工作并移到了 Mod 门户。

在异星工厂 0.12 中观看的铁路液罐 Mod(尽管它最初是在Factorio 0.11中发布的)。请注意老式的火车图形,以及车厢之间没有一格空隙

这个 Mod 有一些限制。例如,你不能在铁路液罐车旁边放置任何机械臂,因为它会取出油罐车内的假物品并破坏它。唯一的方法是通过使用最多两个非常弱的小泵来填充或清空它——当时还没有普通的管道泵。泵的摆放位置也很不方便,尤其是在异星工厂 0.13 改变列车尺寸后,但铁路液罐的尺寸基本保持不变。有趣的是,当异星工厂终于在 0.15 中加入原版液罐车箱时,你原本可以在一辆液罐车箱中存放 三种 不同的液体。有没有想过为什么原版液罐车箱有三个独立的罐子?

另一种长距离运输液体的主要方式是使用桶。桶是异星工厂比较早的一部分,但最初玩家 只能 桶装原油。第一个缓解这个问题的人是一位名为 btw 的 Mod 作者,他的流体车站 Mod(Liquid Station Mod)在异星工厂 0.9 版上于 2014 年 3 月发布。在这个 Mod 中,你可以对任何液体进行装桶,但你必须使用一个特殊的机器——称做流体车站——来实现。

在异星工厂 0.10 中观看流体车站 Mod。本例中硫酸在两个储罐之间移动。

这个 Mod 没有维护多久。然而,它很快就催生了一个新的 Mod,更接近于我们今天所知的样子。这个 Mod 名为流体桶(Fluid Barrels),由 firegrenade 创建,并在 2015 年 1 月为异星工厂 0.11 发布(后来转移到 Mod 门户)。有了这个 Mod,任何组装机都可以用于装桶/倾倒,这就是今天原版游戏的工作方式。不过直到 2017 年 4 月,异星工厂 0.15——在流体车站 Mod 三年之后,任何液体才可以在原版异星工厂中进行装桶。另一个值得一提的装桶 Mod 是 GotLag全能桶(Omnibarrels)。他创造的图形很有可能在一段时间内是原版的创意来源,在开发者向他索取美术作品后:

V453000 和 GotLag 之间的对话
Wube 开发者 V453000 和 Mod 作者 GotLag (也叫 Stone Cold Jane Austin) 之间的对话。这段对话发生在异星工厂官方 Discord 的 #friday-facts 频道。(对话的链接)

拾取工具(Q 键)

在过去的日子里,当你悬停在一个建筑物上时,你不能简单地按 Q 键,就让它神奇地出现在你的光标上。不,你必须在你的库存或快捷栏中手动找到它。如果你用光了你的快捷栏,你还必须搜索一些不需要的物品,因为在那些日子里,它是一个单独的物品栏,而不是简单的快捷方式。一位名叫 Tinyboss 的 Mod 作者看到了一痛苦的情况,于是在 2015 年 8 月制作了最初的拾取 Mod(Picker mod)。过了一段时间,Tinyboss 允许知名的 Mod 作者 Nexela 接管了 Mod 的维护工作,他还在之后继续开发了拾取扩展(Picker Extended)Mod

拾取 Mod 页面截图
原版拾取 Mod 被移到 Mod 门户后的 Mod 页面。(Tinyboss 有很多笔名

幸运的是,在异星工厂 0.15 中,这个 Mod 的部分功能被包含在原版游戏中。尽管这个 Mod 的看起来相当简单,但它的功能却非常强大。它是那种,只要你习惯了它,你就无法想象没有它的游戏功能之一。需要注意的是,Mod 的功能只有一部分被添加到原版中。该 Mod 仍可使用,并有一套泛用的其他功能。

机器人指令模块

很多异星工厂玩家在建立基地的时候,都会速度点出机器人指令模块。很难想象没有它的异星工厂。只要一想到要手工建造整个铁路网,或者要建立无数的前哨站,你就会渴望一些友好的建设机器人的帮助。然而,这个神奇的工具在 2015 年 7 月才随着异星工厂 0.12 的更新添加到原版异星工厂之中。在此之前,它们只被称为口袋机器人(Pocket Bots),并且要安装该 Mod 才能用。

科技面板中的口袋机器人
异星工厂 0.12 中所展示的口袋机器人科技画面

口袋机器人于 2014 年 6 月由 JamesOFarrell 在异星工厂论坛的一个名为口袋机器人:口袋里的建设机器人的帖子上发布。如你想象的一样,这个 Mod 变得非常流行,很多人使用。为了让这个 Mod 在那个老版本的异星工厂中工作,JamesOFarrell 不得不巧妙地使用黑客技巧。似乎他必须在玩家脚下创建一个临时的物流箱,让机器人能够拾取(或放置)物品。没有其他方法可以直接从玩家的背包中取走。它也有其他的问题,比如只能在你的机器人指令平台覆盖范围外工作,但通常这也是它被使用最多的地方。

口袋机器人的使用实例。注意在玩家脚下临时创建了一个物流箱。

开发者注意到了这个 Mod 的受欢迎程度和实用性,几乎整整一年后,在 Factorio Friday Facts #92 中预告了原版机器人指令模块正在准备在异星工厂 0.12 中推出。需要注意的是,在异星工厂 0.12 中,只有一种机器人指令模块类型,而没有升级的 MK2 版本。这意味着要想拥有 100 个个人建设机器人动起来,你必须装备 10 个机器人指令模块!直到 2019 年 2 月发布的异星工厂 0.15,我们才收到了机器人指令模块 MK2,让你只用 4 个机器人指令模块就能轻松使用 100 个个人机器人。

蓝图字符串

一个蓝图字符串用于导入和导出蓝图到你的游戏中。这可以是任何东西,从核电站建设,铁路网络的组件,或完美比例的太阳能蓝图。正如你所猜测的,这也曾是一个 Mod,在它被内置到游戏中之前。蓝图是在异星工厂 0.9 中加入的,但不久之后人们就想开始分享他们的蓝图。就像经常发生的那样,一位 Mod 作者来拯救了我们。这次又是 JamesOFarrell,那个给我们带来口袋机器人的家伙,然后他在 2014 年 11 月创建了一个著名的 Mod,叫做工头(Foreman)

工头 GUI 的截图
游戏中的工头 GUI (取自此帖

然而,严格来说,JamesOFarrell 并不是第一个实现蓝图 字符串 的人,尽管这个 Mod 很可能是它的前身。相反,工头 Mod 的主要功能只是管理蓝图。那时候还没有蓝图簿——两年后的异星工厂 0.13 中才加入。这意味着每张蓝图都要单独保存在你的背包中,这将会很快堵塞背包。因此,除了管理蓝图之外,工头的功能之一就是导入/导出这些蓝图的方法。但是,它最初还是没有创建蓝图字符串。相反,它创建了一小段 Lua 代码!下面是它创建的一个缩小的 *.blueprint 文件的例子——可以用任何文本编辑器阅读。

do local blueprintData={icons={[1]="fast-transport-belt",[2]="boiler"},entities={[1]={type="transport-belt",position={x=-8.5,y=-3.5},name="fast-transport-belt",orientation=0,direction=4,entitynumber=1},[2]={type="transport-belt",position={x=-8.5,y=-4.5},name="fast-transport-belt",orientation=0,direction=4,entitynumber=2},[3]={type="pipe-to-ground",position={x=-7.5,y=-4.5},name="pipe-to-ground",orientation=0,direction=2,entitynumber=3},[4]={type="inserter",direction=4,filters={[1]={index=1},[2]={index=2},[3]={index=3},[4]={index=4},[5]={index=5}},conditions={red={count=5,operator=">",name="raw-wood"},logistics={operator=">",count=1},green={operator=">",count=1}},entitynumber=4,orientation=0,connections={red={[1]=74},green={}},name="smart-inserter",position={x=-6.5,y=-3.5}},[5]={type="boiler",position={x=-6.5,y=-4.5},name="boiler",orientation=0,direction=0,entitynumber=5}, ... name="PowerSmart"};return blueprintData;end

正如你能想到的那样,这将导致非常大的蓝图文件,而且变得非常笨重。有人讨论过如何减少蓝图的占用,例如使用压缩文件,但没有任何结果是在保持易用性的同时实现强大的功能。然而,在工头发布后不到两周,一个叫 DaveMcW 的知名 Mod 作者解决了这个问题。如果你还不知道这个名字,请看这篇文章。他通过使用 gzip+base64 格式压缩上述代码片段,解决了蓝图大小的问题,从而创建了现在著名的蓝图字符串

蓝图字符串 GUI 截图
简单易用的游戏内蓝图字符串 GUI(取自此帖

在这个 Mod 发布后不久,DaveMcW 很可能帮助 JamesOFarrell 在工头中也支持了蓝图字符串。这两个 Mod 统治了蓝图领域。如果你想共享蓝图,你就用蓝图字符串,如果你想有更好的蓝图管理工具,你就用工头。在某个时刻,Choumiko 接管了工头的维护工作。直到异星工厂 0.15——发布于两年多后的 2017 年 4 月——蓝图字符串才被添加到游戏中。代码片段的格式略有改变(并催生了这个 Mod),但压缩方法仍然是相同的,正如 DaveMcW 创建的一样。

蓝图

现在,如果没有实际的蓝图,机器人指令模块或蓝图字符串有什么用?对于异星工厂的创始人 kovarex 来说,这个东西在他的愿望单中待了很久。这可以从他 2013 年发的的帖子中看到——当时异星工厂还处于起步阶段——他们还在决定游戏的发展方向。事实证明,并不是开发者先设法实现的。不,最初的创建者是一个名叫 drs9999 的 Mod 作者,并把它变成了一项你必须解锁的技术。

科技面板中的蓝图字符串
异星工厂 0.7 中所示的蓝图科技界面。黄色的小机器人是旧的机器人技术图标。它也由纳米机器人(Nanobots)Mod 所使用——稍后详细介绍。

这个 Mod 在 2013 年 3 月首次在异星工厂论坛上发布——就在 kovarex 在上述论坛上提到蓝图之后一个多月,在异星工厂 0.4 之前。这些蓝图并没有像今天这样直观地工作。这只是因为当时的游戏才一年多。没有选择工具。那时候连建筑机器人都没有,更别提机器人指令平台了。(孤独的物流机器人只会在不使用的时候徘徊。)不过最重要的是,Mod 的功能并没有今天这么广泛。

为了规避这些限制,作者创造了可以放置下来的标记。这些标记用于指定一个区域,以保存为蓝图或放置下来保存的蓝图。保存的蓝图被保存在 Mod 内部的特定数量的插槽中,而不是像今天这样的物品。甚至还有一个选项可以选择一个区域进行升级。然后,你需要在你的库存中消耗纳米机器人(上图中的黄色小机器人),在指定区域建造蓝图。创作者做了一个 YouTube 教程来提供更多信息,但我把一个非常快速的演示放在一起:

第一张蓝图的使用实例。(为了演示,略有删减)。注意一些旧的图形,以及哪个图形还在使用。

蓝图在 2014 年 2 月与异星工厂 0.9 一起被添加到原版中,这意味着这个 Mod 在一年多的时间里是复制工厂任何部分的唯一方法。虽然它很快就被废弃了,但它有可能是其他变得非常流行的大规模 Mod 的直系祖先。像 Nexela纳米机器人(Nanobots)kds71升级规划(Upgrade Planner)都是在重现这个 Mod 中首次实现的功能。另外,原版里更多的蓝图功能也是源自 Mod,比如 DaveMcW蓝图字符串NovaM镜像蓝图

结束语

异星工厂拥有一个非常健康和活跃的 Mod 社区。这大大增加了异星工厂的可重玩性,并拓展了游戏的玩法。事实上,我们拥有如此惊人的 Mod 场景,主要也是由开发者培养出来的。他们鼓励 Mod 作者继续他们正在做的事情,甚至偶尔会给作者们提供他们所需的工具来创建他们令人惊叹的 Mod。这并不意味着开发者们懒惰,试图甩掉不想做的工作。相反,他们总是先关注游戏的核心玩法——比如优化、界面、游戏机制等。根本就没有时间去实现和实验新的、令人兴奋的功能。事实上,一个健康的 Mod 生态系统围绕着开发者生长起来,能帮助他们决定游戏的发展方向,而玩家则可以尝试各种有趣的游戏机制。

SovietWomble 有一个很好的视频文章系列解释了类似的情况,众多不同配置的 Mod 明确了玩家喜欢的方面——类似于物竞天择适者生存。然而,在他的特殊故事中,开发者很遗憾地没有正确使用这些信息。与此形成鲜明对比的是,Wube 团队是如何正确应用这一信息的优秀典范。他们正在根据玩家喜欢的东西来构建和扩展异星工厂,同时赋予有天赋的 Mod 作者能力。这很可能是异星工厂能成为 Steam 上评分第三好游戏的部分原因。

跟我们说说你吧! Conor_

Alt-F4 团队到此前一直在用一些假设来工作,我们想用一些硬数据来更新这些假设。这些假设来自于我们之前使用的糟糕的用户报告工具,所以我们不依靠这些工具,而是请您回答几个匿名调查,告诉我们更多关于您的信息!我们不会收集任何个人身份数据,所有结果都可以公开查看。我们将利用这些数据来帮助我们指导 Alt-F4 未来的发展方向。

首先,我们想知道您在哪种类型的设备上阅读 Alt-F4,以便我们能够继续优化网站的布局和可访问性。

我们的翻译团队为网站的本地化付出了巨大的努力,我们想知道您通常用哪种语言阅读 Alt-F4。

最后,我们想知道你想在 Alt-F4 上看到何种内容。

征稿

一如既往的,我们正在召集任何想要为 Alt-F4 做出贡献的人,无论是提交文章还是帮助翻译都可以。如果您有些有趣的想法,并乐于与社区分享,这里就是一个好地方。如果您没有太大把握,我们会很乐意帮助您讨论内容创意和结构问题。如果您有意参与,从加入 Discord 开始吧!