游戏开发中的人工智能1_第1页
游戏开发中的人工智能1_第2页
游戏开发中的人工智能1_第3页
游戏开发中的人工智能1_第4页
游戏开发中的人工智能1_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

游戏开发中的人工智能--------简介参考书人工智能游戏编程真言(美)SteveRabin游戏人工智能编程案例精粹(美)MatBuckland

现代电脑游戏简介游戏AI定义定性与非定性AI目前或将来与游戏关系密切的AI技术现有的游戏AI技术游戏AI的未来一、游戏人工智能(AI)简介现代电脑游戏简介电子游戏从1971年诞生以来,越来越受到人们的喜爱。随着现代计算机、网络、虚拟现实、人工智能等技术的发展,游戏的拟人化越来越逼真。高度的拟人化使得现代电脑游戏能够模仿人类社会中的各种情形,并把这些情形通过视觉、听觉、甚至触觉等多种感官反映到人的大脑,从而对人们的现实生活产生巨大冲击。基于游戏中的这些反映人类社会的情形不同和游戏表示的方式不同,可以把电子游戏分为几大类别:纵向卷轴和横向卷轴类、棋牌逻辑类、文字冒险类、图形冒险类、模拟类、战略类、第一或第三人称射击类和角色扮演类。无论游戏属于何种类别,游戏玩家都希望在游戏中能够体验到现实中无法体验到的刺激,得到现实中无法得到的满足。这些刺激和满足主要表现在特定的挑战、社会化、吹嘘与幻想、情感等方面。游戏的开发过程构想阶段是游戏开发中最为重要的阶段。一个好的游戏背景故事是整个游戏成功的一半。在准备好游戏故事之后,就需要考虑游戏采用何种游戏类型,并把游戏故事分割成幕(Act),改编为游戏剧本(Gameplay)。在总体设计阶段,要考虑每个幕中的角色和规则,同时也要考虑相关的技术问题。比如,游戏将采用何种技术、准备运行在什么平台上等。在细节设计阶段,要对每一幕中的焦点(Focus)进行设计,对每一幕的效果产生效果图,选择合适的音乐匹配到各个场景,设计各个角色和场景的细节。最后是建设阶段。开发者要采用选定的技术对游戏进行开发。游戏制作包括编程和触发器的制作。最后要进行游戏测试。游戏AI游戏AI包含在游戏的各个方面,从简单的追逐和闪躲,到移动模式以及神经网络和移动算法。游戏AI可以看作是众多专业子问题的集合,包括路径搜索、操纵、群聚、部署、战术、战略规划、资源分配、武器使用、目标选择、协调、模拟感知、场景分析、空间推理、基于环境的动作等。游戏AI比较偏向于“弱势AI”(weakAI)。使用AI让NPC(nonplayercharacter)表现出不同的人格特征或情绪、脾气,给人以某种智能程度的“错觉”,让游戏更令人沉迷、更有挑战性、更好玩。游戏AI一个游戏中人工智能的成功与否在很大程度上取决于开发人员对它的重视程度。此外硬件水平也严重制约了游戏中人工智能的发展。另外,游戏开发团队对该领域认识上得欠缺,即对开发智能模块的挑战性认识不足或对技术的理解不足,也将导致开发失败。游戏AI系统的工作机理

AI系统通过感知输入子系统用于感知周围的世界,并用这些信息作进一步的推理和分析。如在实时战略游戏中,需要感知的数据包括每个子区域的军事力量平衡、当前战术能力的状态、地形信息以及各种军队的基本类型和建制,如步兵,骑兵等。

记忆存储子系统负责将所有感知的信息、数据和知识等,以合适的方式在计算机内表达和存储。如游戏中各个智能体的位置、朝向、军事力量的平衡、各种路径信息等。分析推理子系统是AI系统的核心,它通过对感知到的数据与存储记忆体中的知识分析比较,作出一个合理的决策,并采用排序确定最佳的决策次序。如在战略游戏中,计算机角色一般会根据战略情况依次选择就近攻击原则、最弱对象攻击原则和最大攻击力原则,即电脑角色会先向距离自己最近的对手攻击,再向最弱的对象攻击,一量选中目标,则会使用最大攻击力去攻击。决策行为输出子系统主要负责把计算机做出的各种决策和行为,作用到游戏世界中的人物角色上。在游戏开发中,人工智能最终都要通过各种动作、行为和反应表现出来,这样玩家在游戏中才能实实在在地感受真实的智能。

游戏人工智能的目的和功能游戏人工智能的目的提高游戏的可玩性提高游戏的真实性提高游戏的趣味性提高游戏的人机对抗性游戏人工智能的功能为玩家提供适合的挑战使玩家处于亢奋状态提供不可预知性结果帮助完成游戏的故事情节创造一个生动的世界游戏AI的目标游戏的可玩性很大程度上与游戏的平衡性相关,玩家的对手通常就是计算机控制的角色,这些角色设计得太容易或太难对付都容易使玩家失去兴趣。由于游戏AI本身与游戏的主体捆绑在一起,玩家和游戏AI之间天生出于不平等地位,使得在游戏中采用何种AI技术,达到何种程度的AI就成为维持游戏平衡性的关键,也是游戏开发团队所关注的关键问题之一。基于电脑游戏的图灵实验

基于电脑游戏的图灵实验人们在娱乐电脑游戏的时候,往往希望游戏中的其他角色能够拥有某些程度上的智能。这些智能可以使得人们能够在玩游戏的同时得到满足。然而,这种智能必须得到控制。如果游戏中的机器角色的智能明显高于玩家的能力,使得玩家对胜利丧失信心,那么玩家会放弃这样的游戏。所以,人工愚蠢(ArtificialStupidity)技术也是必不可少的。在游戏中,太强或太弱的人工智能都是不合适的。那何种程度的人工智能才是合适的呢?回答这个问题首先要考虑怎样的机器可以算作智能机器。图灵曾经提出了“图灵实验”的概念。他认为能够通过图灵实验的机器是具有智能的。其实,在游戏中也是一样的。“图灵实验”在游戏中可以这样描述:当玩家和其他玩家同诸多机器在同时游戏时,如果这个玩家通过游戏规则中的任何方式都无法分辨游戏中的其他角色哪个是其他玩家,哪个是机器的线程,那么我们可以说这个游戏通过了“游戏中的图灵测试”。一般来说,通过了“游戏中的图灵测试”的游戏是最适合玩家娱乐的。游戏人工智能的分类游戏人工智能的类型按照功能分为:漫游AI行为AI策略AI也可分为个体智能系统和群体智能系统游戏人工智能的类型按照表现分为:定性AI非定性AI个体智能系统和群体智能系统电脑游戏中的人工智能从功能上可分为个体智能系统和群体智能系统。个体智能系统主要控制游戏世界中虚拟人物的活动,它们在游戏中充当非玩家的各种角色,包括玩家的敌人、合作伙伴和其它人物角色等。对于这些类型的实体,要想比较真实地对它们进行模拟,必须通过人工智能控制它们的行为符合它们各自特定的身份。群体智能系统则主要为某个系统的多个个体或者环境活动提供控制和辅助决策。例如,战略游戏中的战斗形势判断、整个战斗策略推理、各个战斗部队调动等。

定性与非定性AI定性AI的表现是特定的,而且可预测,没有不确定性。实例:简单的追逐算法定性AI技术是游戏AI的基础。优点:其结果是可预测的,效率高,易实现、理解、测试和调试。缺点:开发者需要预先考虑各种场景,明确写出所有行为;无法帮助NPC学习或演化,玩家玩过一段时间就可以预测NPC的定性行为。定性与非定性AI非定性AI有某种程度的不确定性和不可预测性(不确定的程度与所采用的AI方法的理解的难易程度有关)。实例:NPC学习玩家的作战战术。非定性AI优点:能促进学习,让玩家在玩游戏时难以预测;开发者无需事先预想所有可能的场景,以及写下所有确定的行为。缺点:很难测试和调试;开发者把注意力放在图像的质量上以及游戏的开发周期不断缩短使得使用AI,特别是非定性AI技术变得更加困难。实现人工智能的关键虚拟现实与拟人化动画效果与机器角色场景感知机器角色的机器学习和进化玩家与机器角色之间的平衡性人工愚蠢技术确定性人工智能技术与非确定性人工智能技术的互补。游戏AI的设计原则

游戏AI设计主要解决游戏中具有挑战性的问题,如模拟某个角色的行为、军队找路、进攻和防御、建筑布置、危险估计、地形分析等。这些行为具有人类的特征,在设计时,应遵循以下原则。

1.基于个人体验进行渐进式的设计

在设计游戏AI时,应根据自己玩游戏的想法去初步设计出游戏人物的各种决策和行为,并实现一个大致可以运行的系统,然后让游戏角色和玩家对抗,并通过不断重复以下步骤完善游戏AI:

游戏角色做了什么“蠢事”?如果是人会怎样做?是哪些信息使电脑角色做了这些“蠢事”?重新设计游戏AI。

通过这样不断尝试和反复修改,使游戏AI具有相当的真实性和自然性。

游戏AI的设计原则

2.使游戏AI具有灵活性和开放性。

如在战略游戏中,当游戏角色进攻敌人时,会采用以下规则:

若只有一名可以攻击到的敌人,则目标就是它;

若有数名可以攻击到的敌人,那么选择最弱的一种;

攻击后,考虑到会陷入多少敌人的攻击范围中;

游戏AI能根据不同游戏角色的个性对上述规则排序,确定决策行为。如游戏角色的攻击力很强,那么四条规则的排序为:B>A>D;如果为了避免遭到敌人的围攻,则规则就成为:D>B>A。因为如果攻击后即使将敌人击毙,也会在下一回合被其他的敌人围攻,这样应不会作出进攻的决定。游戏AI的设计原则

3.平衡性

平衡性包括真实性和娱乐性之间的平衡、挑战性和娱乐性之间的平衡。

首先,游戏AI需要真实,玩家在游戏中的一举一动都希望尽可能地贴近现实生活。例如,篮球运动中如果进攻队员受到严密的防守,可能会由于生气而出现进攻动作较大甚至进攻范规。只要“真实”比赛有的,就必须在游戏中出现。

另外,游戏AI需要在挑战性和娱乐性之间找到平衡,因为有相当一部分玩家是为了放松而玩游戏。玩家在玩游戏时,也希望面对的AI行为也会像人一样犯错误,如把武器掉在地上,射击时没有打中目标等,从而降低这类游戏的挑战性,使玩家得到更多的乐趣。如果游戏角色具有很强的AI而不会出现任何失误,就会使玩家失去玩游戏的兴趣。游戏AI的设计原则

4.区分个体智能和群体智能。

游戏AI应能合理地区分个体智能和群体智能。如在足球游戏中,当球队进攻时,对于有球队员来说,它在每一瞬间是带球突破,还是射门,还是传球,都会受到游戏AI的控制。如果游戏开发时只注重个体AI,则队员不会传球,则在一定程度上会失去群体运动的意义。而合理的情况应是每个球员能较为聪明合理地分析球场上瞬息万变的赛况,通过不断分析,并迅速地调整它的行为而得以使比赛向更有利的方向发展。群体运动游戏更注重群体智能的开发,它赋于游戏人物在不同场景和不同群体的情况下的总体思考能力。游戏AI的设计原则

5.简洁性

