【异星工厂】星期五报道#388 - 2.0 版本细节


3楼猫 发布时间:2023-12-14 12:05:24 作者:Wube Software Language

【异星工厂】星期五报道#388 - 2.0 版本细节-第0张

大家好,我们最近向大家展示了一些游戏创作概况,现在是时候展示一些较小的细节了,因为如果细节不能处理好的话,游戏便不会那么出色。


异星工厂将存在数十亿年

我们一直认为用 32 比特整数来计算时间足够了。每秒有 60 个刻度,这使得单次游戏可以连续玩 2.2 年。但异星工厂是一款自动化游戏,因此不可避免地会有人让游戏在后台运行并最终溢出计数器 (https://forums.factorio.com/107837)。这显然是不行的!

在1.1中,博斯基德将计时类型统一封装在一个类中,为对底层类型的改变做好了一些准备。这意味着迁移到 64 比特整数并不那么痛苦,并且保存文件时间的新理论限制是 97 亿年。这一变化在游戏引擎方面相对简单,但它在模组 API 方面带来了一些问题。 

异星工厂使用 Lua 5.2,它具有实现为双精度浮点数的单数字类型。随着浮点数中的值变大,该类型能够包含的详细程度会降低。双精度可以完全准确地表示的最大整数值为 2^52,即 237 万年的刻度。

较新版本的 Lua 包含允许完全精度的专用整数类型,但由于我们在内部对该语言进行了大量修改和错误修复,因此升级 异星工厂的 Lua 版本并不可行。这意味着 Lua 脚本只能指定最多 2^52 的精确刻度值,并且可以使用 math.huge 指定“最大可能的计时”。当错误报告开始出现时,超过 200 万年似乎足以让我们不再担心。


物流请求与恢复尸体相关的调整

我们有一个功能,当你死后重生时,你的个人请求将被禁用,以避免在找到你的尸体之前重新提供物品。但令人烦恼的问题是,当我们忘记在恢复尸体后再次重新启用请求时,我们必须弄清楚发生了什么,以及为什么没有提供物品。

由于所有烦人的事情都需要自动化,我们必须解决它。因此,现在当您恢复尸体时,您死前的设置将被恢复(除非您同时进行更改)。


智能数字格式

很多时候你想设置一些常数,比如“我想要 7.5 个堆栈”,手动计算当然是不可接受的。因此,我们让您可以直接在文本字段中输入数学表达式。

视频01

这基本上是 1 行的代码更改,因为我们已经有了解析数学表达式的代码来定义无限的技术成本。我们只需要定义一些常量(k 代表 1000,M 代表 1 000 000 等等)并在玩家确认后解析文本。这意味着你可以做不同类型的事情: 

⚙ 10k 

⚙ 10*50k 

⚙ 10+50 

⚙ 10^6 

⚙ 等等。


最大范围指示器

这是经典的地下传送带建筑微型,您需要超过最大可建造距离才能验证是否将地下建筑放置在最佳位置。数到 4 很容易,但随着更高等级的传送带来更复杂的数字(6 和 8),很难训练视觉直觉来判断它们能到达多远。这个解决方案是如此简单又如此美好,当地下连接达到最大距离时,我们将其着色为令人放心的绿色,让您立即知道您已达到完美。

之前:必须走到尽头并退一步

视频02 —— 之前:必须走到尽头并退一步

之后:地下连接的颜色发生变化以指示最大距离

视频03 —— 之后:地下连接的颜色发生变化以指示最大距离

【异星工厂】星期五报道#388 - 2.0 版本细节-第1张

当地下连接达到最大范围时,它会变成绿色


对图表标签做出改进

StrangePan 花了一些时间改进自定义图表标签的功能。我们现在能够快速拖动它们、复制它们(通过使用按键绑定)并在放大时将它们放下(这样您就可以获得完美的对齐效果)。

视频04


保存排序

这也是一个非常明显的细节处理,加载/保存游戏对话框中显示“上次修改时间”,并且可以在按字母顺序和最新顺序之间切换排序。

【异星工厂】星期五报道#388 - 2.0 版本细节-第2张

手动调整灯的颜色

设置气氛灯,或者使用自定义颜色,而无需通过设置组合器来设置颜色的样板。

【异星工厂】星期五报道#388 - 2.0 版本细节-第3张

当然,它还允许当前电路网络无法实现的许多颜色。


地图上机器人的颜色

有时可能会发生一些建筑机器人被抛在后面或被遗忘的情况。它们很快就会耗尽电力,而且它们的低能耗慢速模式往往能量太小,无法再次找到您。

这就是为什么我们为机器人地图可视化添加了更多颜色,绿色是您个人的颜色。通过这种方式你可以相对容易地找到它们。还有其他颜色适用于其他情况,例如为您送货的物流机器人、蜘蛛/其他玩家的建筑机器人等。

【异星工厂】星期五报道#388 - 2.0 版本细节-第4张

你能猜出机器人的颜色代表什么意思吗?


更智能的摧毁机器 + 强制建造

悬崖炸药在游戏开始时无法使用,随着游戏的发展,它们的解锁时间甚至会更加延迟。为了避免当你在悬崖上强制建造时对悬崖进行无意义的摧毁标记,我们对其进行了更改,只有在研究了悬崖炸药后才将悬崖标记为摧毁。

【异星工厂】星期五报道#388 - 2.0 版本细节-第5张

当您没有解锁悬崖炸药时,悬崖将不会被摧毁。


这也适用于超级强制建造,除非你解锁它,否则它不会放置填海场。

#steam游戏#    #开发日志#   #自动化#  #基地建设# 


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com