XXXX大学人工智能专题研究游戏人工智能的发展与展望学院计算机科学与技术学院学生姓名学号指导教师姓名2011年12月26日2目录课题研究背景及问题的提出……………………………………………………3一、人工智能及游戏人工智能简介…………………………………………41、人工智能简介………………………………………………………………42、游戏人工智能简介…………………………………………………………4二、游戏AI设计目的…………………………………………………………41、增加游戏的挑战性…………………………………………………………52、增加游戏可玩性……………………………………………………………53、帮助展开游戏情节…………………………………………………………5三、定性与非定性AI…………………………………………………………51、定性的游戏AI………………………………………………………………52、非定性的游戏AI……………………………………………………………6四、现有的一些游戏AI技术…………………………………………………6五、从一些具体的游戏实例中看游戏AI……………………………………71、魔兽世界的一些小AI………………………………………………………72、即时战略强大的AI…………………………………………………………73、战棋类AI和即时战略AI的比较…………………………………………7六、游戏AI的展望……………………………………………………………81、我所希望的游戏AI的改观…………………………………………………82、未来的游戏AI发展…………………………………………………………8七、总结…………………………………………………………………………9参考资料……………………………………………………………………………93课题研究背景及问题的提出1、游戏产业的飞速发展游戏是一项新兴事物,但游戏的发展十分迅速。在国外,游戏开发经历了20余年的风雨,现在已成为一个高技术,高利润和高速发展的行业。在中国,游戏特别是网络游戏,构成了IT行业中新型的利润增长点,中国游戏产业也开始蓬勃发展。由于中国拥有最大数量的游戏玩家和用户,使得中国游戏市场已经成为全球最关注的市场。2、游戏离不开人工智能我们从小就接触了电子游戏,可以说是见证了游戏业的不断发展与进步。我们玩的游戏越来越高级,越来越精彩。从最早的俄罗斯方块,到小霸王,到魔兽,到现在的纷繁的令人眼花缭乱的各种单机游戏以及网络游戏。我们不禁要问:这些游戏吸引我们的是什么,为什么有的游戏经久不衰,令人乐此不疲,一遍又一遍的玩;有的却索然无味,最多玩两遍就不去再碰?毫无疑问,游戏人工智能是极其重要的一个方面。我们最早开始知道游戏人工智能存在应该是在即时战略类游戏中,与电脑操纵的部队进行战斗。在魔兽争霸出现之前,国外玩家就很热衷于与电脑进行即时战略对战,那类的游戏也是各种各样层出不穷。但当魔兽争霸出现后立即占领了市场,因为它允许玩家进行局域网联机对战,也就是说,玩家更倾向于“与人斗其乐无穷”,而不是那些死板的,摸透了的,低级的“电脑”----它们需要进化。可以看出,正是玩家的需求促使了游戏人工智能的前进。3、问题的提出在游戏业长久的发展中,游戏人工智能在不断进步,带给我们一个又一个惊喜。作为一个电脑游戏爱好者以及计算机专业的学生,使得我对游戏人工智能在游戏中的作用,玩家需要什么样的游戏人工智能及未来的人工智能将会是什么样的产生了极大的兴趣。因此我对这方面进行了一些简单的研究。关键字:人工智能游戏AI发展非定性4一、人工智能及游戏人工智能简介1、人工智能简介人工智能(ArtificialIntelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。对有些人来说人工智能的试金石是看他有多接近人类的智慧,认为在此基础上我们必须要创造出有智慧的机器。有人说需要加入道德和情绪等因素才能体现人类的智慧,而其他人则表示光有根据人们提供的解决问题的方法去解决问题的能力是不够的,正真的智能还需要有学习和适应能力。能满足以上所有需求的AI被称为一个健壮的AI,而弱AI则涉及更广的应用及技术,它是为了赋予机器智能的属性。2、游戏人工智能的简介游戏AI是属于弱AI的范畴,是人工智能科学技术领域一个新兴的、活跃的学科分支,是计算机游戏和人工智能相结合的产物。游戏AI的定义是非常广泛和灵活的,凡是能够产生适当水平的智能从而让游戏更加逼真,有挑战性,最重要的是使游戏变得更加有趣的东西都可以被当做为游戏AI。一般说来就是指游戏中,计算机控制的非玩家角色能够模拟人类思维或者显示中的其他生物,表现出一定的智能行为,好的AI使游戏变得更加逼真,更加接近现实。二、游戏AI设计目的游戏中需要智能角色,这一点是可以理解的,因为他们可以增强游戏的体验并且改善游戏可玩性。非玩家角色不必依赖于一个真实存在的人群,便可以使得单人游戏的实现成为可能,并能改善多人游戏的真实感。游戏中需要用能够帮助自己的同伴、足以致命的武器、特定方式的移动、需要战胜的敌群和背景环境来增强游戏的真实感和复杂感,因此智能NPC是必不可少的。当然从客观上来看NPC只需要表现一定水平的人工智能,它并不重视NPC的智能是如何获得的,只要在游戏中看起来是可信的就可以了。在不同的游戏中,玩家AI的期待的目标是不同的。那些街机游戏或者是俄罗斯方块,玩家不希望有太高AI,这种游戏的问题已经固定。而在另外一些游戏中,情况就大不相同了。对于策略游戏,玩家希望敌方的将领能更聪明,不至于太愚蠢;在角色扮演游戏中,玩家希望进入类似现实世界的的虚拟世界,角色的行动也要模仿真人;而在模拟人生这样的游戏中,就不再是NPC的AI了,而是游戏本身的AI,如果AI太差,要么游戏太容易,要么和真实世界差距太大,这个游戏也就没有什么可玩性了。5具体来说,游戏AI可以在以下三个方面起作用。1、增加游戏的挑战性给玩家提供一种合理的挑战是任何计游戏AI的首要目标,如果游戏没有任何挑战性,这个游戏就没有趣味了,就不能称为游戏,而变为一种互动性的电影AI必须给玩家提供一种有趣的挑战,如果没有AI,那么游戏就像和小孩子下棋一样没有意思,计算机游戏的AI的目标就是为玩家提供有意义的挑战。而基本上现在的所有的游戏都会包含不同的难度,如简单、普通、困难、史诗,可以适应不同玩家的需求,超高难度的选项也可满足高端玩家挑战极限的意愿。2、增加游戏的可玩性玩家希望游戏的AI能给自己带来惊喜,希望游戏AI就像真人一样具备不可确定的动作,用不可预测的方式击败玩家或被玩家击败。当然游戏AI目前还不可能像真人一样和玩家进行交流,因此还无法代替现在的网络游戏的社会模拟功能和趣味。如果看电影,小说的开头就能预测到故事的精确结局,那么读着体验作品的很大一部分热情就会丧失,计算机游戏也是如此。如果AI也能使得这些东西变的不可预知,这个游戏就可以获得比其他游戏更高的耐玩性,玩家会重复玩它,直到不在有新鲜感为止。游戏的AI始终要给玩家以各种各样的惊喜,吸引玩家的兴趣比如一些单机游戏中的好感度,声望值等的不同积累,排列组合,可能会对游戏产生众多不同的变数,导致我方反叛,敌方被劝服之类的效果,进而影响游戏的过程及结果。3、帮助展开游戏情节如果只是单纯的字幕叙事将会使得游戏过程乏味单调。利用AI可以让玩家自己体会剧情的变化,情况的转变,事态的紧急等等。比如NPC阴郁的神情,古怪的行为、言语可以激发玩家去寻找答案的动力,带着更大的兴趣去进一步探索游戏。尽管情节是固定的,但这样无疑使得整个过程更加丰富饱满。三、定性与非定性AI1、定性的游戏AI定性:定性的行为表现是具有指定和可预见性的,不含有任何的不确定性。一个简单的追逐算法就是一个定性行为的例子。你可以在代码中设定NPC将要移动到的位置,然后NPC会在坐标上移动到目标位置的X,Y坐标。定性的AI技术是游戏AI的基础。这些技术具有可预见,快速,易于实现、理解、测试和调试等特性。虽然这种技术已经很成熟,开发者还是需要编写数量非常巨大的情节脚本以及各种行为。此外,定性方法是不便于学习和发展的。玩家在玩过一段时间后可以很容易找到游戏的规律,从而影响了游戏的可玩性。62、非定性的游戏AI非定性:非定性的行为正好与定性行为相反。这些行为具有一定程度的不确定和不可预知性(不确定性的程度取决于你是用的AI方法和这些方法的执行情况)。NPC去学习并适应玩家的策略就是一个非定型行为的例子。这种机器学习方法可以使用神经网络算法,贝叶斯算法或者遗传学算法完成。非定性的方法让游戏的不可预测性和不确定性大大增加。另外游戏开发者不用把所有可能的情况全部用明确的编码去实现。非定性方法可以自己去学习和推理,能够自行生产处理突发状况的即时行为,或者自行产生没有明确被指令指示的行为。开发者一直对采用非定性AI持谨慎的态度,而如今这种情况正在发生改变。非定型AI所产生的不确定性是难以测试和调节的-----你无法确定玩家的各种各样的操作会不会让游戏产生愚蠢的行为,因为各种行为是不可预知的。如今游戏开发的周期越来越短,让游戏开发和测试者去指定出判断开发测试是否完成的标准是非常困难的。如此短的开发周期使得开发者没办法去全面的了解AI技术和认清AI对一个市场巨大的商业游戏的影响。至少直到最近,另一项限制游戏AI发展的因素是,开发者把过多的注意力放在了图像质量上。事实证明,我们不应该仅仅专注于开发包括硬件加速在内的更好更快的图像技术,还应把一部分精力放在发展更好更先进的人工智能技术。事实上,随着生产下一代可玩性更高的游戏的压力不断增加,越来越多的开发者开始去探索与研究非定性技术。四、现有的一些游戏AI技术也许使用最广泛的游戏AI就是欺骗了。比如在一个战争策略型游戏中,电脑控制的军队不用放出侦查兵等东西就能够知道其对手也就是玩家操纵的军队的位置、数量、兵种等一系列的信息。这种形式的欺骗是非常常见的,这样有助于电脑智能的与玩家进行对抗,使得玩家感觉AI是很聪明的,拥有较强的战术性。此外,不遵守平衡原则的欺骗将使得电脑过于强大,以至于玩家无法战胜电脑。这种欺骗让玩家觉得他的所有努力都是徒劳,这必将让玩家失去对游戏的兴趣。因此欺骗必须要是平衡的,来保持游戏趣味性。当然,欺骗不是唯一行之有效的人工智能技术。优先状态机也是一种无处不在的游戏AI技术。,但其基本的思想是枚举一系列可控制游戏角色的动作或状态,然后使用if-then条件语句来对这些状态进行转变。开发者通常使用模糊状态机以减小结果动作的可预见性,并减少枚举大量if-then规则的负担。你不用去定义一个精确的规则,比如在距离=10,健康度=100的情况时然后才进行攻击,模糊状态机将允许你制定一个具有不精确的条件的规则,例如你只需规定在接近并且健康的情况下然后进行攻击,而到底多接近,健康度是多少这些可以不用精确的定义。在各种各样的游戏中,高效的寻路是NPC要完成的一个基础的任务。在一个战争策略游戏中,一个NPC单位需要完成越过地形和躲避障碍物去接近敌人的行为。在一个第一人称射击类游戏中,被射击的生物,需要穿越地牢或建筑以完成接近或逃离玩家控制的人物的行为。这种脚本情节是非常大量的,这难怪AI开发者对寻路算法给予了极大的关注。这仅仅是游戏AI技术的一小部分,其他技术还包括插入脚本,规则系统还有一些智能生命技术。7五、从一些具体的游戏实例中看游戏AI1、魔兽世界中的一些小AI比如在魔兽世界中有护送任务,NPC往目标地点缓慢行走,玩家在旁跟随保护直至任务完成。而中途在左、右或前方一段距离突然出现敌人后,该NPC会奔跑过去进行战斗,而令人窝火的是,战斗完后NPC并非从战斗的地方继续前进,而是跑回到之前走路的位置再继续缓慢走。这应当是因为给NPC划定了一个严格固定的路线,而不是在起