type
status
date
slug
summary
tags
category
icon
password
PCG(Procedural Content Generation)内容动态生成 - AI 设计与应用 - 学习笔记
原书名称: 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系统的案例,也介绍了各种各样内容动态生成的算法。有着计算机背景的同学会更容易理解本书中的内容,没有的同学也可以从本书中学到游戏内容生成的各种思路。
一本有关如何在游戏中设计动态内容生成的书。
今天来记录一下书中所讲的如何在游戏中通过AI,控制内容的动态生成。
这几天阅读本书,认为该书所提供的PCG设计机制仅供参考,具体要用哪一种的PCG还是要根据自己项目的需求走。要避免出现,这个机制这本书讲的不错,那我们把这个机制应用到我们项目里面的心态。
比较不错的AI设计案例有:
合金装备五幻痛的Enemy Response System。如果你一只爆头击杀敌人,那么敌人有大概率会穿上防弹头盔;如果你习惯夜晚暗杀,那么敌人有大概率会戴上夜视镜。这种设定鼓励玩家多尝试各类击杀手段,而非“一招鲜吃遍天”。
另一个最经典的设计是求生之路2里面的AI Director。它会根据玩家被僵尸攻击的次数、玩家的血量等调整僵尸的生成频率和攻击对象。举例来说,僵尸会优先攻击那些长时间内未收到伤害的角色,这也是有的时候为什么你和你队友站在一起,僵尸却一直总攻击一个人的原因。
另一个设计是美末2、神秘海域4里面的敌人设计。敌人会在四处巡逻但是总是很难发现主角,原因是因为他们的巡逻并非是为了发现你,而是为了让你有机会能够sneak up悄悄接近他们。
最近很火的Sifu里面敌人的AI也是很不错的设计。如很多传统ACT游戏那样,敌人并不会一窝蜂地全部涌上来,对主角发出狂风骤雨般的攻击。他们的攻击模式是有一定的可预测性,但是也需要玩家在预测的基础上做出快速反应。根据我的观察,敌人对主角发动攻击的概率主要是被敌人和主角之间的距离影响。另一个影响因素应该是当你对其中一名敌人发动攻击时,离你第二近的敌人更容易对你发动攻击,敌人似乎也有一种“我队友被揍了,我要赶紧去帮忙的心态”。正像很多香港武打片一样,即便有100个人要上来揍你,他们也只会一个一个上。在电影里,这降低了武打设计的难度,也增强了观赏性。在游戏里,这则确保玩家能有公平的战斗体验,因为师傅的核心毕竟是近身战。我特别喜欢杨的战斗设计,他的攻防转换是游戏中设计的一大亮点。不同于其他BOSS的AI,在一阶段的时候他会偏于被动防守,让主角先手进攻,因为先手的一方总是容易会漏出破绽,他会闪躲掉主角的第一下攻击,然后立马采取暴风骤雨般的反击。他的防守反击能力在二阶段中会被增强,有个设定是他会保持原地不动,等主角进攻的一瞬间立马上拳打主角头部。这一记反击的速度极快,你几乎是把进攻键和闪躲键同时按才能躲掉此招。Sifu中BOSS的AI设计是里面的一大亮点,有时间我会专门写一篇文章进行分析。
首先明确为什么需要使用AI。
- 挑战。为游戏增加挑战性和不可预测性是AI不同于其他游戏机制的作用之一。
- 避免游戏机制被玩家一眼洞察。如果一个敌人的机制过于简单,玩家很容易摸清他们的移动和攻击模式,然后使用单一的游戏方式去击杀他们。例如一个笨拙的AI只会一味地追逐玩家,不管他们是会掉落到什么样的陷阱里去。
- 平衡。一个好的AI的设计要基于游戏设计、心理学、社会学、甚至交互设计。而不涉及AI的敌人往往只是涉及CS和游戏理论的知识。
移动和战斗
移动这一块书中主要是结合着PCG生成地图系统来讲的。PCG用于生成地图时最常用的方式便是生成各种类型的山川河流、岩浆、沙漠、雪山等,敌人的移动可以根据地形的不同,较容易地设计出一套具备AI的逻辑。除此以外便是边界的限制。
战斗则是可以从撤退、侧翼进攻、呼叫援助、直接进攻等方面进行AI设计。可以根据战斗策略进行反推,将这些方面扩展。例如前面Sifu的小波敌人的群殴战便是充分考虑这些元素来进行设计的。
环境行为
这里主要指的是怪物不与主角控制角色交互时所产生的行为。
例如在游戏Cogmind中,在关卡开始怪物会无视玩家,直到玩家攻击他们、或扰乱他们的任务。而怪物在无视玩家时所需要做的行为便是属于这一范畴。在很多Roguelike游戏中,怪物大多数情况下只是单纯地在原地走来走去。
对话
很多时候,游戏中的角色会给我们一种真人的感觉,他们会根据我们的问题产生合乎人性的举动,而这便是好的AI对话设计。除此以外另一种对话设计便是旁白的设计。
Ultima Ratio Regum则是将重心放在AI对话上的一款游戏。URR游戏中的NPC所说的话被NPC所属的文明、NPC对特定事件的看法以及情绪三种因素影响。而他们的大世界生成系统则会为这些NPC划分所属的文明,例如封建国家、小部落文明、游牧民族等。
文明主要影响的是一套方言系统。即NPC所讲的方言。而NPC所讲的方言会被元音、辅音、和音节三因素影响。这些因素会由于文明的不同而不同。这样玩家很容易根据NPC所讲的语言,去分辨他们究竟是所属哪一方势力。第二,方言会被“refernces”影响,这是指NPC会参考他们所信仰的文化、历史、政治和宗较元素改变他们所说的话的内容。第三,方言会包含打招呼、辱骂、告别、威胁等内容。第四,方言会包含一个复杂度,即NPC所说的话的长短,进一步则会影响NPC所能提供的信息的丰富度。
这一套系统并不常见,设计的目的也只是为了使NPC更智能、更具有不同区域间的代表性。类似的例子有Mass Effect中角色的对话因为其所属国度有所不同,Warframe中在不同星系的NPC会有不同的口音(反正也是阿巴阿巴,非英语母语使用者感觉不出来)。
除了这个方言系统以外,URR的对话系统还包含一个话题系统。游戏中可以选择多个主题与NPC进行交流,例如艺术品、历史、旅游、动物、书籍等等。这些话题在某些情况下是可以被打开的,有些情况是必须找特定NPC解锁了前置对话才可以。这个设置让我想到了Hades的对话系统,不过Hades的PCG成分更弱一些。NPC之间固然也存在对话,但都是对剧情推动没有意义的小笑话。例如Hermes会在你拿到过其他神的祝福后说:”哦!你刚刚见到了宙斯,对不对。他可是我们众神仰望的老大“(记得不太清了,反正是类似的话)。
- Author:憨憨周周
- URL:https://www.hanhanzhouzhou1998.com//article/07d58ab9-5848-42e1-b788-f6b114e36f8b
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts