CIVILIZATION VII

开发者视角:改进的地图生成

大概阅读时间0 seconds

《文明》的粉丝们大家好!我是Firaxis Games的高级图像工程师Ken Pruiksma,今天来为大家分享一些关于地图生成的幕后更新。

《文明VII》首次发售时,我们使用的地图生成技术,主要侧重于保证游戏平衡,同时遵循一些新的玩法规则,比如深海和遥远土地。这种技术源自以往的《文明》游戏,能够生成公平的地图,但也因此显得过于可预测。这导致游戏的探索阶段可能不够有趣(而在4X游戏的第一个X本就是“Explore探索”!)。我们收到了玩家反馈,大家觉得地图过于重复,我们也认同这一点。 

我们也清楚地听到了社区的反馈:两大主要陆地块之间可能出现的直角海岸线影响了游戏体验。文明系列的一大魅力在于让玩家体验一个另类历史的地球,而当地图看起来不够像真实地球时,会削弱这种沉浸感(当然,有些例外情况除外,比如为了多人对战平衡而选择的镜像地图)。

因此,在1.2.5更新 中,我们对地图生成做出了重大改进。我们希望地图生成更自然、更少重复感,同时在关键环节仍保持游戏平衡。基于此,我们推出了两种全新的地图类型:大陆和岛屿(两个大型大陆,带有岛屿)和盘古大陆和岛屿(一个大型大陆,带有岛屿)供玩家选择。这两种地图类型都是基于全新的技术“Voronoi地图生成”构建的。

Before/After Comparison

Voronoi地图

我是图像工程师,这意味着我大部分时间都在制作精美的像素画面,但我一直对程序生成和驱动它的算法情有独钟。当有机会帮助游戏团队改进地图生成时,我真是跃跃欲试。

我当时有个想法:利用Voronoi图,结合一些规则来动态生长陆块。随手做了个快速测试后,效果相当不错。

不涉及太多技术细节的话,Voronoi技术彻底改变了我们生成地图的方式。之前我们主要使用分形噪声来生成地图,这在能均匀应用到整张地图时效果很好。但问题是,它很难针对特定的玩法需求进行调整。相比之下,Voronoi图能提供一个清晰的结构,让我们在其基础上叠加规则,从而让地图既保持自然有机的感觉,又能满足《文明VII》的玩法需求。

接下来让我带大家一步步看看这是如何实现的。

  1. 在地图上随便撒一堆点。撒的点越多,分辨率就越高。我们先从低分辨率开始。
  2. 在每个点周围画线,把它们划分成一个个“单元格”。最后得到的效果有点像碎裂的玻璃。
  3. 选择一些起始单元格。它们就是游戏地图中的“板块种子”,类似于地球上形成大陆的构造板块。
  4. 每个板块按照可配置的规则逐个单元格地扩张,直到整个地图被填满。每个板块都会获得一个旋转角度和移动方向。这就是你地图的“地壳”,它将影响后续大陆的生长。
  5. 现在撒下更多的点,生成一个更高分辨率的版本!再画一次那些分割线,就会在构造板块之上得到另一层碎玻璃般的效果。
  6. 选择一些新的起始点作为主要陆地块,然后按照一套可自定义的规则再次让它们生长。这些规则可以做到:沿着板块边界促使陆地生长(尤其是在板块碰撞时)、避免生成在两极区域、优先出现在某些纬度带等。这里也可以施加基于玩法的限制,比如确保本土与遥远土地之间被一片深海分隔开来。
  7. 根据地图的设置,我们接着生成岛屿、侵蚀海岸线、添加山脉和火山,并进行其他收尾处理。许多步骤都会使用之前那套通用规则来决定地形特征的位置。
  8. 完成后,我们会在地图上叠加六边形网格,然后将地图交给游戏逻辑层,用于确定单元格类型、收益、资源、起始位置等内容。

Generation Process

最终生成的地图更加多样化,看起来也更加自然。以前不可能出现的地形现在可以定期生成。例如,本土和遥远土地可能分别位于南北两侧;大陆可能共享一条大型边界,通过一条狭长地峡连接,或者被海洋分隔;本土和遥远土地之间可能有一串岛屿——也可能没有!这些岛屿可以全部集中在地图一角,也可以散布各处,它们甚至可能合并,形成一个大陆级别的超级岛屿!

需要注意的是,我们特意将95%的时间设定为生成“正常”地图(即具有自然感的地图和标准玩法),这也意味着仍有小概率出现非常奇怪的地图布局。《文明》系列的乐趣之一,就是有时候会因为随机数之神的眷顾而落在一个奇特的起始位置或怪异地图上。如果你遇到奇怪的地图,请一定分享给我们!

最重要的是,这意味着当你作为探索者在起始位置和周边区域探险时,无法对世界的形状做出任何假设。在这些新地图上游玩时,我再次感受到了早期游戏探索的神秘与兴奋,因为你完全不知道下一个六边形会出现什么!

Generation Process Generation Process

精彩才刚开始

随着1.2.5更新 的发布,你会在游戏中找到使用这一新方法生成的大陆和岛屿”(单人游戏的新默认地图)以及“盘古大陆和岛屿”新地图“。如果你想玩旧地图,它们仍以原名称保留在游戏中。在多人对战中,变化少的旧地图可能更受欢迎,因为它有助于保持玩家之间的平衡。 

这仅仅是我们重新开发地图工作的起点!从一开始,这项技术就考虑了自定义、扩展和Mod制作的需求。因此,你可以期待更多的地图选项、现有地图类型的未来改进,以及随着我们持续开发而逐步开放的更多设置。 当然,各位Mod制作者们,Voronoi地图同样对你们开放!你们可以在游戏文件中找到生成这些地图所用的脚本和配置,以及我们官方地图所使用的具体设置。我们非常期待看到大家如何利用这一新方法创造全新的地图类型。

最后,我们非常期待看到大家生成的地图,所以请继续在社交媒体或《文明》官方Discord上分享它们。我们对这些改进感到非常兴奋,也希望你们同样感到兴奋。请持续关注更多地图更新。那么,就尽情享受探索的乐趣吧!