2022年游戏引擎中智能角色研究报告

上传人:无*** 文档编号:117332725 上传时间:2022-07-08 格式:PDF 页数:8 大小:106.58KB
收藏 版权申诉 举报 下载
2022年游戏引擎中智能角色研究报告_第1页
第1页 / 共8页
2022年游戏引擎中智能角色研究报告_第2页
第2页 / 共8页
2022年游戏引擎中智能角色研究报告_第3页
第3页 / 共8页
资源描述:

《2022年游戏引擎中智能角色研究报告》由会员分享,可在线阅读,更多相关《2022年游戏引擎中智能角色研究报告(8页珍藏版)》请在装配图网上搜索。

1、个人资料整理仅限学习使用游戏引擎中智能角色的研究【摘要】本文对游戏引擎的产生做了简要的介绍,并分析引擎发展史上人们对智能的外在表现形式的界定,通过分析得出了智能是以感觉器官为基础、以真实可信为原则的结论。通过分析角色,得到分析游戏中的智能主要集中为分析游戏中单个角色的智能的结论。再研究了现有的普遍智能技术的实现方法,逐步深入,又分析了已有的研究成果和不足之处,在此基础上,提出了改进方法,构造了非玩家角色的结构,并分析了该结构的优缺点。【关键词】游戏引擎,智能,角色引言游戏古来有之,一些简单的规则,哪怕是普通的追逐,都可视之为游戏。运动类游戏,比如跳皮筋、踢毽子、打球、放风筝;智力游戏,比如猜谜

2、语、下棋;娱乐游戏,比如玩风车、斗蟋蟀、捉迷藏;角色扮演游戏,比如过家家。我们在游戏中成长,学会了生活技能,锻炼了身体素质,训练了四肢五官,建立了健康的心理,而不仅仅作为娱乐消遣的手段,不再是消磨时间和浪费精力。随着社会的发展,人们正视了游戏,游戏已成为儿童教育的重要手段。随着计算机和网络的普及,虚拟社会与现实社会的界限越来越模糊,游戏,特别是网络游戏的应用越来越广,如企业培训、社会教育、军事虚拟、现实仿真等等。游戏已然成为一个行业、商业和领域。无数有志之士已投身网络游戏的行列。1游戏引擎的介绍1.1 引擎的定义不管用什么语言编什么样的游戏,初始化,游戏循环,渲染画面,输入处理等等,都有这样的

3、类似过程。刚开始的游戏简单粗糙,开发周期短,重复的过程和代码构不成多大的不便。随着技术的进步,人们对游戏质量和内容需求上的增高,游戏开始复杂化,精细化,由之前的几个月的开发周期,变成几乎要好几年的时间。每款游戏都要从头编码造成了重复劳动。于是代码复用的思想产生了。为了将前一款游戏的代码复用到之后的游戏中,将通用性的部分抽出重新利用,这样大大缩短了之后的开发周期和开发成本,引擎的概念也从此产生。“引擎”一词来源于机器工业,它表示其在整个系统中的核心地位,相当于游戏的框架。无论是 2D游戏还是 3D游戏,无论是角色扮演游戏、即时策略游戏、冒险解谜游戏或是动作射击游戏,哪怕是一个小游戏,都有这样一段

4、起控制作用的代码。框架打好后,管卡设计师、建模师、动画师只要往里填充游戏相关内容就可以了。经过不断的进化,如今的游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节。1.2 引擎的发展方向一款游戏要吸引玩家,情节、趣味性、真实性以及画片表现力等许多方面需要考虑。目前游戏引擎发展有几个方向:图象渲染、网络通信和人工智能(Artificial Intelligence,AI。随着游戏画面的表现力逐渐增强和诸多渲染技术的完善,还有人工智能技术的不断进步,更加真实可信的

5、人工智能是大势所趋。1.3 引擎的发展史及智能的表现形式游戏引擎发展史上,代表性的有Quake、Unreal10。Quake是第一款真正意义上的三维游戏引擎,支持射击类游戏,Unreal有强大的画面表现力,是使用最广的一款引擎。从人工精选学习资料 -名师归纳总结-第 1 页,共 8 页个人资料整理仅限学习使用智能上来说,Valve公司在 Quake的基础上改进了智能部分,开发了半条命游戏,使敌人的行动与以往相比有了更多的狡诈,不再是单纯地扑向枪口,再加上情节元素,使得这款游戏经久不衰。人工智能方面真正取得突破的是Looking Glass工作室的神偷:暗黑计划,这款Dark引擎使游戏中的敌人可

6、以根据声音辨认方位,能分辨出不同地面的脚步声,在不同的光照环境下有不同的目力,发现同伴的尸体会进入警戒状态等等。之后的引擎发展依旧追求着真实的画面和真实的内容,比如Geo-Mod引擎,这是第一款可任意改变几何体形状的3D引擎,可以使用武器在墙壁、建筑物或任何坚固的物体上炸开一个缺口,穿墙而过,或者在平地上炸出一个弹坑躲进去。值得注意的是,Geo-Mod引擎的另一个特点就是高超的人工智能,敌人不仅仅是在看见同伴的尸体或听见爆炸声后才会做出反应,当发现留在周围物体上的痕迹如弹孔时也会警觉起来,他们懂得远离那些可能对自己造成伤害而自己又无法做出还击的场合,比如受伤的时候他们会没命地逃跑,而不会冒着生

7、命危险继续作战。2智能角色分析2.1游戏中智能的真实性与感官能力从游戏引擎的发展历程来看,人工智能主要体现在射击类游戏中,并且是以真实性为评价标准的。半条命是典型的第一人称射击类游戏,神偷虽不是射击类游戏,但射击类游戏是发现敌人并消灭,偷窃类游戏是发现敌人但躲避,只是行为反应不一样,本质上还是一样的,Geo-Mod引擎的应用红色兵团也是射击类游戏。从这些含智能成分的游戏来分析智能的内容,敌人的智能就是能听到并辨别声音、能不同环境有不同的目力、能分辨子弹和尸体甚至弹孔、能进而攻击、退而逃跑、掩护的障碍物被炸掉后能找下一个掩护场所、受了伤能去捂伤口,甚至能与同伴协作采取战术和策略等等。这些智能成分

8、都是以真实性为依据和出发点的。对于这种射击类游戏,智能通常分为行为、机动、动作和战斗4部分。行为,决定了角色的现有目标,并负责与其他角色通信来共同完成目标,比如闲逛、警戒、战斗、逃跑。机动,控制角色如何在游戏中移动,比如避开障碍物、跟随别的角色、如何在复杂的环境中找到通向目的地的路径,它不决定去向为何处,而负责如何到达目的地。动作,指角色的身体动作。战斗,控制角色当前的战术状态和选择,比如瞄准、开火以及武器选择。而这些都是以视觉、听觉、触觉等感知能力为前提的。对于其他类型的游戏,比如实时战略类游戏,更需要的智能是如何合理分配资源、地形勘测、人员调配、作战策略、团队协作。某种程度上而言,实时战略

9、类游戏的智能水平要求更高,如果射击类游戏偏向于个人,实时战略就偏向于团队化、社会化。其他类型的游戏,人工智能方面要求相对较低,比如角色扮演类游戏,游戏逻辑、华美的界面和玩家间的互动所占比例更重,而在智能方面,实现技术以相对较简单但且形式灵活的脚本来执行已经足够。2.2游戏中角色的生命力角色在游戏中是指有生命的虚构的人物、动物或者其他生物11,乃至于机器人或是物体。以游戏 Quake为例,游戏包括静态对象和动态实体。静态对象比如墙、地板、水、天空等,其形态位置是固定不变的。动态实体比如玩家、怪物、窗户、桶、物品、开枪后的火花,这些在 Quake2世界中的形态是可以改变的,怪物可以移动,窗户可以被

10、打碎,桶可以爆炸、物品可以被捡起、火花是可以瞬间产生并发展消亡。这些动态实体都可以产生、消亡,都有自己的游戏生命,但这与角色定义中的“生命”是不同的。角色中的“生命”是指生命精选学习资料 -名师归纳总结-第 2 页,共 8 页个人资料整理仅限学习使用力,是指有思想,只有玩家和怪物是符合角色定义的。同理,窗户如果加入思想成分,比如能自我决定是开还是关,能思考,也可以成为角色,只是外部形态不属于动物范畴而已。只要有思想,游戏中的角色可以以任何外形形态出现。2.3游戏智能体现为单个角色的智能以上分析可以看出游戏中的智能成分几乎都是体现在游戏的角色身上的,要研究开发游戏中的人工智能,主要研究的内容就是

11、游戏中角色的智能水平,特别是单个角色的智能。射击类游戏是以个体角色智能为主,实时战略类游戏以团队智能为主,其实本质一样,团队由个体组成,都可以化为单个智能。比如,可以在团队进行角色分工,有领导者和被领导者,就算他们的思考能力和智力水平不一样,但他们之间可以以消息的方式发命令或请求进行协调。或可以将之前作宏观调控的“司令部”作为一个智能角色。3游戏智能技术的分类技术3.1定性和非定性10 从表现结果来看,游戏智能技术通常分为2类,定性和非定性。定性行为或表现是特定的,而且可预测,没有不确定性。与定性行为相反,非定性行为有某种程度的不确定性,有点不可预测。比如,让非玩家角色学习适应玩家角色的作战战

12、术,可以通过神经网络或遗传算法得到学习能力,而具体的学习结果是不可预料的。定性技术由于结果可预测、效率高、容易实现且方便调试,但要明确写出所有的行为,都要靠开发者完成,且行为有限。非定性技术能促进学习,开发者只需让角色自行学习,不用明确指出所有行为反应,角色的生命力更强,更智能化,但由于不可控,不方便调试和开发。3.2工程学方式与拟人化方式10 从实现手段上来看,也有2种方式。一种是采用传统的编程技术,使系统呈现智能效果,也叫工程学方法,比如有限状态机和规则式方法,采用大量的if then控制语句。另一种是拟人化方法,不仅要求效果上智能,还要求实现方法也和人类或动物机体所用的方法相同或行类似,

13、比如遗传算法和神经网络,遗传算法模拟生物的遗传-进化机制,神经网络模拟人类或动物大脑中神经细胞的活动方式。工程学方法需要认为规定详细的程序逻辑,随着游戏逻辑的复杂,程序控制也越来越复杂,后一种方法只需要为角色设置一个智能系统来控制,在游戏过程中,这个智能系统可以自行学习,应对变化的世界和复杂的情况。根据心理学的研究,人的行为产生过程是一个感知-决策-行动的循环,智能角色可以感知所处环境的变化、并结合自身状态和已有知识做出决策,采取适当的反应行动来应对环境变化。所以,拟人化角色的自主、可信的智能行为是由对虚拟环境的感知和行动所支持的。4现有引擎中智能角色的实现方法4.1普遍的方式4.1.1世界导

14、航移动能力是角色的基本能力。但让角色从世界一点走到另一点的行为看起来非常信服是一件非常困难的事情,需要有局部世界的地理知识,也需要世界中的对象的知识,尤其是其他人的位置。世界导航通常被分为两个领域,全局导航和局部导航。导航寻路的算法也有很多种,比如追踪算法、障碍物躲避算法、面包屑寻路法、A*算法等等。全局导航一般采用A*算法,在世界地图中标示出一些路点,以图论为基础抽象出节点,以遍历图的方式找出2个节点之间的最优路径。计算出全局的最优路径后,还要根据路途中动态出现的障碍物,或是根据真实可信的原则修改优化路径。这些优化方法又有多种方式,比如空间划分、导航网格、路径的平滑修饰等等。这些是以全局知识

15、为基础的,是程序员根据全局数据帮助非玩家角色在行为上看上去真实精选学习资料 -名师归纳总结-第 3 页,共 8 页个人资料整理仅限学习使用,属于工程学方式。4.1.2有限状态机与基于规则系统8 普遍使用的智能技术一般离不开有限状态机和基于规则的系统。有限状态机是将问题分解成有限个状态,在某一时刻总是处于其一种状态,在输入条件刺激下,可以转移到新的状态。比如在巡逻状态听到子弹的声音就进入警戒状态,看到敌人就进入战斗状态。每个状态都有用于执行状态相关的行动。有限状态机原理简单,使用面广,易于实现、理解和调试,接近人类的正常思维习惯,甚至有些脚本语言在语法上都支持有限状态机,所以应用非常广泛。基于规

16、则的系统实质上是一组if then 语句,按照规则编码。基于规则的系统有3个组成部分:工作存储器、规则库及解释程序。工作存储器是一组关于环境的事实,包含一些符号。规则库就是 if then 规则。解释程序是从当前条件得出结论的过程,可以根据条件使用规则直到出现结果,为前向推理,也可以根据一组假设开始推理返回到当前状态,为后向推理。通常规则都不太复杂,也比较利于调试。这类智能技术结果比较能够预测,属于定性的人工智能技术。4.1.3不足在紧张的开发期限和有限资源的压力下,很多开发人员都倾向于采用基于规则的系统、有限状态机、决策树、产生式系统这类最容易编写、理解和调试的智能技术。这种传统的方法多采用

17、定性的技术和工程学方式。程序员写智能代码时,会在游戏中统筹思考智能的实现,然后编写代码,不断的运行调试,发现角色表现的比较傻时,会想办法改进代码,使角色看起来更聪明一些,智能的实现就是不断的修改代码。然而这些不是游戏角色的思考,而是程序员的思考,聪明的角色也只是程序员聪明想法的体现。授人以鱼不如授人以渔,教游戏角色如何做,不如给角色一个大脑,教角色自己思考,也就是采用拟人化的方式。虽然“渔”比“鱼”更复杂,但可以一劳永逸,解决根本性办法。现在虽然“渔”的方法不成熟,但也有许多人工智能和游戏开发之志士致力于此。4.2专项智能技术的研究9 为了使角色有更强的生命力和适应力,有许多开发人员已经着手研

18、究更深层次的智能技术,比如学习能力。在游戏初始化的时候建立适应性智能角色的初始智能,并建立角色的在线学习机制,在游戏循环的过程中,进行在线学习,从而调整角色的智能水平。普通的设计方式是将智能和引擎的其他部分比如物理模块、行为模块糅合在一起,耦合度比较大。若要进行人工智能技术的改动和比较研究,则代码改动比较大。所以这里产生出一种需求,需要将智能部分自成一体,减少耦合。4.3智能化系统随着对游戏中智能越来越多的关注,也有人提出了仿生机器人系统。这里的仿生机器人也就是游戏中的非玩家角色。这个系统模拟人的生理结构,分为大脑、路径规划系统、掌控系统、感知系统、目标系统、火控系统。大脑有一个仲裁机制,用来

19、时刻判断当前的各种情况并决定应该做什么事情,在这个系统中,当外部有消息传进来后,也是由大脑进行处理;掌舵系统负责每一次移动的步伐大小和方向;路径规划系统专门负责路径的计算;感知系统负责对周围环境进行感知,提供查询地面生物和地图障碍物信息;目标系统负责目标的选择、锁定和目标状态的更新;火控系统负责武器的选择和对目标的攻击。仿生机器人类图如图110。精选学习资料 -名师归纳总结-第 4 页,共 8 页个人资料整理仅限学习使用RobotFireControlSystemGoal_Think(Brain)Goal_CompositeGoalSteeringPathPlannerTargetSystem

20、SensoryMemory1111111111111图1 仿生机器人类图图1中,仿生机器人Robot是其他各个子系统的组合体。除了同子系统交互,还有Update(接口,由游戏的主循环调用,从而运行机器人系统,在Update接口中,继而调用各子系统。这个系统将游戏角色的各个模块集合成一个体系结构,思想值得借鉴。但他以机器人为中心,将引擎中较底层的功能接口也分散纳入到机器人各个子系统之下,可以进行进一步的改进,将机器人系统和引擎间的分工合作关系分离的更明晰一些,而不是简单地将各模块组合。5非玩家角色系统的改进与实现一般在引擎中已经有基本的角色位置、朝向和动画序列的调用功能,有局部移动和自动播放动画

21、帧的能力,在针对智能角色的智能设计时可以直接利用这些接口。至于全局导航,涉及到程序员的思考,因此不予采用。5.1结构设计将非玩家角色的结构设计为3个部分:1.角色的身体部分。智能角色与游戏环境打交道,是通过身体的触觉视觉来感知,并在环境中移动、动作。所以身体接口必须提供了一套接口,用以输入和输出。从信息流动角度上看,有两种接口,传感器和效应器。传感器从周围环境获得信息,效应器使大脑能控制角色根据外部情况做出动作。从功能分,又分为武器接口、运动接口、物理接口等等。这些接口的实现以引擎的功能为基础,通过引擎的现有功能来实现。2.功能模块部分。模块是身体接口后面的实现内容。它是人工智能技术基本的执行

22、部分。许多人工智能技术有相似的功能,例如模式识别,可预见性,函数逼近等。这些功能可以被表示为一个简单的模块,但通过不同的方法来实现。除了智能模块,还有使角色能与玩家游戏的最基本的功能模块。比如视觉模块提供的接口可以目测前方障碍物的距离、周围一定范围内是否有障碍物。武器模块允许查询武器的状态,可以更换、丢弃或使用武器。运动模块能够执行前进、后退、转弯等动作。物理模块允许智能角色查询自身所处环境的状态。这些模块是通过身体部件的接口功能进行更深层次的实现。模块之间可以通过接口相互调用,完成更复杂的功能。由于通过接口实现的松耦合,可以用相同功能和接口的模块来实现模块替换。3.大脑模块部分。角色的功能模

23、块以组件的形式形成体系结构。通常体系结构的源头就是非玩家角色的大脑。游戏引擎的实现中,除了游戏初始化,其余时间都在游戏的循环过程中。每一次循环,引精选学习资料 -名师归纳总结-第 5 页,共 8 页个人资料整理仅限学习使用擎会遍历每个游戏对象,对于玩家,会接收玩家的输入并进行画面显示,对于非玩家角色,也会调用一个函数以更新非玩家角色的位置状态等信息。对于升级为智能型的非玩家角色,这个函数可以称为“思考”。思考过程就由大脑模块来完成。因此,在游戏世界的时间轴上,每次游戏的运转都会调用非玩家角色的think 函数,然后大脑动用一切可用的视觉、触觉等功能部件,实现自我控制,完成智能过程。3个部分的结

24、构如图2所示,除了身体模块和大脑模块,其他的模块都属于功能模块部分。图2 结构设计图大脑模块的 think接口是由引擎在循环过程中调用的,最简单的大脑的思考过程,比如简单移动,可以表示如图3:查看障碍物IsBlock()视觉模块是否存在移动Walk()运动模块转弯Turn()运动模块可自定义移动条件StopStart是否图3最简单的思考过程流程图思考过程中,先利用视觉模块的IsBlock(接口“看看”周围是否有障碍物,这个过程中可能会用到物理模块的接口查询周围的环境状态,再根据视觉感觉到的结果来运动,这个运动有可能是 Turn(接口转弯,或Walk(接口移动等等。也可以随自己的需要,加上别的智

25、能功能模块,如图4所示:图4加入其他功能模块的结构设计图这个智能模块可以以任意智能方法来实现,该模块提供接口给大脑使用。比如这个模块是个表决系统,可以辅助大脑下决策。还以移动为例,思考过程如图5所示:精选学习资料 -名师归纳总结-第 6 页,共 8 页个人资料整理仅限学习使用查看障碍物IsBlock()视觉模块运动模块转弯Turn()运动模块移动Walk()可自定义移动条件StopStart运动决策Stop智能表决模块图5 加入智能模块的思考过程流程图加入智能表决模块后,在感觉器官搜集到角色周围的信息后,进行表决,根据表决结构来进行运动相关策略,是移动、是转弯还是停止。决策判断后,调用运动模块

26、进行相应的动作。5.2事件与消息传送机制游戏中当有敌人开枪或有爆炸或中弹受伤或死亡或捡物品等,很多时候会发生一些突发事件,或者多个智能角色组成一个团队,他们互相之间需要通信,此时都需要改变非玩家角色的行为,所以需要一个事件与消息传送机制将这些消息传递到组成角色的各个相关组件中去。具体实现可以在身体部件实现一个统一的接口,在具体的功能模块中实现消息响应函数。在发生事件时,将信息打包成不同类型的消息,通过身体的统一的接口函数发送给非玩家角色,身体部件将消息广播给各个功能模块,接下来的消息传送就靠组件之间来传递完成,每个模块检查是否是自己感兴趣的消息,遇到有对应消息的处理方法,则调用相应的响应函数。

27、比如可以完成一个表情模块,处理表情的变化,假如收到敌人死亡的消息,可以立即反应成奸笑的表情。6总结与展望通过这种基本结构和感官模块的建立,采用感知-决策-行动这种拟人化的行为方法,让角色自己搜集周围的环境信息,自己主动去分析,并立即反应出合理的动作,是真实可信的。采用这种结构,不需要程序员统筹规划智能行为,使智能角色就算放到一个新的环境,也能很快熟悉环境,进行合理的动作。这种模块化的方法以组件的形式出现,可以以相同功能相同接口但实现方式不同的组件替代实现,比较方便智能化的开发实现和调试。目前的工作只是有了这种结构形式的构想,对于具体的结构内容和接口没有形成固定的模式,每个人都可以以自己的方式进

28、行组装,不够规范化。如果能规范化功能模块和接口,交流、学习、研究将更为方便。参考文献1Eric Freeman,Elisabeth Freeman,Kathy Sierra,Bert Bates Rabin.Head First Design PatternM.O Reilly,2004.2Alex J.Champandard.AI Game Development:Synthetic Creatures with Learning and Reactive 精选学习资料 -名师归纳总结-第 7 页,共 8 页个人资料整理仅限学习使用BehaviorsM.New Riders Publishi

29、ng,2003,10.3Steve Rabin.AI Game Programming WISDOMM.Thomson Learning,2005,1.4 David M.Bourg,Glenn Seeman.AI for Game DevelopersM.OReilly,2004.7.5 梁白鸥,陈雷霆.网络游戏中移动同步问题的解决方案J.计算机应用研究,2007,5.6 坂本千寻著,博硕文化译.Visual C+角色扮演游戏程序设计M.中国铁道出版社,2004.7http:/ 任巍.人工智能技术在计算机游戏软件中的应用.西安电子科技大学硕士研究生学位论文,2006.2.9 王晓哲.3D游戏引擎框架及智能角色行为策略研究.大庆石油学院硕士研究生学位论文,2007.3.10胡俊.游戏开发中的人工智能研究与应用.电子科技大学硕士研究生学位论文,2007.4.11石磊.射击类三维游戏引擎的研究与开发.华侨大学硕士研究生学位论文,2007.4.精选学习资料 -名师归纳总结-第 8 页,共 8 页

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!