- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chapter 2 第2 章
可能性图与概率图
本章将会讨论可能性图与概率图,理解如何使用以及何时使用它们。我们还会学习一
种创建AI 的最佳实践,它不仅能够回应玩家的行为,同时还能做出最优选择,正如我们正
在探索的问题:创建一个能够像人类一样做决策的角色。
就像我们前面看到的,电子游戏往往非常依赖于提前确定AI 在不同情景下的行为,这
些情景可能是游戏本身设计的,也可能是由玩家的行动造成的。这种方法的应用从第一天开
始一直持续到现在,使得可能性图与概率图变成了一种用于创造高质量AI 角色的极其重要
的方法。在解释每种图有什么作用的细节,以及演示用这两种图开发出好的AI 行为之前,
最好大致地知道什么是可能性图与概率图、知道何时何地使用它们。
作为玩家,我们倾向于整体性地享受作品,怀着热情,全身心投入体验游戏的每个部
分,同时忘记了游戏技术性的那方面。基于这个理由,我们有时会忘了即便游戏中最简单的
事件也是按照预定的设计发生的,而且在事件发生的那一刻背后,有许多的考虑与规划。我
们常听到:事出必有因,这个词也可以用在电子游戏里。从你按下游戏开始键的一刻起,一
直到你打出最后一套精彩的连招消灭了最终BOSS ,一切都是按照计划发生的,对程序员来
说,需要输入游戏中所有可能发生的情况。如果你按下A 键游戏角色跳了起来,这是因为
设定就是如此。同样的事情对游戏里具有AI 的敌人或盟友也是一样,当它们的一些行为消
灭了你或是帮助了你,这种行为也是需要编程来实现的,要做到这一点,要用到状态。
2.1 游戏状态
要理解如何创建可能性图与概率图,我们需要先知道它们的基本组成部分,即游戏状
第2 章 可能性图与概率图 7
态,简称状态。游戏状态,就是游戏中的预定动作,它按场合定义,并且可以应用于玩家或
敌人角色。有些行为很简单,例如跑、跳跃或攻击,也可以再扩展一点,例如当角色在空中
且无法攻击的状态,或者角色魔法量低且无法释放魔法攻击的状态。这些例子里,角色要么
从一个状态切换到另一个状态,要么由于正处在另一个状态中而无法切换状态。
跑 射击 防守
走 掩护 跳跃
2.2 可能性图
现在深入看看第 1 章的例子里的可能性图,从国际象棋到《合金装备》游戏。如我们
所见,这是一项当下仍然在使用的技术,而且不用它的话我们几乎不可能做出游戏AI 来。
顾名思义,可能性图允许程序员定义游戏中玩家或AI 角色可以采用的行为。所有游戏
中可以发生的事情需要事先设计并编码,但是当你允许角色做许多事情时会怎么样呢——角
色能够同时做这些事情吗?假设游戏有不同的关卡,角色在所有的关卡都按同样的方式做出
反应吗?除了允许或者限制所有这些可能的行为之外,我们还需要思考游戏中可能发生的情
景,当你把所有这些放在一起,就称之为可能性图。
2.2.1 怎样使用可能性图
让我们看一个常规的第一人称射击(FPS )游戏中的简单例子,为此我们会使用之前图
中所展示的状态。
想象一下我们是游戏中的敌人角色,目标是射击玩家并杀死他,只能使用走、跑、掩
护、跳跃、射击和防守。我们要考虑到,玩家会尽全力杀死敌人,并且可能会出现各种各样
的情景。我们从基础开始——从一个点走到另一个点来守卫地盘,当玩家靠近我们地盘的时
候,我们的目标就从守卫地盘变成了更明确的目标,即杀死玩家。我们接下来做什么?射
击?向玩家跑过去并从近处射击他?寻找掩护并等待玩家靠近?如果玩家先发现了我们准备
射击我们怎么办?可能会发生很多情况,不过很多情况可以只用几个状态来应对。列举所有
可能的情况,并计划在每种情况下我们应当怎样行动或者应对玩家。在这个游戏中,我会选
择以下几种例子:
慢慢走到掩护位置,等待玩家靠近,然后射击他。
跑到掩体后面,从那里射击。
一边防御(远离被子弹射击的位置)一边跑向掩护位置。
与玩家对射,跑向他同时持续射击。
8 游戏AI 开发实用指南
根据要制作的游戏类型,可以使用同样的状态,然后调整为不同的样式。还需要考虑
正在制作的角色的个性。如果它是个机器人,那么它应该不怕一直对着玩家开火,
文档评论(0)