欢迎光临散文网 会员登陆 & 注册

[OpenTTD] Improved Town Industry 2 早期游戏指南

2023-06-23 15:52 作者:bozar42  | 我要投稿
  • 英文版:https://github.com/Bozar/DevBlog/wiki/Design_OpenTTD_ITI

  • 英文版(无图):https://www.tt-forums.net/viewtopic.php?t=91021

  • 游戏存档:https://trow.cc/board/showtopic=51977

本文介绍了如何使用工业模组 `Improved Town Industries 2`(ITI 2),从零开始建造一个食物运输网。这是一份“早期游戏指南”,因为在 `ITI 2` 中,玩家需要运送三种最终货物:食物(Food),建筑材料(Building Materials)和商品(Goods)。三种货物里,食物的生产链最短,开始运输时间也最早。全文分为四部分,可按任意顺序阅读。第一部分介绍了我使用的模组(NewGRF)。第二部分指出少数关键游戏设置。第三部分简单解释了“弧线长度(curve length)”的含义。第四部分是 `ITI 2` 攻略。

本文提及的模组:

  • Improved Town Industries 2

  • ITL Houses

  • Road Hog

  • NUTS Unrealistic Train Set

  • PURR Universal Rainbow Rails

  • BRIX Realism Is XXXX

  • OpenGFX Industries+

  • UKRS 2

  • Sunshine Trains(UKRS 3)

  • xUSSR Set

  • [脚本] Renewed Village Growth

第一部分:模组

必需的模组只有三个:`Improved Town Industries 2`、`ITL Houses` 和 `Renewed Village Growth`,其余都是可选模组。以下是我的选择理由。

为了让游戏中的地形、建筑和车辆更容易辨认,我使用了 `PURR Universal Rainbow Rails` 和 `BRIX Realism Is XXXX`。我还把 `BRIX` 改成了静态模组(static NewGRF)。因为该模组下载时间较长,改成静态后,当我在新电脑上打开游戏存档时,不用下载该模组就能直接游戏。修改方法如下。首先在游戏内按常规方式修改模组设置,然后退出游戏,打开 `openttd.cfg`,把与模组相关的设置行移动到 `[newgrf-static]` 下方。详见图 1。

图 1:静态模组。

我希望只使用火车和有轨电车,为了确保有轨电车能够运送所有货物,添加了 `Road Hog`。在 `Road Hog 1.4.1` 中,游戏内没有列出载具的特殊效果,所以需要参考 维基[1]。

先前用 `UKRS 2` 搭配 `OpenGFX Industries+` 玩过一阵子。`UKRS 2` 提供了数量多、差异明显的英国主题火车。如果你希望游戏稍微复杂一些,又别太难,不妨考虑这个列车模组。`UKRS 3` 改名为 `Sunshine Trains`,看起来也不错。我没玩过 `xUSSR Set`,不过从模组介绍来看,如果你想驾驶曙光号横跨冰冻废土,它将是最可靠的同志。`NUTS` 不同于上述任何模组。该模组有两个最重要的链接:

  • https://blog.openttdcoop.org/2011/10/18/nuts-revolution-among-train-sets/

  • https://web.archive.org/web/20210506130203/http://dev.openttdcoop.org/projects/nuts/wiki

第一篇博客文章解释了 `NUTS` 背后的设计理念。第二份维基存档与游戏中的内容不完全一致,但它是本文写作时(6/18/2023)仅有的公开资料。请注意,在 `NUTS` 里,只有车头有差异,车厢几乎没有区别。刚接触该模组时,这个特点让我困惑了好久。

第二部分:游戏设置

你可以按个人习惯修改游戏,我仅推荐少数关键设置:

  • 把所有的 `Cargo distribution`s 设置为 `Manual`。

  • 把 `Towns are allowed to build roads` 设置为 `Off`。这是为了根据美观和收益需要铺设道路。

  • 在 `Game Script Settings` 中,把 `Eternal love from towns` 设置为 `Good`。这是为了不必等待太长时间就能改建城镇。如果采用最高等级 `Outstanding`,那就无法看到城镇因为玩家付出而改善好感度,缺少了一些成就感。

你也可以把 `Fast forward speed limit` 设置成小于 `100%` 的整数。这样一来,按加速键会降低游戏速度。我觉得这个功能挺有用的,但是很少被各类教程提及。

第三部分:弧线长度

弧线长度影响着火车的过弯速度,详见 openttdcoop[2]。补充几个当初我没弄明白的细节。首先,两个连续弯道定义了一段弧线,这两个弯道必须都是顺时针或者逆时针的。在图 2 中,这段弧线包含三段轨道:头部(HEAD),中段(BODY)和尾部(TAIL)。

图 2:弧线长度

弧线长度可以用三目运算符表示如下:

请注意,“尾部”定义了一段弧线,但是和弧线长度没有直接关系。另外,如果一列火车从反方向通过同一段弧线,并且尾部长度不等于头部长度,那么弧线长度有可能改变。

第四部分:Improved Town Industry 2 早期游戏指南

在 `ITI 2` 中,货物的最大产量和生产效率与城镇人口有关。为了加速人口增长,玩家需要把乘客(Passenger)和垃圾(Waste)运出城镇,还要把食物(Food)、建筑材料(Building Materials)和商品(Goods)运进城镇。最后,根据作者在 Reddit 上的回复[3],只有先提供了所有输入货物,才能得到输出货物。比方说,为了产出食物,需要给食物加工厂(Food Processing Plant)供应家畜(Livestock)和谷物(Grain)。

这个“人口-产量”问题可以分三步解决:

  • 提高城镇人口。

  • 将初级货物从城镇运送到加工厂。

  • 将最终货物从加工厂运送到城镇。

步骤 0:标记地图。

据说《矮人要塞》的玩家每次生成新世界后,都会花费数天时间凝视创世七杰和原初货车,在此期间脑海内完成了兆级数据模拟。模拟运输游戏的玩家不必如此极端,但是铺设第一条铁轨前研究一下地图还是有必要的。既然这份指南的目标是运输食物,那么请标记出至少一个农场(Farm)和牧场(Ranch),如图 3 所示。标记功能(Sign)非常实用,我建议把它绑定到快捷键上。

图 3:在地图上放置标记。

步骤 1:提高城镇人口。

每种资源节点都属于一个小镇,每个加工厂都属于一座城市。为了提升城镇人口,进而提高最大产量和生产效率,可以这么做。

  • 选择两个距离适中的城镇。

  • 在两个城镇。

  • 连接两个火车站,往返运送乘客。

  • 把两个城镇的垃圾运送到第三个火车站,该车站在焚烧炉(Incinerator)附近。

请注意,上述两个城镇至少有一个靠近资源节点或加工厂。适中的距离通常在 15 格到 30 格之间。换一种更粗略的估计方式,将画面缩小到 2x 倍,两座城镇最好不超过一块屏幕的距离。我建议建造三轨车站。一条轨道用来满载乘客,另一条满载垃圾(详见下文),最后一条卸货。城镇发展后,四个方向都可以建造火车站。图 4 展示了一个非常初始的货物循环网。

图 4:第一个循环网。

把垃圾运出城镇促进人口增长,把垃圾运到焚烧炉赚钱。“垃圾/焚烧炉”线路类似原版游戏的“煤炭/发电厂”。建议在研究地图时标记出焚烧炉的位置。虽然刚开局因为资金有限无法建造垃圾运输线路,但是应该知道焚烧炉在哪里,提前做好规划。

运载不同类型的货物时,我建议一列火车仅装载一种货物,沿着专属轨道前进。别把乘客车厢和垃圾车厢放在同一个火车头后面,因为垃圾和乘客的产量不同。混合两种车厢将带来两种结果。要么等待乘客和垃圾全部满载才发车,浪费了运输时间和车站空间;要么一旦满载垃圾或乘客就出发,浪费了另一种货物的车厢空间。如果两列火车行驶速度不同,那么不要并入同一条轨道。原因很明显,无需赘言。

在图 4 中,`Skyreach South` 建造了一个单轨垃圾车站。一列火车在这里等待来自 `Skyreach` 和 `Ar Noy` 的垃圾,满载后前往 `Lannisport North` 卸货。来自 `Ar Noy` 的垃圾火车和乘客火车共用一条铁轨,这没有违反上文的规则,因为它们的行驶速度相同。即便如此,这种做法依然不太妥当,所以很快就会改进(见下文)。

通常来说,货车车头后面不应该接着客车车厢,因为上客速度较慢,但是某些场合可以考虑这种做法。(1) 由于 `NUTS` 的客车车头载客量很大,如果火车站客流量太小,需要等待太久才能满载,那么不妨用货车车头搭配客车车厢(客车车厢的载客量小于客车车头)。(2) 出于某些原因,必须让客车车厢和货车车厢共享同一条轨道。如果都使用客车车头,那么可以保证所有火车行驶速度相同。你也可以通过用时间表限制最大速度解决这个问题。

步骤 2:将初级货物从城镇运送到加工厂。

建造单独的轨道(有必要的话添加新车站),连接初级货物产地和加工厂。使用最快的火车运货。看情况添加中转站(feeder station)。到了这个阶段,收入已经不成问题,而且地图上还有大量未开发区域,所以步骤 2 非常简单。

步骤 2A:把垃圾运到焚烧炉。

建造垃圾运输线并不简单。食物原产地和食物加工厂的位置虽然是固定的,但是铁轨路线不受限制。乘客运输线一旦确定后很快将被城镇道路包围,无法轻易改变,但是在哪两个城镇之间运输乘客完全由玩家决定。对于垃圾运输线而言,起点和终点无法改变,线路靠近城镇,改道也不方便,我的解决办法是建造树形网络。

  • 每个“叶子节点”都是一座收集城镇垃圾的火车站。相邻城镇的垃圾用火车运过来,同一城镇其它区域的垃圾用地面载具运输。我建议每个城镇仅建造一个此类火车站。

  • “叶子节点”给“父节点”运输垃圾,这个“父节点”可能位于城镇边缘,或者位于城镇之间的无人区。每个“父节点”应当比“子节点”更接近焚烧炉。

  • 垃圾沿着树形网络一路往上,最终抵达“根节点”车站。一列火车在这里满载垃圾后,直接前往焚烧炉。

图 5:垃圾运输线。

图 5 展示了一个乘客/垃圾运输系统。先从十二点方向的 `Skyreach` 开始。在 `Skyreach South` 和 `Ar Noy` 之间有一条双轨乘客运输线。此外还有一条单轨垃圾运输线从 `Ar Noy`(叶子节点)到 `Skyreach South`(父节点)。接着一列火车从 `Skyreach South` 出发,抵达 `Lannisport East`(根节点)。请注意 `Lannisport East` 的左侧有一个单独的车站,火车从这里把垃圾运往位于 `Lannisport North` 的焚烧炉。另外还有两条线路从截图下方的 `Driftwood Hall East` 出发,分别前往 `Ar Noy South` 和 `Lannisport Woods`,运输乘客和垃圾。`Lannisport Woods` 也接收来自 `Volon Therys Woods` 的垃圾,然后运往 `Lannisport East`——这个车站位于 `Lannisport` 城市外围,目前仅仅是中转站。

步骤 3:将最终货物从加工厂运送到城镇。

现在你应该买得起任意列车、铺设长度不限的铁轨了,但是城镇周边的空地越来越少。所以我的建议如下。

  • 购买新火车把食物从加工厂运往城镇。

  • 尽可能使用现有铁轨。

  • 把食物运送到若干城镇群边缘,接着使用另一列火车或者地面载具把食物运抵城镇。

图 6:食物加工厂。

图 6 包含两座食物加工厂附近的火车站。谷物和家畜通过两条单独的轨道被运往 `Sunhouse Woods`。一列长火车把食物从 `Sunhouse Woods` 运到 `Sunhouse South`,更多列短火车随后分发食物。这个设计让你能够在将来按需要扩大 `Sunhouse South`,添加更多分发火车,同时确保食物加工厂 `Sunhouse Woods` 只有三条轨道,始终高效运转。最后,请注意在下文的图 7 和图 8 中,食物列车与谷物列车共用了大部分铁轨。

图 7:1 号食物分发站。

在图 7 中,一列食物火车从 `Sunhouse South` 抵达 `Sow's Horn Woods`,留下食物后空车返回。停留在 `Sow's Horn Woods` 分离式车站的火车满载食物后,先后前往 `Lannisport North` 和 `Skyreach Woods` 送货。食物分发列车没有使用新轨道,而是和乘客列车共用铁轨。

图 8:2 号食物分发站。

在图 8 中,食物列车通过路径点 `AN #1`,在 `Volon Therys Farm` 卸货。`AN #2` 供谷物列车使用。`Volon Therys` 和 `Ar Noy` 的有轨电车把食物从 `Volon Therys Farm` 运往各自城镇内的另一个车站。

本文到此结束。我在现实中用了两周、游戏内花了超过二十年才设计并建造出这套食物运输系统。总结起来,`ITI 2` 的工业链不算特别复杂,但是链条上的每个节点环环相扣,破局阶段挺有趣的。

[1] http://bundles.openttdcoop.org/road-hog/releases/LATEST/docs/html/road_vehicles.html

[2] https://wiki.openttdcoop.org/Max_Curve_Speed

[3] https://www.reddit.com/r/openttd/comments/11q993e/comment/jc23asx/

[OpenTTD] Improved Town Industry 2 早期游戏指南的评论 (共 条)

分享到微博请遵守国家法律