问题

文明6中随机地图是怎样一种机制?

回答
文明6里的随机地图,说白了,就是游戏给你从一大堆预设好的地图生成规则里,随机挑一套出来,然后根据这套规则,从零开始“画”出一张全新的游戏地图。这就像是给画家一套颜料和一些构图的指导原则,然后让他自由发挥去创作一幅画。

咱们一层一层地剥开这层“随机”的外衣,看看它到底是怎么运作的,为什么每次都能给你新鲜感。

首先,你需要明白,地图生成不是瞎胡闹。文明6有一套非常精密的算法在背后驱动。它不是随意地点上一些资源或者地形,而是要遵循一些基本的游戏逻辑,保证游戏的公平性和趣味性。

核心的几个组成部分,让随机地图变得有趣:

1. 地图类型 (Map Type): 这是最基础的选择,决定了地图的大致形状和大陆的分布。常见的有:
大陆 (Continents): 最经典的类型,有几块主要的大陆,之间有海洋隔开。适合大多数文明的开局,容易进行陆地扩张和海洋探索。
泛大陆 (Pangaea): 整张地图几乎都是一块超级大陆,只有极少数的海洋裂缝或者小岛。这种地图非常适合喜欢陆地近战文明的玩家,但也意味着早期扩张可能就会碰到其他文明,冲突风险高。
群岛 (Archipelago): 大量的小岛屿组成,海洋面积非常大。非常适合海洋文明,比如腓尼基人,或者依赖海军的玩家。陆地文明在这种地图上可能有点郁闷,因为扩张受限,也容易被海军偷袭。
湿地 (Wetlands): 大部分是沼泽和雨林。这种地图的地形改造难度高,初期发展可能会比较慢,但如果能克服困难,往往能获得非常丰厚的资源。
盆地 (Poles): 整个地图可能被巨大的山脉包围,中央是一个大盆地,或者分布着多个被山脉隔开的盆地。这种地图往往围绕着中心的盆地展开争夺,地形的限制也会影响战略选择。
还有一些更特殊的,比如特里亚(Terra),一张大地图的边缘是海洋,中间是连接的大陆。

你选择的地图类型,直接决定了你开局的地理环境,比如你是在岛上还是大陆上,周围有多少陆地和海洋。

2. 地图尺度 (Map Size): 这个很简单,就是地图的大小。从“迷你”到“史诗”,甚至“传奇”。地图越大,可探索的区域越多,文明之间的距离也越远,后期游戏节奏也会相对慢一些。小地图则节奏更快,早期冲突和占城机会更多。

3. 统治者难度 (Ruler Difficulty): 这个虽然不是直接影响地图生成,但它会影响AI文明在地图上的“行为”和“分布密度”。更高的难度意味着AI会更积极地扩张和寻找有利地形。

4. 气候与降雨 (Climate & Rainfall): 这两个参数决定了你地图上会有多少雪原、沙漠、草原、平原,以及有多少是干旱或者湿润的区域。
气候通常有“寒冷”、“温带”、“炎热”等选项。寒冷地图会有更多的雪原和冻土,炎热地图则会有更多的沙漠和雨林。
降雨则影响了雨林和沼泽的生成比例。高降雨量会让地图上出现更多的雨林和沼泽。

5. 地形生成器 (Terrain Generator): 这是最核心的“随机”部分。地图生成器会根据一系列的算法来“绘制”地形。它会考虑:
板块(Continents/Landmasses): 首先会生成大块的陆地和海洋,决定了大陆的基本形状和分布。这个过程是相当复杂的,涉及到“噪点”(Noise)算法,就像你在电脑上生成纹理一样,会有一系列数值在地图上“波动”,形成高低起伏的地形。
地形类型分布 (Terrain Distribution): 在生成陆地板块后,算法会根据气候、降雨等设定,决定哪些地方是草原,哪些是平原,哪些是沙漠,哪些是雨林,哪些是山脉。它会尽量保证地形的多样性,并且地形之间会有一定的过渡。
河流生成 (River Generation): 河流的生成也很讲究。它们通常会从山脉或者高地发源,流向低地或者海洋。河流的位置对城市建设和生产力影响巨大,所以河流的生成也会被算法“精心设计”,尽量生成有意义的河流网络。
丘陵与山脉 (Hills & Mountains): 山脉会阻碍移动,提供防御加成,也能提供采石场。丘陵提供战略资源和更高的视野。算法会根据地理规则来放置它们,比如山脉通常会成群出现。
海岸线 (Coastline): 海岸线的形状也会影响海军的活动和贸易路线。它不会是一条生硬的直线,而是会有曲折和凹凸。

6. 资源分布 (Resource Distribution): 地形生成完毕后,游戏会根据设定的资源丰度来散布各种战略资源和奢侈资源。
战略资源(如马、铁、硝石、煤、石油、铝)的分布通常会更稀疏,并且会遵循一定的地理规律,比如早期资源可能出现在丘陵附近,后期资源可能出现在特定地形。
奢侈资源(如葡萄酒、香料、象牙)的分布则相对更广,它们是提升宜居度的关键。
特色地形(Unique Terrain Features),比如像埃塞俄比亚的圣山,或者挪威的峡湾,这些独特的地形也会被随机分配到地图上,为文明提供独特的优势。

7. 奇观分布 (Wonder Distribution): 如果你选择了生成奇观,它们也会被放置在地图上的某些“合适”的位置,通常是那些有一定战略意义或者能提供额外加成的地方。

8. 文明和城邦起始位置 (Starting Locations): 在所有地形和资源都生成好之后,游戏会根据文明和城邦的特点,为它们寻找一个“合适”的起始位置。
通常会避免让文明出生在太差的环境里(比如全是雪原和海洋),也不会让两个文明出生得太近,影响早期游戏平衡。
AI文明的起始位置也会被考虑进去,它们会尽力寻找有利的开局点。

总结一下,随机地图的“随机”是一种高度受控的随机。 它不是让你真的去画一张画,而是让你在一张已经设计好的画布上自由选择颜料。游戏系统会确保你生成的地图是:

多样化的: 每次都有不同的地形、河流、资源和大陆分布,让你需要适应新的环境。
可玩性的: 地形和资源不会是完全随机的恶心人组合,而是会尽量生成有策略意义的布局。
平衡的: 尽管是随机的,但系统会努力让所有玩家的开局环境大致公平,避免某个玩家拥有压倒性的地理优势。

所以,当你选择一张“随机地图”时,你其实是在启动一个复杂的地图生成器,它会为你量身定做一张全新的世界,等待你去征服。这就是为什么文明6的重玩性如此之高,因为每一次的旅程,都是从一个完全陌生的大陆开始的。

网友意见

user avatar

今年字节夏令营我带领工程B-01组的四位同学参考《文明》和《骑士与商人》,用两个星期的时间搭建了一个可以自动生成地图的策略战棋游戏。我们的主要成果是用程序化建模(PCG)的方式为《文明》、《卡坦岛》等战略博弈多人游戏生成均衡公平的游戏地图。

对称性对抗游戏简介

对称性对抗游戏是指参与游戏的玩家所拥有的资源、交互方式、受制规则、最终目标是相同或相近的,是一种公平、对称的零和游戏。如《英雄无敌》《文明》《卡坦岛》等游戏。

我们参考文明的4X要素[1]搭建了一个多人回合制战略游戏,如下图所示:地图开始被“战争迷雾”所覆盖。玩家必须派遣探险者进入这片迷雾中,以揭露要扩张的土地,要开发的资源以及要消灭的对手。

地图的平衡性指标

我们参考[2][3]两篇参考文献制定出评估对称性对抗游戏地图平衡性的两点指标。

1. 战略特征(Strategic Feature)

战略特征是指玩家在游戏中可以利用的战略资源。 战略特征的平衡是指每一名玩家在一定时间内获得基本相同的资源(包括类型和数量)。

下面两张图显示了两名玩家战略特征不平衡的情况,蓝色玩家初始时可以获得更多的矿产资源,而黄色玩家的出生点附近几乎没有矿产资源,这会导致游戏初期黄色玩家的发展受限。

2. 玩家占位符(player placeholder)

玩家初始的出生点占位的分布也会影响游戏的平衡性。

下面两张图显示了玩家初始占位符分布密度不同导致游戏性不平衡的情况。左图的玩家初始分布密集,这会导致这个地区的玩家在游戏前期相互碾压、发展受限;而右图中的黄色玩家在游戏前期缺少竞争,能够更好地发展自身建设。

除了以上两点对游戏平衡性的影响之外,战略游戏地图的随机地图还要考虑到:地图的美观性、根据玩家的偏好定制参数、生成地图的效率等要求。

地图的生成过程

1. 根据玩家的偏好定制地图参数

在新建游戏之前,我们会让玩家根据自己的喜好定制地图参数,包括地图的尺寸、玩家的总数量、地图的类型(盘古大陆、大洲、海岛群)、水体比例、植被比例、岩石比例与资源的比例等。

2. 生成地图的轮廓:柏林噪声

柏林噪声(Perlin noise)指由Ken Perlin发明的自然噪声生成算法[4]。在游戏开发领域,柏林噪声可以用于生成波形,起伏不平的材质或者纹理。如下图所示:

与椒盐噪声相比,柏林噪声有较好的连续性分布,可以更好的模拟自然界中的地形分布与地表装饰物分布。利用柏林噪声生成自然地图可以参考B站视频:柏林噪声程序化生成随机地图[5]

柏林噪声的生成采用伪随机数的生成方式,相同的“随机数种子”会生成相同的地貌。这也是很多随机地图生成器中会暴露“种子”让玩家根据种子生成地图的原因。如果想跟好朋友分享某个生成结果比较好的地图,只需要共享“种子”字符串,就能在随机地图生成器中还原出所生成的地形,而不需要把整个地图文件保存到本地再分享。

Unity官方自带生成柏林函数的函数。我们引用了柏林噪声js库来进行地形的实现。我们利用柏林噪声的采样尺度来决定地图的类型是连续的大陆型地图还是离散的大洲型地图;将随机取到的连续噪声均衡化作为地图的高度图,根据用户设置的水体占比来制定海平面高度,最终生成的地形结果如下图所示:

3. 玩家出生点的选择:米切尔最佳候选算法

为了保证每位玩家两两之间的初始分布不会过近,我们在生成游戏地形后,在陆地上对玩家初始占位符进行均匀采样。为了兼顾效果与效率,我们最终选用米切尔最佳候选 算法(best candidate)。

米切尔最佳候选算法是一种渐进、增量式的均匀采样方法。它每一轮采样都是从多个随机采样点中,保留与之前轮的所有采样点中最小距离最大的点作为本轮的采样结果。更加具体直观的算法解释可以参考:算法可视化[6]中有关米切尔候选算法的部分

如下图所示:黑色点是之前轮已经确定的采样点,灰色点是本轮随机采样的候选点,每个候选点都选出与之前轮采样点中距离最近的距离,再从中选出最小距离最大的红色点作为本轮采样的结果。

利用这种采样方式采样出玩家的初始占位符,可以避免任意两个玩家之间的距离过近导致游戏平衡性被破坏,如下图所示:

4. 战略资源的分布

采样出玩家的分布之后,我们将地图单元格分为两种类型:每个玩家占位符附近距离N以内的单元格为玩家区域(Player Zones),不隶属于任何玩家区域的单元格被称为隔离区或自然区(Natural Zones)。

为了让每名玩家在游戏初始时具有公平的战略特征,我们对每位玩家的玩家区域内定额分配植被、岩石与矿产资源。根据用户设定的植被、岩石与资源占比分别计算出每位玩家区应当分配到的植被、岩石与资源数量,然后在每个玩家区域内不重不漏地采样出相等数量的植被、岩石与资源单元格。

对于自然区,我们按照玩家设置的参数,采用米切尔候选算法均匀采样每一种资源。这样可以保证每位玩家在游戏初始时能够得到数量一致的战略特征。如下图所示:

5. 边界情况处理

