跳到主要内容

Factorio 异星工厂:满足我天文幻想的游戏

· 阅读需 8 分钟

在思绪放空的闲暇时刻,我有时会从自己有限的天文知识出发,胡思乱想一些事。

人类存在了几十万年,有文字记载的文明才 5000 年出头。但把时间尺度放大到宇宙级别,单位就变成了百万年、十亿年。人类文明发展得确实快,但未知的东西还是太多了。我们现在能在太阳系内探探测,也能把人送上月球,但放整个宇宙里看,这些成就还是很渺小。

我不是技术型天文爱好者,也不太懂天文学前沿到什么程度了。但我知道一件事:人类能住在地球这么宜居的地方,运气真好。或者说,想要殖民其他行星,难度真的太高了——大气、温度、水、各种元素……每一样都得刚好。

很多时候,我只是在脑海里简单想象一下:

  • 如果我现在站在火星上,会发生什么?
  • 金星上的声音听起来是什么样?(某些天文爱好者频道真的有把金星传回的电磁波转成音频的分享)
  • 如果我从气态行星表面降落,第一视角会看到什么?(这类视频真的存在)
  • 如果在地球上体重 60 公斤,在月球上称就只有 10 公斤了?!
  • 如果有朝一日人类有机会移居另一个类地行星……
  • 火星移民、星际物流、载人飞船……

这些想象也确实催生了无数基于此的科幻作品。

偶遇 Factorio

然后我就发现了 Factorio——这款满足我天文幻想的游戏。

下面分享下我的心路历程:

从原版到 DLC

今年 4 月左右,我接触到了这个游戏。简单找了个试玩版体验几个小时后,就直接入正了。一开始买的是本体,冲着自动化产线去的。

在原版(1.0)里,设定大致是:飞船坠毁在一颗类地行星上,你需要从头建立产线、发展科技、防守因污染引来的异星虫群,最终造出火箭逃离。火箭发射后,在流程上就算「通关」了。但这本质上是个开放沙盒游戏,你仍然可以继续建立巨型基地、完善产线,按照自己喜欢的方式永远玩下去。

按我的标准,这已经是一款优秀游戏了。我就喜欢这种自由度高、一边探索一边「猪脑过载」的感觉。

我知道还有 DLC,但想着这游戏本体内容已经足够丰富,而且一看就是我喜欢的类型。加上 DLC 要卖 130 块,就先体验下原版再说。

直到我看了别人的游戏视频:

  • 我去!这核弹打虫群真解压!
  • 我去!!人家这怎么还带宇宙飞船的?!
  • 还能搞星际物流?还有一堆我没见过的科技?!

我才意识到:怪不得人家有底气不降价,怪不得 DLC 也敢卖跟本体一个价——合着还有高手,2.0「太空时代」才是完全体!

光速拿下 DLC,迫不及待开玩。

太空时代:星际殖民之路

在「太空时代」(2.0)里,流程上发射火箭不再是游戏的终点,而是全新时代的开启:

  • 新地星(Nauvis)——故事开始的那颗类地行星。你可以把飞船平台装进火箭发射到行星轨道,然后用火箭往平台运送物资来建造飞船。
  • 有了推进器后,就能解锁科技发现其他四颗系内行星,并驾驶飞船前往:祝融星(岩浆重工业生态)、句芒星(生物湿地生态)、雷神星(天天打雷的垃圾佬快乐地)、玄冥星(冰封生态)。
  • 完成星际殖民的关键科技后,就能前往更危险的「星系边缘」和「破碎星球」。
  • 飞船到达破碎星球后,就算完成了「太空时代」的主线流程。
  • 和 1.0 一样,通关后仍然可以继续游玩:完善产线、搞巨型基地、建立太空物流网络……

这完全就是天文爱好者的狂喜,胡思乱想者脑补的具象化啊!

科学与幻想的平衡

而在设定上,游戏确实做到了:

  • 大致构建了科技发展史——从热力→蒸汽→化工→效能→自动化→航天,每一环都有迹可循。
  • 基本遵循现有科学体系——行星系统、核裂变、大气/太空太阳能、重力加速度、磁场、气压……
  • 致敬了太阳系的典型行星——祝融星的灼热让人联想到金星或火星,玄冥星的冰封则呼应天王星或海王星。

但这毕竟是游戏,所以也可以:

  • 让玩家直接降落在其他星球,无论环境多么恶劣。(游戏中唯一的生存威胁是敌对生物,不需要考虑氧气、温度等现实问题)
  • 应用现实未踏足但逻辑合理的科学假设——铀增殖、生物技术、核聚变科学。
  • 基于现实科学框架构建新内容——句芒星的生命形态、雷神星的电磁环境。
  • 对科学事实做合理的流程简化——信号传递、资源分布等。

无限可能的 Mod 生态

除了「太空时代」原版就有的大量内容,这游戏还支持 Mod、联机、自托管服务端、关闭正版验证1

这你敢想?

光原版的五颗行星就这么耐玩了,还有 Mod?

我直接贴一张我现在一个档的星图: 1

简直头皮发麻!这不是爽玩?!

2

是的,社区有大量质量优秀的新行星甚至新星系 Mod。而行星 Mod 只是整个 Mod 生态的其中一个方向:

  • 觉得难度略高的朋友,有加强参数或强力新道具的 Mod,能轻松化解原版有挑战的部分,专心拉产线;
  • 觉得信息量不够、想要新挑战的朋友,有配方和产线更复杂的 Mod;
  • 单纯觉得防守挑战不够的朋友,也有很多困难模式的 Mod。

当然,我目前还是对新行星类的内容更感兴趣,现有的内容已经够我玩一阵子了。

游戏生态现状

刚好在我入坑后的前不久,官方发布了文章写了游戏今后的开发计划,简单来说,就是这游戏已经开发圆满功成名就,后续不会再有官方的新行星内容,今后的开发将会聚焦 Bug 修复和体验优化,以及持续的维护和支持,也提到了团队现状。

确实,目前从我得知的各种信息来看,这就是正常的作品完结,并没有我担心的由于内部团队问题导致开发被迫停滞的问题,无论如何,这游戏肯定会有不错的历史地位,同时这也带来一个结果:Modding API将会趋于稳定,游戏原版引入破坏性 API 的机会变低,社区 Mod 可以更集中创作新玩法,接下来就是社区发力的时候了。

游戏原版星球虽然不多,但每个星球都引入了独特机制玩法,而这也对游戏底层有不同要求;在我看来现在游戏的地基是相当牢固,只通过组合已有的各种机制,就能组合出很多有意思的玩法,特别是我喜欢的新行星赛道,这方面简直可以有无限的想象空间。

制作自己的 Mod

AI 时代制作自己的 Mod 或许并不难

游戏安装文件夹有一个 doc-html 目录,基本就是官方 Mod 指南https://lua-api.factorio.com/的本地版,版本就是当前游戏安装的版本,可以直接在本地 serve,而且无论是官方 GitHub 仓库里公开的各种游戏内参数,还是直接从本地文件获取,这些都是精确获取游戏数据和行为的渠道,直接能拉到文件的那种。

有了这些东西,就可以把文件喂给 Agent,建立上下文,或者封装成 Skill,借助大模型辅助开发 Mod。

例如对游戏来说,异虫卵相关既是机制也是挑战,但我个人不喜欢这个设计, 我就能按照我自己的想法,把用到虫卵的配方替换成另一个东西; 并且这不是直接修改原版文件实现的,而是做了一个简单的 Mod 覆盖配方实现的,与其他 Mod 兼容性也很好。

这里挖个坑,有机会可以分享下我作为新手做 Mod 的思路,以及工作流。


一起玩!

如果你也是天文爱好者,又不排斥游戏这种方式,强烈建议体验一下!

想一起玩的朋友可以联系我一起联机!

____________

  1. 真正好的游戏都是相似的:例如我的世界(Minecraft)也支持Mod、自托管、关闭正版验证;而且两者同样原生跨平台,在 Linux 上玩也没问题

Bazzite OS 使用体验

· 阅读需 6 分钟

最近在电脑上物理安装了 Bazzite OS,先来张 fastfetch 系统信息截图:

1

我用的是威刚 512GB M.2 SSD 专门安装 Bazzite,另外还有一根 1TB M.2 SSD 保留着 Windows。


熟悉的味道

第一次尝试 Bazzite,KDE 桌面也是第一次用,上手后却发现了不少熟悉的味道:

  • 不可变系统:跟 macOS 有点像,或者说跟大众对操作系统的固有印象更接近: 在 Windows、Android、iOS 里,更新系统通常是「下载 → 安装 → 重启 → 进入新系统」这样一套流程。 Bazzite 也是如此——系统关键目录被挂载为只读,如果你修改了这些文件,或者安装了系统更新,就需要重启来应用更改。
  • 应用安装:Homebrew 开箱即用;系统还内置了 Bazaar(Flatpak 版的 App Store),覆盖绝大多数应用;或者用 AppImage。
  • 快捷键:ALT + Space 可以唤醒 KRunner,功能跟 Spotlight 差不多。
  • Wayland 兼容性:部分软件的截图功能在 Wayland 下无法正常使用,可以用 Win + Shift + S 唤醒系统内置的截图工具。

SteamOS 风味发行版

我觉得网上对 Bazzite 的评测大多过于侧重游戏部分了。如果纯粹为了玩游戏装系统,直接用 Windows 岂不更省事。

电脑本质上是通用计算工具,能顺便运行一些游戏、免去频繁切换双系统的麻烦,这只是加分项。

客观来说,近年来 Linux 游戏兼容性确实进步明显。我最近在玩的 Factorio,以前常玩的饥荒联机版星露谷,偶尔体验的缺氧 和其他小游戏,都有原生 x86 Linux 版本。

所谓「兼容性进步」,在普通发行版上意味着你要手动配置兼容层、自己解决各种可能出现的问题后才能达到理想效果。但在 Bazzite 里,这一切官方都帮你内置好了——Steam 预装并开机自启,还能选择直接进入大屏游戏模式:

2

实际体验后发现,Bazzite 不只是帮你装个 Steam 那么简单。普通 Linux 上的 Steam 遇到 Windows-only 游戏会默认阻止下载安装,而 Bazzite 的预装版 Steam 不会限制你下载非原生游戏,首次运行时还会自动配置好兼容层(当然,带反作弊的游戏大概率还是没戏)。

程序开发体验

普通开发

能用 brew 搞定的,或者工具链能完全放在 home 目录下的,直接安装使用没问题。

特殊工具链

需要通过包管理器安装、可能修改系统文件的工具链,有几种解决方案:

  1. Distrobox——预装且开箱即用。你可以直接用 CLI,或者通过自带的管理前端 Kontainer 操作: 3 创建一个普通发行版容器,用里面的包管理器随意折腾。使用时在终端执行 distrobox enter <name> 进入容器,就拥有了容器内的完整环境,然后跟平常一样使用即可。
  2. dnf 层安装:Bazzite 基于 Fedora Silverblue,当然可以用 dnf 安装需要的软件包,然后重启系统。 不过官方不建议这么做,我也没尝试过。当然 root 账户在你手里,想怎么折腾也没人拦着。
  3. 虚拟机:如果做偏底层的开发,或者需要开发普通 Windows 程序,直接上虚拟机更稳妥。

虚拟化

  • Distrobox:内置容器工具,用于安装特殊工具链,补全不可变系统缺失的 CLI 灵活性。
  • Podman:系统内置,可直接作为 Docker 替代品。
  • Docker:如果非要用 Docker,可以在 Distrobox 里建个普通发行版容器,装好 Docker 作为专用 CLI 容器使用。 听说 ujust 也能折腾安装,但我还没研究过。
  • 虚拟机:任何能在 Linux 上运行的虚拟机软件都行。

其他细节

  • 外接显示器亮度调节:这个系统居然内置了极其先进的外接显示器亮度调节功能: 4

    虽然响应速度略慢,但这个功能在 Windows 和 macOS 上还需要额外装插件才能实现,简直遥遥领先!

  • 输入法:预装了 fcitx5,但默认在很多场景下无法唤醒,大概是 Wayland 兼容性问题,修改一些配置文件后基本就能正常使用。

  • 显卡驱动:下载系统镜像时会让你选择显卡型号,我这个版本内置好了 NVIDIA 闭源驱动,玩游戏没问题。

    5

  • 美化:那是什么?美化的尽头就是默认。(反正没限制 root,理论上都能折腾,听说 KDE 客制化很容易)

尝试迁移

对于以日常使用为主、偶尔写写代码的需求来说,我觉得不可变发行版反而比传统的 Debian/Fedora 系可变发行版更舒服一些。Bazzite 有只读挂载和 AB 分区兜底,还内置了这么多实用工具;纯正的 Linux 命令行和容器体验,很适合受够 Windows 大便化的人迁移过来。

Linux 不是神。很多人想尝试 Linux,不是因为 Linux 有多好,而是因为 Windows 太烂了。

这个系统用下来给我的感觉是:既不像普通发行版那样,连「让电脑正常工作」都要磕磕绊绊折腾半天甚至搞挂系统;也不像 macOS 那样只给你用户态的 root 权限、还要被商业生态绑架。它的开箱即用体验做到了 90%,剩下 10% 需要折腾的地方并不复杂;内置的显卡驱动和游戏兼容层能兼顾一部分娱乐需求,有种「给普通用户用的 Linux 本该如此」的感觉。

初始化 Windows 像是在房间里收拾垃圾,搞不好一些犄角旮旯里还够不到; 设置普通发行版像是搬进毛坯房,连生火做饭都需要自己折腾,搞不好还翻车,一套操作下来感觉比设置 Windows 还累,但真的搞好了最逍遥自在; 初次设置 Bazzite 像是搬进简装房,基本没啥乱七八糟的东西,行李搬过来,添几件工具就能用了。

如果没有意外,我会把 Windows 上的应用慢慢迁移过来,将 Bazzite 作为主力系统。Windows 应该还是会保留,当作游戏启动器和兜底方案。

下载配额已用完

· 阅读需 1 分钟

1

你的意思是,在下载歌曲是加密格式的情况下,还限制每月只能下载300首?

李在赣神魔?