第11章-人工智能在游戏设计中的应用(导论)课件.pptx

上传人(卖家):三亚风情 文档编号:2878540 上传时间:2022-06-07 格式:PPTX 页数:43 大小:745.06KB
下载 相关 举报
第11章-人工智能在游戏设计中的应用(导论)课件.pptx_第1页
第1页 / 共43页
第11章-人工智能在游戏设计中的应用(导论)课件.pptx_第2页
第2页 / 共43页
第11章-人工智能在游戏设计中的应用(导论)课件.pptx_第3页
第3页 / 共43页
第11章-人工智能在游戏设计中的应用(导论)课件.pptx_第4页
第4页 / 共43页
第11章-人工智能在游戏设计中的应用(导论)课件.pptx_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、1第11章 人工智能在游戏设计中的应用o人工智能游戏的快速发展,为计算机游戏产业提供人工智能游戏的快速发展,为计算机游戏产业提供了新的机遇,目前人工智能技术已经成为优秀计算机了新的机遇,目前人工智能技术已经成为优秀计算机游戏开发中不可缺少的部分。游戏开发中不可缺少的部分。o本章首先介绍人工智能游戏的概念以及基本的游戏本章首先介绍人工智能游戏的概念以及基本的游戏人工智能技术,然后介绍游戏角色的指导与运动、追人工智能技术,然后介绍游戏角色的指导与运动、追逐与躲避、群聚、路径搜索等智能游戏角色设计的基逐与躲避、群聚、路径搜索等智能游戏角色设计的基本技术。介绍智能游戏开发方法与开发工具,最后简本技术。

2、介绍智能游戏开发方法与开发工具,最后简单介绍扫雷机智能游戏开发。单介绍扫雷机智能游戏开发。211.1 人工智能游戏o计算机游戏(计算机游戏(Computer Game)始于)始于1958年的游戏年的游戏“两两人网球人网球” 。o人工智能游戏(人工智能游戏(AI Game)为计算机游戏业提供了新机)为计算机游戏业提供了新机遇,目前已经形成了数十亿美圆的产业。遇,目前已经形成了数十亿美圆的产业。o人工智能技术已经是优秀电脑游戏开发中不可缺少的部人工智能技术已经是优秀电脑游戏开发中不可缺少的部分,是游戏产品畅销与否的一个决定性因素。分,是游戏产品畅销与否的一个决定性因素。o应用人工智能技术设计的游戏

3、称为人工智能游戏(应用人工智能技术设计的游戏称为人工智能游戏(AI Game),或简称为智能游戏。),或简称为智能游戏。311.1 人工智能游戏o正如经典游戏正如经典游戏“小精灵小精灵” 里的魔鬼、里的魔鬼、“Unreal”第一人称第一人称射击游戏(射击游戏(FPS)里的虚拟战友,以及其他游戏角色,看)里的虚拟战友,以及其他游戏角色,看起来都是具有智慧的生命,这种游戏可以认为是有智能的。起来都是具有智慧的生命,这种游戏可以认为是有智能的。o有人将游戏中的路径搜索、碰撞检测等,也列入游戏智有人将游戏中的路径搜索、碰撞检测等,也列入游戏智能的范畴。能的范畴。o在游戏中包括角色从简单的追逐、闪躲、移

4、动到复杂的在游戏中包括角色从简单的追逐、闪躲、移动到复杂的神经网络和遗传算法应用等,体现角色行动的神经网络和遗传算法应用等,体现角色行动的“自主性自主性”,则说明游戏具有智能性。则说明游戏具有智能性。几种游戏的智能性的观点:几种游戏的智能性的观点:411.1 人工智能游戏o一类是在背景中,如云、鸟等。这类对象的行为在游戏一类是在背景中,如云、鸟等。这类对象的行为在游戏中无须人工干预,变化也不多,控制的逻辑不复杂。中无须人工干预,变化也不多,控制的逻辑不复杂。o另一类是各种角色,如虚拟的人、兽、怪物、机器人等。另一类是各种角色,如虚拟的人、兽、怪物、机器人等。这些对象的活动方式必须变化多端才行,

5、否则游戏就不好这些对象的活动方式必须变化多端才行,否则游戏就不好玩,所以控制逻辑就比较复杂。玩,所以控制逻辑就比较复杂。o不是所有的游戏都需要人工智能。接龙和挖地雷等游戏不是所有的游戏都需要人工智能。接龙和挖地雷等游戏就不需要人工智能。网上提供的两人对弈的象棋、围棋、就不需要人工智能。网上提供的两人对弈的象棋、围棋、军棋类游戏也不需要人工智能。但一旦要求机器与人对弈,军棋类游戏也不需要人工智能。但一旦要求机器与人对弈,那就需要很高的智能了。那就需要很高的智能了。游戏中的活动对象分两类:游戏中的活动对象分两类:511.2 游戏人工智能o游戏中的人工智能简称为游戏人工智能(游戏中的人工智能简称为游

6、戏人工智能(Game AI)o游戏人工智能算法不一定要满足通用性,只要能够使角游戏人工智能算法不一定要满足通用性,只要能够使角色的行为在某些场合内合理就行了。色的行为在某些场合内合理就行了。611.2.1 游戏人工智能的分类 o定性技术是游戏定性技术是游戏AI的基础。的基础。o用这些技术设计的角色行为是特定的、可预测的。用这些技术设计的角色行为是特定的、可预测的。o这种技术实现容易,理解方便,也便于游戏软件的调试这种技术实现容易,理解方便,也便于游戏软件的调试和测试。在设计游戏时,游戏开发者必须考虑所有的可预和测试。在设计游戏时,游戏开发者必须考虑所有的可预测行为,而且无法帮助非玩家角色的学习

7、或演化。测行为,而且无法帮助非玩家角色的学习或演化。o在这种游戏中,玩家只要重复玩几次游戏,便可知道在这种游戏中,玩家只要重复玩几次游戏,便可知道NPC的定性行为,这样,玩家就会失去游戏的兴趣,从而的定性行为,这样,玩家就会失去游戏的兴趣,从而影响游戏软件的影响游戏软件的“生命生命”。游戏人工智能分为定性和非定性两类。游戏人工智能分为定性和非定性两类。7o非定性技术是定性技术的一种提高。非定性技术是定性技术的一种提高。o用这些技术设计的角色行为具有某种程序的不确定性和用这些技术设计的角色行为具有某种程序的不确定性和不可预测性。不可预测性。o在这种游戏中,在这种游戏中,NPC能够学习到玩家的作战

8、行为,并推能够学习到玩家的作战行为,并推出新行为,甚至引发突现行为,也就是没有明确指示而出出新行为,甚至引发突现行为,也就是没有明确指示而出现的行为。现的行为。o由于非定性的不可预测性,会给游戏软件的调试和测试由于非定性的不可预测性,会给游戏软件的调试和测试带来一定的难度,但也增加玩家对游戏的兴趣,延长游戏带来一定的难度,但也增加玩家对游戏的兴趣,延长游戏软件的软件的“生命生命”。游戏人工智能分为定性和非定性两类。游戏人工智能分为定性和非定性两类。11.2.1 游戏人工智能的分类 8o未来的游戏未来的游戏AI越来越注重非定性技术的研究与应用。非越来越注重非定性技术的研究与应用。非玩家角色的行为

9、从玩家那里学习,使玩家难以预测游戏行玩家角色的行为从玩家那里学习,使玩家难以预测游戏行为,使游戏更具挑战性。几个主流游戏如为,使游戏更具挑战性。几个主流游戏如Creatures,Black&White,Battlecruiser3000AD,Dirt Track Racing,Fields of Battle,Heavy Gear等,都采用了非定性技术,并等,都采用了非定性技术,并具有一定的学习功能。具有一定的学习功能。游戏人工智能分为定性和非定性两类。游戏人工智能分为定性和非定性两类。11.2.1 游戏人工智能的分类 9o使用定性技术,解决软件的一部分调试和测试问题;使用定性技术,解决软件的

10、一部分调试和测试问题;o使用非定性技术,增强软件的智能性,赋予软件更强的使用非定性技术,增强软件的智能性,赋予软件更强的生命力和挑战性。生命力和挑战性。o在使用非定性技术时,恰当的运用定性技术,对软件开在使用非定性技术时,恰当的运用定性技术,对软件开发的周期、软件质量等环节都是非常有益的。发的周期、软件质量等环节都是非常有益的。o目前,在人工智能技术中,采用神经网络、贝叶斯技术、目前,在人工智能技术中,采用神经网络、贝叶斯技术、遗传算法、有限状态机等用来实现游戏中的非定性行为。遗传算法、有限状态机等用来实现游戏中的非定性行为。成功的游戏软件采用定性和非定性技术相结合的方法。成功的游戏软件采用定

11、性和非定性技术相结合的方法。11.2.1 游戏人工智能的分类 10o搜索技术在游戏中应用非常广泛,特别是用于路径规划。搜索技术在游戏中应用非常广泛,特别是用于路径规划。o在追捕游戏中,只要追逐角色与任一非追逐角色相邻,所在追捕游戏中,只要追逐角色与任一非追逐角色相邻,所对应的状态就是目标状态。对应的状态就是目标状态。o对于简单的情况,广泛采用宽度优先和深度优先等非启发对于简单的情况,广泛采用宽度优先和深度优先等非启发式搜索算法。但这需要指数级内存来存储游戏状态的实例。式搜索算法。但这需要指数级内存来存储游戏状态的实例。o在游戏设计中广泛应用在游戏设计中广泛应用A*算法,例如在追捕游戏中以两算法

12、,例如在追捕游戏中以两点间欧氏距离为启发函数。点间欧氏距离为启发函数。o搜索是游戏设计中重要的研究内容,例如,需要研究对抗搜索是游戏设计中重要的研究内容,例如,需要研究对抗搜索等方法。搜索等方法。 搜索技术搜索技术11.2.2 基本的游戏人工智能技术11o这种技术广泛应用于智能游戏设计。这种技术广泛应用于智能游戏设计。o游戏设计中为角色寻找最优路径。采用遗传算法设计游戏游戏设计中为角色寻找最优路径。采用遗传算法设计游戏时,可以定义一个考虑移动距离、地形坡度、地表属性等要时,可以定义一个考虑移动距离、地形坡度、地表属性等要素的适应度函数,从而达到较好的平衡,而不是仅仅找到距素的适应度函数,从而达

13、到较好的平衡,而不是仅仅找到距离最短的路径。离最短的路径。o如果道路泥泞则该道路总的适应度就小,选择这条路的可如果道路泥泞则该道路总的适应度就小,选择这条路的可能性就小。如果这条路短使适应度增加,选择这条路的可能能性就小。如果这条路短使适应度增加,选择这条路的可能性变大。对地形坡度的处理也是类似的。性变大。对地形坡度的处理也是类似的。遗传算法遗传算法11.2.2 基本的游戏人工智能技术12o在游戏设计中广泛应用模糊逻辑方法。在游戏设计中广泛应用模糊逻辑方法。o例如用模糊逻辑控制队友,或者其他非玩家角色,能够实例如用模糊逻辑控制队友,或者其他非玩家角色,能够实现平滑运动,看上去更自然。现平滑运动

14、,看上去更自然。o在战争游戏中,计算机军队可以根据敌军的距离以及规模在战争游戏中,计算机军队可以根据敌军的距离以及规模等用模糊逻辑评估玩家对计算机军队的威胁。距离用很近、等用模糊逻辑评估玩家对计算机军队的威胁。距离用很近、较近、较远和很远等表示;规模用零星、少量、中等、大较近、较远和很远等表示;规模用零星、少量、中等、大量等表示;威胁程度分为无、小、中、大等。根据玩家或量等表示;威胁程度分为无、小、中、大等。根据玩家或者非玩家角色的体力、武器熟练度、被击中次数、盔甲等者非玩家角色的体力、武器熟练度、被击中次数、盔甲等级等因素,将玩家或者非玩家的战斗能力分为弱、较弱、级等因素,将玩家或者非玩家的

15、战斗能力分为弱、较弱、一般、较强、很强等。一般、较强、很强等。模糊逻辑模糊逻辑11.2.2 基本的游戏人工智能技术1311.2.2 基本的游戏人工智能技术o神经网络是基于生物大脑和神经系统中的神经连接结构神经网络是基于生物大脑和神经系统中的神经连接结构的一系列机器学习算法的总和。的一系列机器学习算法的总和。o在具体使用中,通过反复调节神经网络中互连结点之间在具体使用中,通过反复调节神经网络中互连结点之间的参数值(权重)来获得针对不同学习任务的最优和近似的参数值(权重)来获得针对不同学习任务的最优和近似最优反馈值。最优反馈值。o本章最后将介绍一个用神经网络控制扫雷机的实例。本章最后将介绍一个用神

16、经网络控制扫雷机的实例。神经网络神经网络1411.2.2 基本的游戏人工智能技术o在游戏设计中,用一阶谓词逻辑描述变化世界的方法,在游戏设计中,用一阶谓词逻辑描述变化世界的方法,称为情景演算(称为情景演算(situation calculus)。)。o用一阶谓词逻辑来计算给定情况下智能主体的应有动作,用一阶谓词逻辑来计算给定情况下智能主体的应有动作,用自动推理来决定达到最优状态所需采取的动作序列。正用自动推理来决定达到最优状态所需采取的动作序列。正是由于需要智能角色去思考变化的世界,而情景演算正好是由于需要智能角色去思考变化的世界,而情景演算正好适合描述变化的事物,因此得到较为广泛的应用。适合

17、描述变化的事物,因此得到较为广泛的应用。o但它不适用于对性能要求很高的实时游戏中,而且用逻但它不适用于对性能要求很高的实时游戏中,而且用逻辑语言来描述复杂游戏是比较困难的。辑语言来描述复杂游戏是比较困难的。一阶谓词逻辑一阶谓词逻辑1511.2.2 基本的游戏人工智能技术o智能游戏的知识库在表达上不像专家系统的知识库那样智能游戏的知识库在表达上不像专家系统的知识库那样正式,但它们的效果是一致的,也就是模拟专业玩家的行正式,但它们的效果是一致的,也就是模拟专业玩家的行为。游戏开发人员编写知识库控制角色的行为。为。游戏开发人员编写知识库控制角色的行为。o但随着游戏的日益复杂化,专家系统越来越难以建立

18、。但随着游戏的日益复杂化,专家系统越来越难以建立。o现在有少数游戏专家系统中引入机器学习。机器学习将现在有少数游戏专家系统中引入机器学习。机器学习将在未来智能游戏开发中得到越来越广泛的应用。在未来智能游戏开发中得到越来越广泛的应用。专家系统专家系统16o通过多个彼此竞争和协作的智能主体描述角色之间的交互。通过多个彼此竞争和协作的智能主体描述角色之间的交互。游戏中存在的众多角色彼此既有竞争也有合作,因此可以游戏中存在的众多角色彼此既有竞争也有合作,因此可以用多智能体来自然地产生智能行为。用多智能体来自然地产生智能行为。多智能体多智能体 基于范例的推理基于范例的推理11.2.2 基本的游戏人工智能

19、技术o这种技术分析数据库中存放的(历史)输入数据和相应的这种技术分析数据库中存放的(历史)输入数据和相应的最优输出结果,然后通过对比现有输入数据和历史数据来最优输出结果,然后通过对比现有输入数据和历史数据来推知输出结果。推知输出结果。o这种技术模拟了人们在处理新的情况时参考以前相似经历这种技术模拟了人们在处理新的情况时参考以前相似经历的做法。的做法。17人工生命人工生命 (artificial life)11.2.2 基本的游戏人工智能技术o由简单的个体行为组合成复杂模式的研究,称为人工生由简单的个体行为组合成复杂模式的研究,称为人工生命。这是多智能体系统中的一种,着重研究如何为虚拟命。这是多

20、智能体系统中的一种,着重研究如何为虚拟环境中的智能主体赋予某些生物体的共性。环境中的智能主体赋予某些生物体的共性。o游戏游戏The Sims和和SimCity的成功证明了人工生命技术的的成功证明了人工生命技术的有效性和娱乐价值。例如用人工生命设计群聚,控制对有效性和娱乐价值。例如用人工生命设计群聚,控制对象的智能化运动,协调多个智能主体的动作,使它们在象的智能化运动,协调多个智能主体的动作,使它们在整体上看起来像逼真的动物群。整体上看起来像逼真的动物群。18o这是一种简单的基于规则的系统,包含了有限个这是一种简单的基于规则的系统,包含了有限个“状态状态”和状态之间的和状态之间的“转移转移”,彼

21、此连成一个有向图。有限状态机,彼此连成一个有向图。有限状态机每一时刻都只处于某一状态。例如追捕游戏中使用有限状态每一时刻都只处于某一状态。例如追捕游戏中使用有限状态机。机。o有限状态机是游戏有限状态机是游戏AI中最为流行和文献众多的一种技术。中最为流行和文献众多的一种技术。o优点是游戏中的非玩家角色常可以设计为含有单个状态变优点是游戏中的非玩家角色常可以设计为含有单个状态变量,而变量值可以表达为有限状态机当前节点的形式。节点量,而变量值可以表达为有限状态机当前节点的形式。节点的输入和输出则驱动角色在那个状态下的行为。的输入和输出则驱动角色在那个状态下的行为。o缺点是有限状态机的不足是当状态数目

22、和状态转移数目增缺点是有限状态机的不足是当状态数目和状态转移数目增加时复杂度大大增加。加时复杂度大大增加。有限状态机(有限状态机(Finite State Machine, FSM)11.2.2 基本的游戏人工智能技术19o决策树表达一系列产生式规则决策树表达一系列产生式规则if.then形式的条件判断。形式的条件判断。o许多诸如国际象棋和西洋双陆棋等棋类游戏中成功采用了许多诸如国际象棋和西洋双陆棋等棋类游戏中成功采用了游戏树和树的搜索方法。游戏树和树的搜索方法。o决策树很容易转化为一组产生式规则。它在计算机游戏中决策树很容易转化为一组产生式规则。它在计算机游戏中经常被用来表达控制器。决策树的

23、编程容易实现。非程序人经常被用来表达控制器。决策树的编程容易实现。非程序人员可以通过图象用户界面方便地建立与维护决策树。员可以通过图象用户界面方便地建立与维护决策树。o如果每个叶节点所对应的不是单一的行动选择,而是一个如果每个叶节点所对应的不是单一的行动选择,而是一个所有可能行动的概率分布函数,那么,就成为随机决策树,所有可能行动的概率分布函数,那么,就成为随机决策树,可用于表达随机化控制器。可用于表达随机化控制器。决策树(决策树(Decision Tree)11.2.2 基本的游戏人工智能技术20o置信网络采用了概率理论来解决现实世界中的不确定性和置信网络采用了概率理论来解决现实世界中的不确

24、定性和不完全知识等问题,是描述不同现象之间内在因果关系的工不完全知识等问题,是描述不同现象之间内在因果关系的工具。具。o置信网络可以用于推导现实世界的状态和预测各种动作的置信网络可以用于推导现实世界的状态和预测各种动作的可能结果。可能结果。o置信网络技术特别适用于解决智能游戏中涉及的许多子问置信网络技术特别适用于解决智能游戏中涉及的许多子问题。题。置信网络置信网络11.2.2 基本的游戏人工智能技术2111.3游戏中的角色与分类o(1)根据运动方向与朝向的相关性可分为靠转向力改)根据运动方向与朝向的相关性可分为靠转向力改变的角色和自由运动的角色两种类型。变的角色和自由运动的角色两种类型。o靠转

25、向力改变运动方向的角色。例如汽车、飞机之类的靠转向力改变运动方向的角色。例如汽车、飞机之类的物体,他们的速度矢量的方向必须与其朝向相同或完全相物体,他们的速度矢量的方向必须与其朝向相同或完全相反,速度方向的改变只能靠施加在头部或尾部的转向力反,速度方向的改变只能靠施加在头部或尾部的转向力(Steering Force)。特别地,有的角色要求当速度大小不)。特别地,有的角色要求当速度大小不为为0时,转向力的施加才有效,例如,停止中的汽车,对时,转向力的施加才有效,例如,停止中的汽车,对其方向盘的操作是毫无效果的。其方向盘的操作是毫无效果的。22o(2)根据角色的属性可分为玩家和非玩家角色两种类型

26、)根据角色的属性可分为玩家和非玩家角色两种类型o(3)根据角色的智能性可分为智能性角色和无智能性角)根据角色的智能性可分为智能性角色和无智能性角色两种类型。色两种类型。o角色运动结果主要是位置和朝向的变化,运动方式可有多角色运动结果主要是位置和朝向的变化,运动方式可有多种,玩家通过操控键盘、鼠标等实现玩家化身的运动;智能种,玩家通过操控键盘、鼠标等实现玩家化身的运动;智能非玩家角色通过预置各种运动算法,当运动条件和环境符合非玩家角色通过预置各种运动算法,当运动条件和环境符合时,自动产生运动方式;对无智能性非玩家角色,则不产生时,自动产生运动方式;对无智能性非玩家角色,则不产生任何运动,只能靠场

27、景切换或摄影机移动来隐藏或现身。任何运动,只能靠场景切换或摄影机移动来隐藏或现身。11.3游戏中的角色与分类23o角色的智能性具体表现在指导与运动、追逐与躲避、群角色的智能性具体表现在指导与运动、追逐与躲避、群聚、路径搜索、智能搜索引擎等方面,下面做个简单介绍。聚、路径搜索、智能搜索引擎等方面,下面做个简单介绍。11.4 智能游戏角色设计基本技术24o指导角色行动的方法:预定义行为和目标导向行为。指导角色行动的方法:预定义行为和目标导向行为。o区分预定义行为和目标导向行为的依据是:角色是否唯一区分预定义行为和目标导向行为的依据是:角色是否唯一地选择行动。地选择行动。o预定义行为方法中,角色的所

28、有行为都是动画师和程序设预定义行为方法中,角色的所有行为都是动画师和程序设计人员预先设计的。这里讨论的主要是如何处理预先并不完计人员预先设计的。这里讨论的主要是如何处理预先并不完全确定的角色行为的技术。全确定的角色行为的技术。o两种比较流行的方法是反应行为规则和分层有限状态机。两种比较流行的方法是反应行为规则和分层有限状态机。 11.4.1 游戏角色的指导与运动25o指导角色行动的预定义行为方法:反应行为规则指导角色行动的预定义行为方法:反应行为规则 o当角色行为仅取决于当前外部环境的感知,称为反应行当角色行为仅取决于当前外部环境的感知,称为反应行为。为。o在反应行为中,角色不记忆以前经历的情

29、景,没有自己在反应行为中,角色不记忆以前经历的情景,没有自己内部情景的表达,因此无论角色收到的信号顺序如何,只内部情景的表达,因此无论角色收到的信号顺序如何,只要是同样的刺激信号,其反应行为就是一样的。要是同样的刺激信号,其反应行为就是一样的。o反应行为规则是第一种生成角色行为的方法,也是目前反应行为规则是第一种生成角色行为的方法,也是目前最普及的方法。用一些简单的产生式规则就能产生复杂的最普及的方法。用一些简单的产生式规则就能产生复杂的行为。例如,下面的简单的左转规则:行为。例如,下面的简单的左转规则: 若若 有障碍在前面有障碍在前面 则则 向左转向左转 否则否则 直走直走 If block

30、ed ahead then turn-left else go-straight 11.4.1 游戏角色的指导与运动26o指导角色行动的预定义行为方法:反应行为规则指导角色行动的预定义行为方法:反应行为规则 o由于行为规则是预先确定的,所以一旦选定了行动,就由于行为规则是预先确定的,所以一旦选定了行动,就不能再改变,角色只能按照当前情景预定义行为规则去行不能再改变,角色只能按照当前情景预定义行为规则去行动。动。o分层有限状态机为角色保留了某些简单的内部状态信息,分层有限状态机为角色保留了某些简单的内部状态信息,设计控制器就比较容易。设计控制器就比较容易。o游戏设计中许多角色选择行动是非确定性的

31、,有多个方游戏设计中许多角色选择行动是非确定性的,有多个方案可以选择。当角色选择了某个行动方案后,如果认为这案可以选择。当角色选择了某个行动方案后,如果认为这个方案不能达到期望的目标时,可以返回选择其他方案,个方案不能达到期望的目标时,可以返回选择其他方案,直到选出合适的方案。直到选出合适的方案。11.4.1 游戏角色的指导与运动27o可非确定性选择行动的角色容易接受指导,通过给角色可非确定性选择行动的角色容易接受指导,通过给角色指定目标,使角色能够利用自己的领域知识,了解它选择指定目标,使角色能够利用自己的领域知识,了解它选择的行动方案是否能够达到目标。的行动方案是否能够达到目标。o非确定性

32、选择行动的响应速度比较慢,游戏设计时应该非确定性选择行动的响应速度比较慢,游戏设计时应该折中考虑。折中考虑。o指导角色的第三种方案是将预定义行为和目标导向行为指导角色的第三种方案是将预定义行为和目标导向行为结合起来。结合起来。11.4.1 游戏角色的指导与运动28o1. 随机移动随机移动o随机移动能够产生角色漫无目的地徘徊的感觉。随机移动能够产生角色漫无目的地徘徊的感觉。o对于自由运动的角色,可以不断地产生随机的速度矢量。对于自由运动的角色,可以不断地产生随机的速度矢量。o对于靠转向力来改变速度方向的角色,可以不断产生随对于靠转向力来改变速度方向的角色,可以不断产生随机的转向力。机的转向力。o

33、若使用完全的随机数来控制角色的移动,行动看起来不若使用完全的随机数来控制角色的移动,行动看起来不稳定,所以应该保持随机过程的一致性,可采用噪声函数稳定,所以应该保持随机过程的一致性,可采用噪声函数法、投射目标法,也可以记录从前走过的路,避免走回头法、投射目标法,也可以记录从前走过的路,避免走回头路等来体现随机性。路等来体现随机性。11.4.2 游戏角色的追逐与躲避29o2. 追踪与躲避追踪与躲避o追踪与躲避是功能相反的两种运动模式。追踪与躲避是功能相反的两种运动模式。o例如,在太空战机射击游戏或角色扮演游戏,游戏中的例如,在太空战机射击游戏或角色扮演游戏,游戏中的非玩家角色都有机会试着追踪或躲

34、避玩家角色;在角色扮非玩家角色都有机会试着追踪或躲避玩家角色;在角色扮演冒险游戏中,也想需要个巨人或某种可爱的生物,追着演冒险游戏中,也想需要个巨人或某种可爱的生物,追着你的玩家角色跑;你的玩家角色跑;o在第一人称射击游戏和飞行模拟游戏中,需要算出导弹在第一人称射击游戏和飞行模拟游戏中,需要算出导弹的轨迹,攻击玩家或玩家的飞行器等。对于任何一种情况,的轨迹,攻击玩家或玩家的飞行器等。对于任何一种情况,都需要一种逻辑手段,使角色进行追踪或躲避。都需要一种逻辑手段,使角色进行追踪或躲避。 11.4.2 游戏角色的追逐与躲避30o3.躲避障碍物躲避障碍物o追踪与躲避是功能相反的两种运动模式。追踪与躲

35、避是功能相反的两种运动模式。o游戏中玩家与非玩家角色都应符合现实场景的客观规律,游戏中玩家与非玩家角色都应符合现实场景的客观规律,即不能出现互相穿透现象,如玩家穿过非玩家角色、玩家走即不能出现互相穿透现象,如玩家穿过非玩家角色、玩家走出虚拟场景、玩家穿越地面等。出虚拟场景、玩家穿越地面等。o对于这些现象,在设计过程中,可以理解为是追踪与躲避对于这些现象,在设计过程中,可以理解为是追踪与躲避的一种特例。的一种特例。11.4.2 游戏角色的追逐与躲避31o躲避障碍物可采用传感器等方法,自动检测玩家与物体的躲避障碍物可采用传感器等方法,自动检测玩家与物体的距离,当达到测定距离时,自动实现玩家不靠近障

36、碍物。距离,当达到测定距离时,自动实现玩家不靠近障碍物。o使用传感器来判断障碍物,即利用传感器从当前位置沿当使用传感器来判断障碍物,即利用传感器从当前位置沿当前速度向前方一段距离作投射,传感器的末端表示按照当前前速度向前方一段距离作投射,传感器的末端表示按照当前的速度将要到达的位置,若在这个投射上发生了碰撞,则表的速度将要到达的位置,若在这个投射上发生了碰撞,则表示按当前速度行进将会发生碰撞,以此要求角色改变速度。示按当前速度行进将会发生碰撞,以此要求角色改变速度。o传感器的长度可以与角色的速率成正比。转向力的方向为传感器的长度可以与角色的速率成正比。转向力的方向为障碍物表面的碰撞点的法矢量的

37、方向,转向力的大小可以与障碍物表面的碰撞点的法矢量的方向,转向力的大小可以与传感器的末端穿进障碍物的深浅成正比。传感器的末端穿进障碍物的深浅成正比。11.4.2 游戏角色的追逐与躲避32o群聚(群聚(flocking)行为是基于)行为是基于Craig Reynolds提出的提出的Boids算法,由三个简单的规则组成的算法。算法,由三个简单的规则组成的算法。o聚合(聚合(cohesion):每个成员移向它的邻居成员的平均):每个成员移向它的邻居成员的平均位置;位置;o对齐(对齐(alignment):每个成员朝向它的邻居成员的平均):每个成员朝向它的邻居成员的平均朝向;朝向;o分离(分离(sep

38、aration):每个成员与邻居保持一定的距离,):每个成员与邻居保持一定的距离,以免相撞。以免相撞。11.4.3 游戏角色的群聚33o团队中的一个成员所考虑的邻居成员的数量可以通过该成团队中的一个成员所考虑的邻居成员的数量可以通过该成员的视角和视野来控制,只有在视角和视野范围内的成员才员的视角和视野来控制,只有在视角和视野范围内的成员才予以计算。予以计算。o大的视角会使队形向横向铺开来,而小的视角会使队形纵大的视角会使队形向横向铺开来,而小的视角会使队形纵向排开,形成细长的队列。向排开,形成细长的队列。o可以为不同的规则制定不同的视角和视野,这些需要在游可以为不同的规则制定不同的视角和视野,

39、这些需要在游戏的实现过程中进行调整。戏的实现过程中进行调整。11.4.3 游戏角色的群聚34o一个成员的行为结果是三个规则计算出的转向力的组合。一个成员的行为结果是三个规则计算出的转向力的组合。有如下几种组合方法:有如下几种组合方法:o(1)将所有转向力加权。缺点是权值难以设定和调整,)将所有转向力加权。缺点是权值难以设定和调整,例如障碍物躲避是必须的,应该保证角色不与障碍物相撞。例如障碍物躲避是必须的,应该保证角色不与障碍物相撞。o(2)在()在(1)基础上为每个转向力增加一个优先级。)基础上为每个转向力增加一个优先级。o(3)为每个转向力增加一个概率和一个优先级。每一次)为每个转向力增加一

40、个概率和一个优先级。每一次更新只有一个转向力起作用。更新只有一个转向力起作用。o这种方法由于每一次更新只计算一个转向力,减少了计算这种方法由于每一次更新只计算一个转向力,减少了计算量,但降低了精度。量,但降低了精度。11.4.3 游戏角色的群聚35oA*算法虽然不是当今游戏软件开发中最常用的路径搜索算法虽然不是当今游戏软件开发中最常用的路径搜索算法,但它能保证在任何起点与终点之间找到最佳路径。算法,但它能保证在任何起点与终点之间找到最佳路径。o由于路径的类型很多,寻求路径的方法应与路径的类型、由于路径的类型很多,寻求路径的方法应与路径的类型、寻径的需求有关,所以它不一定适合所有场合,例如,如果

41、寻径的需求有关,所以它不一定适合所有场合,例如,如果起点和终点之间没有障碍物,有明确的视线,就没有必要使起点和终点之间没有障碍物,有明确的视线,就没有必要使用算法;用算法;o如果如果CPU功能不太强,则功能不太强,则A*算法不是最佳选择,尤其是算法不是最佳选择,尤其是多角色游戏的路径选择问题,因为算法要求多角色游戏的路径选择问题,因为算法要求CPU做大量的计做大量的计算,会影响游戏效果。算,会影响游戏效果。11.4.4 游戏角色的路径搜索36o在游戏开发中,核心技术是构架游戏引擎,它是决定游在游戏开发中,核心技术是构架游戏引擎,它是决定游戏质量的关键。游戏引擎就像赛车的引擎。戏质量的关键。游戏

42、引擎就像赛车的引擎。o玩家所体验到的剧情、关卡、美工、音乐、操作等内容玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏引擎直接控制的。都是由游戏引擎直接控制的。o引擎就是用于控制所有游戏功能的主程序,从计算碰撞、引擎就是用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等。照正确的音量输出声音等。o游戏引擎朝着两个不同的方向分化。一是通过增加更多游戏引擎朝着两个不同的方向分化。一是通过增加更多的叙事成分和角色扮演成分以及加强游戏的人工智能来提的叙事成分和角色扮演成分以及加强

43、游戏的人工智能来提高游戏的可玩性;二是向着纯粹的网络模式方向发展。高游戏的可玩性;二是向着纯粹的网络模式方向发展。 11.4.5 智能搜索引擎37o11.5.1智能游戏开发方法智能游戏开发方法1.编程技术:使系统呈现智能的效果,而不考虑所用方法是编程技术:使系统呈现智能的效果,而不考虑所用方法是否与人或者动物所用的方法相同。这种方法称为工程学方法。否与人或者动物所用的方法相同。这种方法称为工程学方法。2 .模拟法:它不仅要看效果,还要求实现方法和人类或动物模拟法:它不仅要看效果,还要求实现方法和人类或动物机体所用方法类似。例如,遗传算法、神经网络等。机体所用方法类似。例如,遗传算法、神经网络等

44、。o采用编程技术,需要人工详细规定程序逻辑。如果游戏复采用编程技术,需要人工详细规定程序逻辑。如果游戏复杂,角色数量和活动空间增加,相应的逻辑复杂度就会以指杂,角色数量和活动空间增加,相应的逻辑复杂度就会以指数增长,人工编程就会非常复杂,容易出错。数增长,人工编程就会非常复杂,容易出错。o采用模拟法,设计者不需要详细规定程序逻辑,而是给每采用模拟法,设计者不需要详细规定程序逻辑,而是给每个角色设置一个能够学习的智能模块来进行控制。利用这种个角色设置一个能够学习的智能模块来进行控制。利用这种方法来实现游戏智能,无须对角色的活动规律作详细规定,方法来实现游戏智能,无须对角色的活动规律作详细规定,应

45、用于复杂问题时,通常会比前一种方法更省力。应用于复杂问题时,通常会比前一种方法更省力。11.5智能游戏开发方法与开发工具38o11.5.2智能游戏开发工具智能游戏开发工具o游戏开发工具分为创作工具类和编程语言类两大类。游戏开发工具分为创作工具类和编程语言类两大类。o创作工具类是由软件开发商开发的集各种功能在内的专创作工具类是由软件开发商开发的集各种功能在内的专业软件,主要采用业软件,主要采用“拖、拉、放拖、拉、放”的形式开发。如的形式开发。如Virtools、PRG Maker XP、FPS Creator、Vega、Game Jackal Pro、ZD Soft Game Recorder、

46、Game Editor等开等开发工具。发工具。o编程语言类主要利用各种高级语言,通过编程实现游戏编程语言类主要利用各种高级语言,通过编程实现游戏的开发,如的开发,如VC+、C、Java、J2ME、VC.NET、Delphi、VB等。等。o选择游戏开发工具应综合考虑各种因素,可以选择创作选择游戏开发工具应综合考虑各种因素,可以选择创作工具类,也可以选择编程语言类,或者是两者的结合。工具类,也可以选择编程语言类,或者是两者的结合。11.5智能游戏开发方法与开发工具3911.6扫雷机智能游戏开发扫雷机能够自己演化去寻找随机散布的地雷。扫雷机能够自己演化去寻找随机散布的地雷。4011.6扫雷机智能游戏

47、开发o基本方法是用一个神经网络控制一个扫雷机,它的权值用基本方法是用一个神经网络控制一个扫雷机,它的权值用遗传算法进行演化,使扫雷机更聪明。遗传算法进行演化,使扫雷机更聪明。 o可以通过改变左右两个轮轨的相对速度来控制扫雷机向前可以通过改变左右两个轮轨的相对速度来控制扫雷机向前前进的速度以及向左或者向右转弯的角度。因此,选择左右前进的速度以及向左或者向右转弯的角度。因此,选择左右两个履带轮的速度作为神经网络的两个输出。两个履带轮的速度作为神经网络的两个输出。o控制扫雷机的输入信息是扫雷机的视线向量和从扫雷机到控制扫雷机的输入信息是扫雷机的视线向量和从扫雷机到达其最近地雷的向量这达其最近地雷的向

48、量这4个参数。个参数。o选择几个(例如选择几个(例如10个)神经元作为隐层,构成一个三层个)神经元作为隐层,构成一个三层BP神经网络。神经元的非线性函数取神经网络。神经元的非线性函数取S型函数。型函数。扫雷机能够自己演化去寻找随机散布的地雷。扫雷机能够自己演化去寻找随机散布的地雷。4142o现阶段游戏中的人工智能的局限性主要有:现阶段游戏中的人工智能的局限性主要有:o(1)游戏软件的实时性限制了计算量较大的)游戏软件的实时性限制了计算量较大的AI的应用。的应用。o由于专家系统、模糊逻辑、人工神经网络等方法建模的由于专家系统、模糊逻辑、人工神经网络等方法建模的复杂性,这些工具不能很好地求解游戏中

49、的问题。复杂性,这些工具不能很好地求解游戏中的问题。o(2)游戏中角色不是真正的智能体。而骨架动画艺术)游戏中角色不是真正的智能体。而骨架动画艺术创作的复杂度几乎是无限的,甚至是通过动作捕捉技术实创作的复杂度几乎是无限的,甚至是通过动作捕捉技术实现。现有的人工智能技术水平无法与之匹配。现。现有的人工智能技术水平无法与之匹配。o游戏中实现人工智能的主要目的,是为了让玩家产生真游戏中实现人工智能的主要目的,是为了让玩家产生真实的环境的错觉,追求绝对正确。例如,游戏中一个按照实的环境的错觉,追求绝对正确。例如,游戏中一个按照路径规划算法寻路的对手,玩家可能认为它的寻路能力过路径规划算法寻路的对手,玩

50、家可能认为它的寻路能力过于完美,不符合人类真实的情况。于完美,不符合人类真实的情况。11.7人工智能游戏的现状与未来43o计算机游戏不仅是人工智能的重要应用领域,而且是人计算机游戏不仅是人工智能的重要应用领域,而且是人工智能的高效研究平台。利用计算机游戏进行人工智能研工智能的高效研究平台。利用计算机游戏进行人工智能研究相对其他应用领域比较方便而又富有乐趣。究相对其他应用领域比较方便而又富有乐趣。o例如,在机器人等实际应用系统中研究人工智能,首先例如,在机器人等实际应用系统中研究人工智能,首先要解决复杂的底层的检测、识别与控制问题。但在虚拟的要解决复杂的底层的检测、识别与控制问题。但在虚拟的计算

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第11章-人工智能在游戏设计中的应用(导论)课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|