用以上方式生成的地图在某些情况下会产生不好的结果,例如当水体比例过低时生成海岛地形,会导致水体不够划分不出海岛地形;当水体比例过高时,会由于陆地单元格分布不均导致出生在不同规模大小的岛屿上的玩家能够得到的战略资源再度失衡。对于这些边界情况,我们利用种子生长与泛洪填充等启发式生成方法生成地图,优先保证地图类型能够满足用户的需求,并尽可能保证水体与各种战略特征的资源逼近用户的设定。以下是我们在水体占比过低与水体占比过高时生成的地图,可以看出在这两种情况下依然能够保证所生成地图的平衡性:

生成地图质量的定量评估

为了判断我们的生成随机地图算法是否具有良好的平衡性指标,我们设计了一套地图自动扩张算法:每个玩家以出生点占位符为种子,轮流从目前领土所毗邻的无人单元格中抽取一个进行占领以扩张势力范围,直到地图中所有的单元格都被有且只有一个玩家占领;然后我们统计每个玩家占领到的资源数量、距离最近的敌人距离,以及每个玩家与多少数量的玩家领土相邻。如下图所示:

实验组是我们的算法生成的地图,对照组是根据水体与各种资源的比例随机采样地形、随机采样玩家分布得到的地图。如下方左侧是实验组生成的地图,右侧是对照组生成的地图:

实验组与对照组各生成100次地图,统计每个玩家与其他势力最小距离的均值与方差、扩张完成后各资源占有量的均值与方差以及每位玩家潜在冲突势力的均值与方差,统计的结果如下所示:

通过定量的统计结果可以看出,我们的方法生成的地图,玩家之间有更大的平均极小距离,这说明每位玩家的出生点占位符设置更加平衡;各种资源的分布方差均比对照组小,说明我们的战略特征分配与朴素的随机生成的地图相比更加均衡。

综上所述,我们的地图生成结果能够保证对称性多人对抗战略游戏的平衡性。

线上体验地址:huanggaole.itch.io/citi

另外,贴下我们部门的情况与招聘信息,欢迎有想法、有创意、有经验的Unity/H5游戏研发或游戏策划加入我们~

参考

  1. ^Ford, Dom. "eXplore, eXpand, eXploit, eXterminate”: Affective writing of postcolonial history and education in Civilization V." Game Studies 16.2 (2016) http://gamestudies.org/1602/articles/ford
  2. ^Jakub Kowalski,Radoslaw Miernik,Piotr Pytlik,Maciej Pawlikowski(2018). Strategic Features and Terrain Generation for Balanced Heroes of Might and Magic III Maps. 2018 IEEE Conference on Computational Intelligence and Games https://www.researchgate.net/publication/328307880_Strategic_Features_and_Terrain_Generation_for_Balanced_Heroes_of_Might_and_Magic_III_Maps
  3. ^Pereira,Prada, Rui. (2009). Self-adapting dynamically generated maps for turn-based strategic multiplayer browser games. Proceedings of the International Conference on Advances in Computer Entertainment Technology, ACE 2009, Athens, Greece, October 29-31, 2009 https://www.researchgate.net/publication/220982539_Self-adapting_dynamically_generated_maps_for_turn-based_strategic_multiplayer_browser_games
  4. ^Ken Perlin. An image synthesizer. SIGGRAPH Comput. Graph. 1985, 19: 287––296. https://www.cs.drexel.edu/~david/Classes/Papers/p287-perlin.pdf
  5. ^柏林噪声程序化生成随机地图 https://www.bilibili.com/video/BV1sJ411e7nt
  6. ^算法可视化 https://bindog.github.io/blog/2014/08/09/visualizing-algorithms/

