type
status
date
slug
summary
tags
category
icon
password
PCG(Procedural Content Generation)内容动态生成 - 游戏中的大世界生成 - 学习笔记
原书名称: Procedural Generation in Game Design
作者:Tanya X. Short & Tarn Adams.
Tanya X. Short是Kitfox Games的总监兼设计师,该工作室开发的比较出名的游戏有Moon Hunters, Shattered Planet, Dwarf Fortress, Boyfriend Dungeon等。而Tarn Adams则是Dwarf Fortress的开发者之一。他们在对PCG系统的研究上都有着自己独特的理解和想法。他们所著的这本书中包含了许多成功的应用了PCG系统的案例,也介绍了各种各样内容动态生成的算法。有着计算机背景的同学会更容易理解本书中的内容,没有的同学也可以从本书中学到游戏内容生成的各种思路。
前排提醒:写这篇文章的目的一是为了记录自己在学习PCG系统中的一些心得(本人记性不太好,刚读过的书可能没几天就忘了QAQ),其次也是想加深对PCG的了解。
这是一本有关如何在游戏中设计动态内容生成的书。
要想了解本书中的内容,首先需要了解Procedural Content Generation(以下由PCG代替)是何物。PCG的翻译为程序化内容动态生成,主要的作用是让游戏中的内容可以动态生成,而无需每一个关卡,或每一个怪物的放置都用代码写死。这样玩家在体验相同的关卡时,可以拥有完全不同的体验。比较典型的例子如Spelunky中,每一次进入1-1都会在不同的地点出生,也会遇到不同类型的地形。在Hades的每一次逃脱中,你都会拿到不同的Boon祝福,但是进入过的房间在每一个区域内都能控制在刚刚好的程度,让游戏有丰富的重复可玩性(尝试各种各样的build,或通关路线),同时又确保了难度曲线的平滑。
以上这些例子都是要归功于游戏内的PCG系统,使用一套合理的规则将游戏内容进行排列组合展现在玩家面前。
这一篇文章记录的是本书的第10章,Worlds, 主要讲了游戏中的World Generation大世界生成 (以下由WG代替)。
1.所以什么是游戏世界?
游戏世界的定义十分广泛,从小的角度来讲,一片由平原与山脉组成的版图可以称之为游戏世界,在此基础上加入的天气系统,地壳构造系统,也属于游戏世界的一部分。从更广的角度来讲,一个星球大战类型的游戏中的太阳系,银河系,各种星球,也可以被视为一个游戏世界。但是如何让他们在游戏中动态生成,且互相之间存在一个相辅相成的关系并不容易设计。
本章节基于此概念,首先介绍成功应用了WG的一些具体游戏。其次探究了这些游戏为什么要使用WG,造成了什么样的玩家体验。第三则是作者基于自己的开发经历,展望今后数据化的内容生成的大趋势。所以基本分为三个维度介绍了WG的使用,从前,现在与将来。
2. WG的历史。
Akalabeth(1980),一款由一名高中生开发的RPG游戏,采用了seed number去决定生成哪一种类型的世界,被视为最早将PCG代入到世界生成的游戏之一。
Elite(1984), 该游戏最初设计时本打算包含万亿的星系系统,可惜后面只实现了一部分。
Civilization文明系列,这大概是大家最熟知的PCG游戏之一。最早的文明根据游戏中的陆地面积,温度,气候和时代等属性生成游戏世界。
River Raid, 包含了无穷无尽的卷轴式地形生成。
其他典型的例子如 Alpha Centauri, Dwarf Fortress, Minecraft, Dark Days Ahead, No Man's Sky(无人深空)。
以上的游戏从世界生成的方式划分可以分两种:
- 生成一个几乎空白的游戏世界,给玩家探索改变这个世界的空间。
- 生成一个几乎把所有内容都给玩家准备好的世界。
这种分类可能仍然难以理解,书中举出了几个例子。符合分类一的典型例子有,《我的世界》和《文明》。在《文明》里面,每一个文明都是由一个主城开始发展,其他的大部分地图都是未探索。随着游戏的进行,玩家会开发更多的荒地,在原有的地图上建造属于自己的城市。我的世界也是类似的存在,玩家可以充分发挥自己的创造力来修建复杂的建筑物,核心是沙盒系统。反观分类二,玩家可以和世界中的大部分星球,建筑都进行交互,而这些星球或建筑的功能在地图生成之后都是固定的,玩家无法改变。例如Elite所生成的星球,在Ultima Ratio Regum的各种文明与社会。简单来讲,就是玩家对当前世界的支配权不同。
3. 所以为什么要让系统去生成游戏世界,而非手动搭建?
究极原因,还是取决于游戏想提供给玩家什么样的体验
a) 探索欲。如果一个地图,没有PCG系统,那么玩家每次进入该地图所见到的都是完全一模一样的,固然会确保玩家第一次游戏时的新鲜感,但如果重复使用同样的地图,玩家摸索出了套路,很容易就变得厌倦。例如游戏Proteus,一个纯探索向的走路模拟器,它并没有应用PCG系统,当玩家把场景中所有的东西探索一遍之后,再游玩一次的体验或大打折扣,没有了惊喜,则重复游玩的动机被大大削弱。另一款游戏《亿万僵尸》,虽然没有将WG放入战役模式中,但由于其通关机制的限制(重复地在同一个地图中建殖民地杀僵尸,直到通关),不适用PCG的地图则是最优解。如果拿当前国内的手游举例,《万国觉醒》,则是应用了PCG的地图,部分资源点在地图上是随机刷新的,这就需要玩家规划资源采取的路线,或寻找不为人知的山洞,这增强了玩家进一步探索的欲望。
b) 程序生成的真实性与高效性。很多时候,手动将一个大世界的版图用各种资源一点一点拼成,需要大量的时间和精力,甚至最后无法确保资源之间的连贯性。而使用程序生成,可以根据自然界的习惯制定某些规则来让整个世界看的自然,同时节省大量的世界。例如使用L-system去生成高低不同,分叉数量不同的树木。
利用公式即随机数去生成不同样式的树木
值得注意的一点是,很多时候给玩家留下探索的余地,是激发他们探索欲的很重要的一点。极端的来讲就是,这个世界你总有一块是无法发现的。未知激发好奇心。
c) 游戏玩法的多样性。使用PCG生成的世界可以推动玩家尝试各种不同的玩法,而非一成不变的通关游戏。例如在《文明》里,玩家在开启游戏之前已经想好了预定的玩法,但是进入游戏之后发现资源点的分配布置,不支持他们进行原先的策略。这时候就需要玩家即时制定规则,这也是Real-time strategy game的由来。类似的系统有自走棋里面根据发牌官发的牌决定后期的阵容,Dwarf Fortress里面根据获得资源制造武器。好的系统应当鼓励玩家去尝试不同的build或策略,当然可以选择头铁硬玩,但是在几次失败之后,玩家应当能意识到需要根据系统来修改策略。
作者根据其制作的游戏《Ultima Ratio Regum》举例,讲述如何通过定性的方法(qualitative procedural generation)来生成复杂的游戏世界。
其实这里有一些疑惑不知道qualitative procedural generation该怎么翻译最好,所以我参考了之前用研学的定性研究,姑且当作者是从定性的角度定义游戏世界。
作者在自己的游戏中并没有专注于如何生成地图或环境,而是专注于一些存在于非物理的世界中的关系。例如社会文化、政治、宗教、机构、社会规范和美学等方面来定义一个游戏系统中各成分的关系。总的来说就是作者更注重社交层面对游戏世界的影响。
作者并不想用单纯的数值去衡量一个地方,而是给游戏的各个部分定性。例如特定宗教信仰可能会影响书籍封面的颜色;一座特别强大的房子可能会影响一个国家制造的所有武器和装甲的设计;特定地区的动植物可能会影响家族标志的设计;一场历史悠久但未被遗忘的战争,可能会影响来自一种文化的人对碰巧来自长期仇恨的敌人的玩家的反应;一座城市的地理位置可能会影响那里涌现的宗教信仰,这些宗教信仰可能与附近的海洋或山脉有关;等等。
那么所以,用这套系统的好处是什么呢?
- 第一是确保了排列组合的多样性。这样的组合会有大量的可能性,同时确保系统之间不会难以理解。
- 作者认为这是一种很不错的处理社交系统的办法。作者会基于游戏中所具有的文化知识,来对他们后续所遭遇的东西进行判断。例如玩家是一个仁慈的帝王,则他面对乡村中的盗贼,和一个好战的暴君所处的态度可能是完全不同的。代入感的增强以及对玩家心里的暗示,能使得游戏的发展充满更多可能性。
由于时间问题先写到这里~~可能有哪些解释不清楚的也希望大家可以毫不留情地评论。因为书看了一半才想起来写笔记,所以今后有时间会把之前地章节也补一补~玩游戏去喽~~xD
📎 参考文章
- Procedural Generation in Game Design
- Author:憨憨周周
- URL:https://www.hanhanzhouzhou1998.com//article/2132ffaa-6354-43fa-99ac-ea007ef5f8fe
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts