资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
人工智能在游戏中的应用,2013/5/19 延边大学计算机系本科毕业论文答辩,学生姓名:王晓宇 专 业: 数字媒体技术 指导老师:金小峰 副教授,国内外研究现状,游戏开发环境和机器人足球策略,游戏框架设计与攻守算法设计,游戏运行结果与分析,4,1,2,3,Contents,结论与参考文献,5,1.1人工智能在游戏中的应用,国内外研究现状,游戏出现的早期,如上个世纪70年代之前的游戏,由于计算机硬件设备水平的限制。游戏的画面表现力很有限,游戏中的角色、物体往往是以一些符号、色块来表示。游戏中的物体通常没有任何的过程性控制,而是根据特定的简单规则运动1。例如第一个电子游戏Pong,它是由Atari公司于1972年开发的一款类似乒乓球的游戏,游戏中的“智能”仅仅只是当乒乓球到达屏幕边缘时按照镜面反射路线被反弹回来而已。,上个世纪80年代之后,一些业务型控制台和家用控制台游戏机出现,游戏的视觉表现能力和娱乐性得到了显著提升。例如任天堂公司于1985年出品的著名横版过关游戏超级马里奥兄弟,游戏中包含了许多以二维画面表示的各种各样的角色和物体,已经表现出了一定的智能行为。在游戏的开发过程中,一些开发人员发明了能够被特定类型的游戏使用的一些简单但高效、巧妙的算法,这些算法在业界内被广泛的流传,例如目标追踪与躲避,沿着特定的路线巡逻等等,一些方法甚至沿用至今。在这个阶段,角色的运动往往是按事先准备好的路线移动,玩家在多次玩同一个游戏的同一关后,往往会自觉或不自觉地总结出NPC的行动规律。然而,由于当时的画面和音效的也非常简单,这种总结规律的过程也成为了游戏的乐趣之一。这使得当时的游戏开发厂商和玩家都没有强烈提升游戏中AI水平的内在需求。,到了90年代后期,游戏中的3D图形技术被越来越广泛地应用。游戏的视觉表现力得到空前的提升,自由度和互动程度得到进一步提升,游戏中的虚拟世界日趋复杂,使得玩家对游戏性的要求越来越高。游戏设计人员也逐渐认识到人工智能技术在游戏中的重要性。相对简单的专一化的算法己无法满足日趋提高的要求,一些在计算机学科的成熟的数据结构和算法,例如图论、优化算法等,在计算机游戏中被大量应用。,1.2人工智能算法在游戏中的改变,游戏中的人工智能的开发和运用,不仅只是人工智能算法理论上的改进和实现,更是要将一个看上去合理的行为呈现给玩家。主要原因有以下几点:,游戏软件的基本需求之一的实时性限制了大计算量算法的应用。 来自于人工智能学科本身的发展的限制。 游戏中的角色并不是真正的智能体。 游戏中实现人工智能的主要目的,是为了让玩家产生真实的环境的错觉,并不是为了使求解问题的性能度量最大化,游戏中往往需要刻意的让NPC犯错。,国内外研究现状,1.3机器人足球比赛,足球是一种大家非常喜爱的运动。让机器人去踢足球,听起来像是天方夜谭。现在的足球机器人还没有能够做到像我们人一样运动。据科学家估计,再等上五十年,即2050年左右才能达到在一个真的足球场上,像我们人类一样的比赛规则,一样的条件下进行比赛的程度。到那时可能电视转播的体育节目中不仅仅只是人与人的比赛,也会出现人与机器人、机器人与机器人的比赛。当然,这是猜测,到目前为止,现实中在国际上最具影响力的机器人足球赛事组织有FIRA国际机器人足球联合会和ROBOTCUP3国际机器人足球世界杯赛。,国内外研究现状,2.1游戏开发环境介绍,制作游戏首先需要考虑游戏的运行平台、开发平台、开发环境、开发语言、游戏引擎,引擎辅助工具。,游戏开发环境和足球策略,运行平台就是游戏在什么操作系统上运行。iOS是如今炙手可热的移动平台,我选用了它作为游戏的运行平台,它是由苹果公司开发的手持设备操作系统,最早于2007年1月9日的Macworld大会上公布。其最初设计是用于iPhone,后来陆续沿用到iPod touch、iPad以及Apple TV等苹果产品上。,IOS的开发平台主要有:MAC OS和windows OS。我选用MAC OS作为开发平台。它是苹果电脑公司为Mac系列个人电脑开发的专属操作系统,是全球第一个在商用领域成功的图形用户界面操作系统。,开发环境(Software Development Environment,SDE)是指在基本硬件和宿主软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件。IOS的开发环境主要是Xcode4。,我使用的是Cocos2D,它一个开源框架,主要用于构建2D游戏、演示程序和其他图形界面等交互应用。Cocos2d-iPhone是基于 GNU LGPL v3 license的。,CocosBuilder的功能主要有两个,一个是Cocos2D下简单快速进行精灵,层,场景布局。另一个是动画编辑,2.2基于敌方信息的足球策略,作为一款游戏,玩家自然是最重要的,因此我选择了基于敌方(对于电脑而言的敌方就是玩家所控制的那一方)信息的足球策略作为这个游戏的参考。,游戏开发环境和足球策略,3.1游戏主框架,游戏框架设计,游戏也好、应用程序也罢,与平时作业、考试中的程序不同,它们本身就是一个巨大的死循环,再由界面、菜单、场景等大小不同的死循环互相嵌套、互相包含、互相影响最终构成整个程序。本章就由最大的死循环开始,向内介绍我做的这款游戏的框架。,按钮摇杆,3.2游戏的问题与改进,游戏框架设计,在游戏制作之初,我使用了Box2D这个物理引擎,构建了刚体,定义了旋转、移动等动作。完全仿造微型机器人足球,制作了5对5,共10个刚体有向正方形来作为机器人,有制作了一个圆形刚体来作为足球,并定义了摩擦力。,第一,屏幕太小玩家几乎什么也看不清楚。,第二,对于玩家而言控制简直就是一场噩梦,第三,系统更本不知道应该让玩家来控制哪个角色。,第四,硬件达不到要求。,3.2游戏的问题与改进,游戏框架设计,第一,将赛场放大到原来的5倍,第二,重构了原有的物理效应,第三,用人物代替了原来的小方块。,3.3敌方策略,攻守算法设计,3.3敌方策略,攻守算法设计,由于每一个角色都是一个简单的智能体,所以每一个角色都有它自己的状态。,接收前进指示,踢球动作结束,接收踢球指示,被抢球,被抢球,被抢动作结束,未接到前进指示,3.3敌方策略,攻守算法设计,防守,进攻,得球,传球 射门 丢球,足球策略主要分为进攻和防守两部分,由于角色与小车不同,角色有明确的得球和丢球之分,所以我用球是否在己方球员手上来划分进攻还是防守。,3.3敌方策略,攻守算法设计,D,3.4我方策略,攻守算法设计,第一、角色互换。,第二、自动改变被控角色,第三、进攻跑位。,第四、传球、射门辅助。,与电脑方不同,玩家方有一个是被控角色。玩家的行为是完全不受控制和不可预测的。你不能希望玩家去配合NPC进行游戏,只能让NPC去配合玩家。因此我以基于敌方的足球策略为样例写了基于被控角色足球策略。,4游戏运行结果与分析,游戏运行结果与分析,5.1结论,结论与参考文献,移动设备作为一个优秀的游戏平台,正在被越来越多的游戏制作者所关注。本次研究主要是对现实游戏化和人工智能为移动设备改进的一次尝试。设计和实现了: 以机器人足球为原型制作了一个足球游戏,并对其进行了修改使其更加符合一个游戏。 将一个桌面计算机的机器人足球策略进行修改,使之能为智能移动设备上的游戏服务。 以其为基础重构了一种足球策略,使之为玩家服务,提升游戏性。 但是仍然存在一些不足之处: 由于把重心放在了人工智能的应用上,没有为游戏制作完整的UI界面。因此在接下来的时间里,我将为游戏制作完整的主菜单、设置等界面。 游戏策略算法过于单一,应加入多个队伍供玩家选择。 可以增加可替换资源,使每个队伍都有不同的难度(策略),并可方便的替换。,5.2主要参考文献,结论与参考文献,1. Russel, Stuart J, peter Norvig. Artificial Intelligence: A Modern ApproachPrentice Hall,2002 2. HARVEY J, CHENG C, MICHAELSON D. High level design of a MiroSot simulator J. Micro-Robot World Cup Soccer Tournament Proceedings, 1996,10(3): 8-10. 3. Dave Mark, Jack Nutting, Jeff LaMarche 著, 毛姝雯, 漆振, 杨越, 孙文磊 译,iOS5基础教程,人民邮电出版社,2012年9月1日: 1-2.,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号