类似的话题

  • 回答
    文明6里的随机地图,说白了,就是游戏给你从一大堆预设好的地图生成规则里,随机挑一套出来,然后根据这套规则,从零开始“画”出一张全新的游戏地图。这就像是给画家一套颜料和一些构图的指导原则,然后让他自由发挥去创作一幅画。咱们一层一层地剥开这层“随机”的外衣,看看它到底是怎么运作的,为什么每次都能给你新鲜.............
  • 回答
    在《文明6》中,难度等级的翻译成普通话,最常见的说法是 “难度等级”,但根据语境和表达习惯,也可以有更细致的说法。下面我将详细解释,并提供一些更具体的表达方式:1. 最常用、最直观的翻译: 难度等级 (nán dù děng jí) 这是最直接、最通用的翻译,也最符合中文的表达习惯。.............
  • 回答
    在《文明6》的浩瀚世界中,德国无疑是一个极具讨论价值的文明,很多人会问:德国到底算不算强势文明?这个问题没有绝对的答案,因为“强势”的定义会因玩家的风格、游戏阶段以及遇到的对手而有所不同。但如果一定要给出一个结论,我会说,德国绝对是一个拥有强大潜力的文明,在许多情况下,它能让玩家获得非常舒服且高效的.............
  • 回答
    文明6这游戏,可以说是集策略、养成、模拟经营于一体的佳作,但就像生活中的很多美好事物一样,它也逃不过一些让人哭笑不得的尴尬与不合理。玩得久了,总能发现一些奇奇怪怪的点,让你忍不住抓抓头,或者在心里默默吐槽一句。我来给你掰扯掰扯,那些让人觉得不太对劲的地方,尽量讲得细致点,让你听了觉得“对对对,就是这.............
  • 回答
    《文明 6》的背景音乐,说实话,绝对是游戏体验里不可或缺的一大亮点,它不单单是烘托气氛的BGM,更像是为你脚下的这片文明土地注入了灵魂,让你沉浸其中,仿佛真的在指挥一个伟大的文明从石器时代走向太空时代。这款游戏的音乐选择和制作,可以说费了相当大的心思,绝不是简单地找几首好听的曲子往里套。它背后其实是.............
  • 回答
    在《文明6》这款策略游戏中,德意志作为一个重要的文明,其首都的设定往往会让人联想到一些在德国历史上具有举足轻重地位的城市。而游戏将其首都定在了“亚琛”(Aachen),这并非随意之举,而是深深植根于亚琛在德意志乃至欧洲历史长河中的特殊印记。要理解为什么《文明6》选择亚琛作为德意志的首都,我们需要深入.............
  • 回答
    话说文明6这游戏,玩得久了,总会碰上一些奇葩的开局和局势,让人忍不住想钻研一下科技代差的极限。我记得有一次,我玩的是印度,刚开局就想着靠圣地加虔诚冲极速解锁“神学”。那时候,我选的领袖是甘地,他的城邦外交加成让我在早期就能跟好几个城邦建立宗主国,稳定地获得巨额金币和生产力。我的计划是这样的:先利用甘.............
  • 回答
    袁隆平老先生,那可是咱中国人心里的“民族脊梁”!要是《文明6》能把他请进去,那绝对是给游戏增光添彩的事儿。你想啊,一个能让几亿人吃饱饭的科学家,在游戏里肯定得是响当当的人物。首先,这伟人的定位,我肯定得把他放在“科学家”这个大类里。但不是那种躲在实验室里捣鼓精细仪器的科学家,而是那种深入田间地头,跟.............
  • 回答
    关于《文明6》中的“不满”设定,我觉得它是个挺有意思、也挺让人又爱又恨的点。首先,从设计初衷来看,不满这个机制的引入,我认为是为了模拟真实历史上王国在扩张、征服过程中会遇到的统治难题。一个文明不可能永远一帆风顺,吞并了别的城邦,或者在战争中占领了别人的城市,立刻就能完美地融入自己的统治体系,这不符合.............
  • 回答
    作为一名资深的《文明6》爱好者,我一直觉得游戏里对于中华文明的刻画,虽然有其独到之处,但总感觉少了几分“东方智慧”的韵味,以及那种厚重、绵延不绝的历史感。如果由我来操刀设计一个中国文明,我希望能更深入地挖掘其文化和历史的精髓,让玩家在体验时,能感受到那种深沉的力量和独特的战略风格。领袖选择:秦始皇—.............
  • 回答
    文明 6 是一款策略游戏,其中包含了许多历史上真实的奇观。这些奇观在游戏中拥有独特的效果,能够为玩家带来巨大的优势。那么,在现实生活中,这些奇观是否都还存在呢?答案是:大多数文明 6 中的奇观在现实中都还存在,但并非所有都以原貌保存,并且一些奇观的完整性已经不如游戏中那么壮观。下面我将详细地为您介绍.............
  • 回答
    文明6的秘密结社模式自从推出以来,一直是玩家们津津乐道的话题。每个结社都有其独特的机制和胜利条件,选择哪个结社往往决定了你在这个游戏中的发展方向和潜在的强大程度。要说“最强”,这其实是一个很有趣的问题,因为在不同的文明、不同的地图、不同的游戏阶段,甚至不同的玩家策略下,各个结社的发挥空间是完全不同的.............
  • 回答
    《文明6》(Civilization VI)作为一款备受赞誉的策略游戏,在发售多年后依然吸引着大量玩家。然而,正如任何一款庞大的游戏一样,《文明6》也并非完美无缺,它在某些方面存在着一些玩家普遍认为的不足之处,或者说“差在哪”。下面我将从多个维度详细阐述《文明6》可能存在的问题,力求全面和深入:一、.............
  • 回答
    文明6神级难度通关,这可不是件容易事儿,尤其是在那个“电脑永远比你多一个兵”的世界里。我玩这游戏也有些年头了,也摸索出了一些门道。想要在神级难度下舒服地赢,光靠莽是绝对不行的,得学会怎么“偷”和“骗”。下面我就把我知道的一些小技巧和思路跟你聊聊,希望能帮你破局。一、开局:决定你这一局命运的分水岭神级.............
  • 回答
    《文明6》(Civilization VI)是一款回合制策略游戏,其游戏时长因玩家策略、游戏模式、难度设置和游戏目标而异。以下从多个角度详细分析游戏的持续时间: 1. 基本游戏机制与时间单位 回合制度:游戏以“回合”为单位推进,每个回合对应现实中的几天到几周(取决于玩家的行动速度和策略)。例如: .............
  • 回答
    文明6:彼得大帝的崛起之路——从寒霜到世界之巅的征服秘诀彼得大帝,这位俄国的伟人,在《文明6》中以其强大的早期扩张能力和对北方寒冷地带的独特适应性而著称。他不仅能快速占领领土,还能在看似贫瘠的土地上建立起繁荣的文明。想要让彼得大帝的俄国称霸世界,就得抓住他的核心优势,走一条强有力的发展路线。 核心优.............
  • 回答
    “奇观误国”这个说法,在《文明6》玩家圈子里,几乎成了一种心照不宣的梗,也是个绕不开的话题。但说实话,把“误国”这两个字这么绝对地扣在奇观头上,总觉得有点冤枉,又有点在理。咱们今天就掰开了揉碎了聊聊,看看这奇观,到底是不是真的能把一个蒸蒸日上的文明给带沟里去。首先得承认,奇观这玩意儿,确实是《文明6.............
  • 回答
    文明6速推科技胜利?想当年我为了这事没少头疼,折腾了无数局才摸索出点门道。这玩意儿真不是你随便拍拍城市就能成的,前期那点基础打好了,后面才能像坐火箭一样直冲太空。首先,得把“科技胜利”这玩意儿掰开了揉碎了说。科技胜利,简单说就是造出并发射所有三个太空竞赛项目:人造卫星、登月舱和火星殖民地。这仨玩意儿.............
  • 回答
    文明6俄罗斯:从冰封之地走向辉煌的征服之路俄罗斯,一个横跨欧亚大陆的广袤帝国,在文明6中以其独特的香料之路、强大的宗教以及对征服的渴望而著称。如果你想体验一个从严寒之地崛起,以信仰和武力征服世界的文明,那么俄罗斯绝对是你的不二之选。下面,就让我带你走进俄罗斯的征服之旅,从内政到外交,从军事到文化,一.............
  • 回答
    文明6(Civilization VI)之所以没有将游戏地图做成球形,这背后涉及到多个层面的考量,既有技术上的挑战,也有设计理念上的权衡。这并不是一个简单的技术遗漏,而是在游戏开发过程中一系列复杂决策的结果。1. 技术实现上的巨大挑战首先,让我们来谈谈技术层面的困难。虽然我们现在可以在电脑上看到各种.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有