游戏AI的简洁性是指用尽量少的资源去造成游戏智力水平高超的假象。游戏AI在实现时,算法越复杂,计算越多,处理器的压力就会越大,从而会降低游戏中动画帧的刷新频率,并拖累AI的活力和整个游戏的吸引力。因此,在游戏的设计和实现上,可针对不同类型的游戏人物,分别采用不同的技术路线模拟。对于行为简单的游戏角色,可使用简单的确定性AI技术;对于需要一点智能行为的次要角色,可以对其设定几种模式,并加上一点随机的因素扰动即可;对于比较重要的角色,可以使用有限状态机技术,并借助条件逻辑、概率、以及状态回溯等技术控制状态的迁移;只有对最重要的游戏人物,才需要利用一切可以利用的AI技术。目前或将来与游戏关系密切的AI技术专家系统:一个专家系统代表了专家在某一知识库范围内的专业知识和技能,并能够基于该知识库进行自动推理从而回答用户的查询。这样的系统能够提供接近于专家所能给出的专业意见。基于范例的推理:分析数据库中存放的(历史)输入数据和相应的最优输出结果,然后通过对比现有输入数据和历史数据来推算输出结果。有限状态机:一种简单的基于规则的系统。它包含了有限个“状态”和状态之间的“转移”。彼此连接成一个有向图。有限状态机某一个时刻都只能处于某一状态。产生式系统:该系统包含一个规则数据库。每条规则含有一条具有任意复杂度的条件语句,以及若干满足该条件语句后所需执行的动作。本质上是许多条if-then语句,加上用于处理多个条件同时被满足时的冲突解决机制。目前或将来与游戏关系密切的AI技术决策树:类似于一系列if-then形式的条件判断。在决策过程中,从决策树的根节点输入一组数据,在每个分叉处根据某个输入值选择其中的一个子节点,依次类推。搜索方法:在一张图中找到满足某个目标(某个目标状态或某些目标值最大化)的状态或动作序列。规划(调度)系统:搜索方法的一种特例。研究在已知最初状态和每个动作产生结果的条件下寻找能够达到某一结果的最优(最简单)动作序列。一阶逻辑:是对命题逻辑的一种扩展,用于在给定环境中推理智能主题的相关情况。目前或将来与游戏关系密切的AI技术情景演算:运用一阶逻辑来计算给定情况下智能主体的应有动作,使用自动推理来决定达到最优状态所需采取的动作序列。多智能体系统:研究如何通过多个彼此竞争和协作的智能主体之间的交互来自然地产生智能行为。人工生命:多智能体系统的一种,研究如何为虚拟环境中的智能主体赋予某些生物体的共性。群聚技术:人工生命技术的一个分支,研究如何协调多个智能主体的动作,使之在整体上看起来像逼真的动物群。目前或将来与游戏关系密切的AI技术机器人技术:研究如何让机器能够在现实世界中与人类交互运行。遗传算法:试图直接模拟生物进化过程,在一系列的程序、算法和参数之间做出选择、杂交以及随机的变异和交叉。神经网络:基于生物大脑和神经系统中的神经连接结构的一系列机器学习算法的总和。通过反复调用神经网络中互连节点之间的参数值(权重)来获得针对不同学习任务的最优和近似最优反馈值。目前或将来与游戏关系密切的AI技术模糊逻辑:采用实数值(而不是传统的布尔值)来表示对象属于集合的程度。与传统逻辑相比,模糊逻辑的表达能力更为丰富和细致,因而能够更好的推理。置信网络:提供了描述不同现象之间内在因果关系的工具,特别是它的子领域贝叶斯推导。采用概率理论来解决现实世界中的不确定性和不完全知识等问题,以及现实世界的状态和预测各种动作可能的结果。游戏中的人工智能VS主流的人工智能游戏中的人工智能和主流的人工智能在目标上并不完全相同。学术界的人工智能的目的在于解决极端困难的问题,例如模拟人的认识或理解自然语言。在游戏中加入人工智能是为了获得游戏的乐趣。游戏AI设计得思路不同于学术研究,侧重实际效果。往往采用成熟的技术,用最简单的方法,占用最少的资源,给玩家制造假象,让玩家觉得游戏的AI水平高超。现有的游戏AI技术作弊:游戏中使用最广泛的AI技术有限状态机(finitestatemachine,FSM):列举出计算机控制的角色极其动作、状态,用if-then语句检查各类情况和满足条件,以执行动作或状态,或在动作和状态之间切换。模糊状态机(fuzzystatemachine):用到模糊逻辑,让最后执行的动作难以预测,减少大量列举条件的if-then语句。寻径现有的游戏AI技术在电子游戏刚出现的时候,人工智能主要用于投币式的大型游戏机,例如Pong、Pac-Man、SpaceInvaders和Joust等就使用了大量的简单规则、动作序列的描述以及随机决策技术来使游戏的发展变得难以预测。策略游戏是最早采用人工智能技术的一类游戏、例如Civilization和Civilization2就采用了欺骗的手段来帮助虚拟人物应对复杂场面。实时策略游戏(RTS)WarCraft2及AgeofEmpire2:TheAgeofKings采用了强大的智能技术,特别体现在实时运行能力上,例如可以同时为游戏中几百个对象提供路径搜索。现有的游戏AI技术在第一人称射击游戏中,Half-Life具有卓越的战术智能;Unreal:Tournament因其可扩展性和高超策略而闻名;Thief:TheDarkProject逼真地模拟了虚拟角色感知能力;SWAT3:CloseQuartersBattle很好地表现了拟人的动作和交互方式,并采用随机化的智能行为。模拟类游戏,例如SimCity、Creatures最早成功采用了人工生命技术。神话类游戏,例如Populous、DungeonKeeper、Black&White命技术和实时策略技术。人工智能技术已经广泛应用于各类游戏中,不同类型的游戏对人工智

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论