游戏AI------**1•一、电脑游戏和游戏AI•二、游戏AI的系统结构•三、游戏AI技术•四、游戏AI的设计原则•五、游戏AI的未来2一、电脑游戏和游戏AI•电脑游戏中的人工智能从功能上可分为:•个体智能系统•群体智能系统3•个体智能系统:•主要控制游戏世界中虚拟人物的活动,它们在游戏中充当非玩家的各种角色,包括玩家的敌人、合作伙伴和其它人物角色等。对于这些类型的实体,要想比较真实地对它们进行模拟,必须通过人工智能控制它们的行为符合它们各自特定的身份。•群体智能系统:•则主要为某个系统的多个个体或者环境活动提供控制和辅助决策。例如,战略游戏中的战斗形势判断、整个战斗策略推理、各个战斗部队调动等。4二、游戏AI的系统结构•一个游戏AI系统可以分为以下几个部分:5三、游戏AI技术•常见的游戏AI技术包括以下几种:•1.有限状态机•2.脚本语言•3.模糊逻辑•4.决策树•5.神经网络•6.遗传算法6有限状态机计算机游戏中应用普遍的人工智能模型。在游戏中可以构成管理游戏世界(Gameworld)的基础,模拟NPC的情绪状态,维持游戏的状态,分析玩家的输入,或者管理对象的状态。7吃豆游戏《Pac.Man》中Ghost的有限状态机实例:状态机可以用状态转移图的方式描绘。其中的节点表示不同的状态,不同状态之间由于触发条件而发生转换8脚本语言•脚本语言是一种解释性语言,通常用于控制游戏中的AI模式。•它在游戏中可以驱动事件、为非玩家角色的智能行为建模、实现某些任务的自动化等功能。9几种脚本:JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua10模糊逻辑•该方法采用实数值来表示对象属于集合的程度。•与传统逻辑相比,模糊逻辑的表达能力更为丰富和细致,因而能够进行更好的推理.它常用游戏中的战略决策,输入输出信息的过滤,非玩家角色的健康状态计算以及情绪的状态变化等。11模糊逻辑的简单应用:•模糊逻辑通常使用IF/THEN规则•例如,一个非常简单的使用风扇的温度调节器:•IF温度IS非常冷THEN停止风扇•IF温度IS冷THEN减速风扇•IF温度IS正常THEN保持现有水平•IF温度IS热THEN加速风扇12决策树•决策树一般都是自上而下的来生成的。每个决策或事件(即自然状态)都可能引出两个或多个事件,导致不同的结果,把这种决策分支画成图形很像一棵树的枝干,故称决策树。•树决策树类似于一系列IF-THEN形式的条件判断。这种技术在游戏中可用于分类、预测和学习。1314神经网络•神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。•在游戏中,神经网络可用于分类、预测、学习、模式识别、行为控制等。15遗传算法•遗传算法是近年来发展起来的一种崭新的全局优化算法。•它借用了仿真生物遗传学和自然选择机理,通过自然选择、遗传、变异等机制,实现各个个体的适应性的提高。•从某种程度上说遗传算法是对生物进化过程进行的数学方式仿真16遗传算法通用实现过程:•(1)对待解决问题进行编码;•(2)随机初始化群体;•(3)计算群体上每个个体的适应度值:•(4)评估适度,对当前群体中每个个体计算其适应度:•(5)按预定的选择算子产生后代;•(6)对后代进行交叉操作;•(7)对后代进行变异操作;•(8)判断是否满足停止条件,满足转第3步,否则进入9;•(9)输出种群中适应度值最优的个体。•这种技术试图直接模拟生物进化过程,在一系列的程序、算法和参数之间作出选择,杂交以及随机的变异和交叉。在游戏中,可用于优化、学习、策略形成,行为进化等方面。17四、游戏AI的设计原则•1.基于个人体验进行渐进式的设计•2.使游戏AI具有灵活性和开放性。•3.平衡性•4、区分个体智能和群体智能•5.简洁性181.基于个人体验进行渐进式的设计•在设计游戏AI时,应根据自己玩游戏的想法去初步设计出游戏人物的各种决策和行为,并实现一个大致可以运行的系统,然后让游戏角色和玩家对抗,并通过不断重复以下步骤完善游戏AI:•游戏角色做了什么“蠢事”?•如果是人会怎样做?•是哪些信息使电脑角色做了这些“蠢事”?•重新设计游戏AI。•通过这样不断尝试和反复修改,使游戏AI具有相当的真实性和自然性192.使游戏AI具有灵活性和开放性。•如在战略游戏中,当游戏角色进攻敌人时,会采用以下规则:•若只有一名可以攻击到的敌人,则目标就是它;•若有数名可以攻击到的敌人,那么选择最弱的一种;•攻击后,考虑到会陷入多少敌人的攻击范围中;•游戏AI能根据不同游戏角色的个性对上述规则排序,确定决策行为。203.平衡性•平衡性包括真实性和娱乐性之间的平衡、挑战性和娱乐性之间的平衡。•游戏AI需要真实,玩家在游戏中的一举一动都希望尽可能地贴近现实生活•游戏AI需要在挑战性和娱乐性之间找到平衡,因为有相当一部分玩家是为了放松而玩游戏。214、区分个体智能和群体智能•游戏AI应能合理地区分个体智能和群体智能•例如足球游戏:•当球队进攻时,对于有球队员来说,它在每一瞬间是带球突破,还是射门,还是传球,都会受到游戏AI的控制。如果游戏开发时只注重个体AI,则队员不会传球,则在一定程度上会失去群体运动的意义。而合理的情况应是每个球员能较为聪明合理地分析球场上瞬息万变的赛况,通过不断分析,并迅速地调整它的行为而得以使比赛向更有利的方向发展。群体运动游戏更注重群体智能的开发,它赋于游戏人物在不同场景和不同群体的情况下的总体思考能力。225.简洁性•游戏AI的简洁性是指用尽量少的资源去造成游戏智力水平高超的假象。游戏AI在实现时,算法越复杂,计算越多,处理器的压力就会越大,从而会降低游戏中动画帧的刷新频率,并拖累AI的活力和整个游戏的吸引力。23五、游戏AI的未来•游戏AI的大事就是“学习”。•游戏上市后,所有非玩家角色的行为,不再事先安排,游戏玩得愈久,游戏就会更多地演化和学习,更具适应性。•这样的游戏会跟玩家一起成长,玩家也难以预测游戏行为,因此就能扩展游戏的生命周期。游戏会学习并演化,造就了本身无法预测的本质,很显然,这让AI开发者带着相当大的惶恐去探索“学习”技术。24