毕业设计(论文)-基于安卓平台上的猴王争霸游戏设计与开发

上传人:e****s 文档编号:173521162 上传时间:2022-12-11 格式:DOC 页数:15 大小:122KB
收藏 版权申诉 举报 下载
毕业设计(论文)-基于安卓平台上的猴王争霸游戏设计与开发_第1页
第1页 / 共15页
毕业设计(论文)-基于安卓平台上的猴王争霸游戏设计与开发_第2页
第2页 / 共15页
毕业设计(论文)-基于安卓平台上的猴王争霸游戏设计与开发_第3页
第3页 / 共15页
资源描述:

《毕业设计(论文)-基于安卓平台上的猴王争霸游戏设计与开发》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于安卓平台上的猴王争霸游戏设计与开发(15页珍藏版)》请在装配图网上搜索。

1、各专业完整优秀毕业论文设计图纸基于安卓平台上的猴王争霸游戏设计与开发班级 软件092 姓名 王伟涛 指导老师:薛桂香摘 要: 当前,基于安卓平台上的应用开展迅速并具有极强的生命力。本课题即是在安卓平台上开发一款二维动作类竞技游戏。在安卓平台上开发动作类游戏需要熟悉安卓系统的运行机制,能够把握动作类游戏的设计原那么和设计方法。使游戏既能吸引玩家使其快速上手,又能留住玩家、持续吸引玩家。设计该类游戏需要采用原型开发模型,并使用合理的人机交互方式来开发操作方式,还要兼顾安卓系统版本差异和 之间的差异。游戏采用重力感应和多点触控技术,同时使用图片缓存技术加载大图片,利用多线程并发技术提高游戏的流畅度和

2、运行速度。游戏将设置不同难度的游戏AI以提高游戏的趣味性。测试说明,该游戏具有很好的用户体验,良好的兼容性,便捷的操作方式,能给喜爱动作类 游戏的人们带来很好的娱乐体验。关键词: 安卓,多线程并发,动态图片加载,游戏AI1 引言在当今社会, 陪伴人们的时间越来越长,地位也越来越重要。在 娱乐中, 游戏占有着重要的地位,几乎所有玩 的人都会或多或少的玩着 游戏。本课题所要完成的就是一款基于安卓平台上的 动作类竞技游戏。2 游戏的定位和设计需求本毕设所开发的游戏面向喜爱动作竞技类游戏的年轻人,通常来说 游戏一般所利用的是零碎时间,因此设计该游戏的每局时间一般不超过5分钟。由于是偏向动作竞技,那么游

3、戏需要较好的操作感和良好的游戏画面。3 游戏任务游戏中,玩家操纵一名猴子在树林里寻找“齐天大圣盔甲。玩家可以控制猴子在树林里跳跃,并能够停留在树枝或者地面上。在寻找盔甲的同时可以发射子弹来干扰其他猴子,被击中时猴子会眩晕一段时间,恢复正常后可继续寻找盔甲。游戏中可以选择AI的数量和难度,玩家操纵猴子首先找到盔甲那么获胜。4 游戏技术4.1 游戏兼容性技术首先,关于很多系统版本兼容性的问题,安卓的系统版本是向上兼容的,也就是说在低版本上开发的软件可以在高版本上运行,不过一定要采用最高版本的SDK进行开发。所以,在配置开发环境时,需要选用最高版本的SDK进行编码。另外我们还要知道主流版本和最新版本

4、。目前市场上,版本的游戏兼容性最好的是安卓2.3,最新版本是安卓4.2,一般比拟新的机器和配置较高的机器采用的是安卓4.0或安卓4.1版本。所以在开发时,需要兼顾目前较低版本的系统,因此要将Minimum Required SDK设置为android 2.2,同时将Target SDK设置为最新的安卓4.2以实现版本的兼容。另外,关于不同 分辨率的问题。本游戏的单位并不是直接以像素点作为单位,而是获取目标 的屏幕的长和宽,再根据游戏的需求动态生成一个根本单位。这是就可以间接利用像素点单位来防止不同 屏幕分辨率所带来的问题。4.2 游戏视角与地图技术在游戏中,游戏地图远比屏幕大。当玩家角色在地图

5、中移动时,屏幕视角必须始终跟随玩家角色。在跟随过程中,最好的跟随方式就是让玩家角色始终显示在屏幕中央,除非玩家到达地图的边缘,如图4.1所示。图4.1 屏幕与地图在游戏中,每次进行绘制屏幕时,都会重新获得当前时刻玩家角色的坐标值为游戏地图上的坐标值。然后,绘制出一个等于显示屏幕大小的、以玩家角色为中心的屏幕,这样就能做到让画面视角始终跟随玩家角色。但是,由于地图是有边缘的,所以仅当玩家角色位于屏幕中的一定范围内如下列图所示的虚线框范围内时才生效。当玩家角色落到游戏地图的边角时,那么屏幕就会使用最接近的一个中心点来完成屏幕跟随显示。在开发游戏地图时分三个图层进行制作。第一个图层是背景层,第二个是

6、前景层,第三个是碰撞层。二维游戏中,利用背景层和前景层的相互关系来造成玩家视觉上的空间立体感,更有利于画面的逼真。游戏中,背景层始终显示在屏幕的最底层,简单言之可以理解为用来填充屏幕的空缺局部的一层。而前景层那么是游戏地图上的画面。画面是根据玩家角色所在的地图坐标显示的一个等于当前屏幕尺寸的矩形。这样,当玩家的角色在跳跃或者降落时,前景图片就会动态变化,而背景图片始终不变,游戏角色的活动也动态显示。这样就会形成一种错落有致的画面感,产生距离的效果。4.3 游戏绘图技术在通常情况下,开发二维游戏甚至做界面相关都使用View作为其显示图片的容器。可是,当开发一些复杂的、对效率要求较高或者对画面质量

7、要求较高的游戏时,View类就不能满足开发需求了。这是因为View类并不能直接访问Canvas,必须要通过handler才可以,这样就降低了效率。另一方面,当采用SurfaceView类来进行开发时,对于刷新频率要求较高的图片可以采用双缓冲来显示,游戏中的背景、人物、动画等都需要绘制在一个画布Canvas)上,而SurfaceView可以直接访问一个画布,提供应直接画像素而不是使用窗体部件的应用。所以在开发游戏时,可以通过创立一个线程对SurfaceView进行访问以刷新图片。在游戏绘图中,往往是设置一个单独的绘图线用于直接访问SurfaceView里面的Canvas并对其进行绘制。游戏每秒钟

8、绘制的图片数量要适宜,既不能少,也不能太多。首先,如果每秒钟绘制图片少于24张就会使人感觉到视觉上的卡顿;相反,虽然每秒绘制的图片非常多肯定会使图片的连贯性很好,但是由于游戏是运行在安卓机器上,考虑到机器的配置差异、性能差异以及当前 的内存和CPU使用率等重要因素,一味的追求高品质画面只会让游戏无法在低配置的机器上正常运行,从而影响游戏的推广。所以,对于每秒刷新次数进行控制的最好的方式是结合当前机器的配置和CPU使用率进行动态配置,可以将刷新次数规定为35-45次每秒。由于SurfaceView里面并不能直接插入按钮控件,而游戏又必须要用到状态的切换按钮、暂停按钮等等。对于这个问题本系统所采用

9、的方式是在屏幕需要插入按钮的位置插入那些按钮图片,然后在屏幕触摸事件里面进行监听,当触摸到该按钮的位置大小时进行相应的按钮事件处理。屏幕刷新线程操作顺序如图4.2所示。图4.2 绘图线程绘图顺序4.4 游戏中的交互技术在本游戏中,主要的交互方式是触控和重力感应。通过观察发现,玩家对于点击触摸屏 按钮并不是特别敏感。也就是说,点击一两个处于边角位置的按钮还可以,但如果点击一些距离很近的按钮时,就会遇到困难。所以触摸屏最好的交互方式不是用虚拟按键,而是通过滑动或者点击触摸屏的不同位置来实现交互并且辅助以重力感应,这样可以取得良好的用户体验。关于重力感应,在本游戏中必须要先获得activity的重力

10、感应对象,然后再在SurfaceView类里面实现SensorEventListener接口,再复写public void onSensorChanged(SensorEvent event)方法就可以获得当前的重力感应数值。安卓的重力感应分为X、Y、Z三个轴。将安卓 正放,左上角为顶点,由左上角向右沿着 窄边为X轴,左上角向下沿着 长边为Y轴,垂直 平面向上为Z轴。当任何一个轴为水平时,它的重力感应值为零,当轴向上时值为正值如果是向上90度那么值最大,如果轴向下那么值为负,向下90度为最大值。因此,游戏要在复写的方法里面实时的获得当前的重力感应值,并由重力感应值来决定玩家角色在空中时左右晃动

11、的速度。由于重力感应值会随着 的晃动实时的改变,在用 感应值生成速度时,最好的方式是玩家角色在空中时的左右速度与重力感应值为一次线性关系。这样才能更好的符合玩家的控制感觉。至于这个线性关系的系数取值,需要根据游戏的地图和玩家角色的属性值决定。游戏的另一个重要的交互方式就是触摸技术。安卓系统自带了很多手势识别的类和处理函数,不过在本游戏中并不太需要这些发杂的手势识别。因为,本游戏所需要的交互方式是点击屏幕和长按屏幕。因此,只需要识别点击的位置、按住时间、松开时刻就可以,对于滑动的事件并不处理。在本游戏中,对SrufaceView类的public boolean onTouchEvent(Moti

12、onEvent event)方法进行重载。然后获得当前触控点的坐标,这样就可以对触摸事件进行处理。首先,当玩家角色处于跳跃状态时,点击屏幕那么在触摸事件里面进行计时并显示蓄力进度条,这个蓄力是以每十毫秒一定的百分比增加,到百分之百停止。然后,当玩家松开摁在屏幕上的手之后,将根据这个百分比乘以玩家角色最大的跳跃初速度来得到玩家角色向上跳跃的速度。如果,玩家是在开火状态时,玩家只要进入武器状态武器蓄力条就开始加载,加载原理同跳跃蓄力条。之后玩家点击屏幕上某一点,那么子弹将根据蓄力条的百分比乘以玩家角色武器能量的最大值来决定子弹的初速度,再通过点击的位置和玩家角色所在位置分解子弹的初速度为X轴方向速

13、度和Y轴方向速度。这样就可以实现用触摸屏完成玩家角色跳跃和开火功能。4.5 多线程技术在本游戏中,需要用到多线程并发技术,要并发的线程比方游戏主界面的重力感应线程、触摸屏的监控线程、SurfaceView刷新线程、碰撞检测和物体效果线程、计时器的计时线程、AI线程等。在安卓系统中按照进程进行资源分配,CPU的调度那么按照线程。也就是说如果安卓进程的线程越多,理论上它所获得的总执行时间也就越长,这就意味着它可以更大限度的利用系统的资源取得更好的游戏效果。另一方面,如果将这些功能全部都集中于主线程来完成,那么势必会使主线程执行周期大大加长从而使游戏相应用户操作的延迟加大,但是安卓 系统的CPU和内

14、存利用率也许并不高,这就造成了所谓的进程的假死,使得游戏异常卡顿并极大程度上影响了用户体验。所以,在开发本游戏时,必须要对各个功能进行划分,提取出多个线程进行并发处理,最大限度的利用 的硬件资源。但是由于安卓 配置种类繁多性能参差不齐,安卓系统对于线程的创立和回收上的资源开销也不可忽略,因此线程应该做到高内聚低耦合。游戏线程中重力感应和触摸屏监控由系统完成,剩下的SurfaceView的刷新线程、碰撞检测和物理效果线程、计时器线程、AI线程需要自己编写。这些线程都是要经历线程的创立、运行、结束三个阶段。当游戏主界面开始时,线程开始创立并运行,游戏结束并跳转到游戏结果页面时,线程应当被关闭。但是

15、,在通常的情况下,如果采用stop或者destroy方法来完成线程的停止可能会引发异常或者错误,同时也不利于实现游戏的暂停功能。那么,既然不能用强制关闭线程的方式来结束线程,不妨设置标志位来控制线程的运行。如采用whilelive/*线程内容*/;sleeptime的方式,当游戏主界面开始时,将线程启动,设置live变量为true,然后重载游戏主界面的destroy方法;当游戏主界面销毁时,设置live变量为false,这样线程就可以正常结束运行而不会发生任何异常和错误。当进程中存在线程并发执行时, 的硬件性能会得到很大的利用,但是线程之间的同步互斥那么是程序面临的另一个问题。在java中对于

16、对象之间加锁可以采用synchronized实现。对于一些变量的互斥访问,可以采用lock来进行加锁实现。本游戏中也有需要互斥访问的变量,比方SurfaceView的刷新线程正在对游戏画面进行重新绘制时,如果此时游戏的碰撞检测和物理效果线程对玩家人物进行了位置上的移动,那么势必会造成游戏中玩家角色前后绘制的数据不一致造成位置上的差异。诸如此类需要同步的地方还有很多,但是纵观这些需要并发的地方,假设没有采用lock锁来保持同步,所造成的影响并不是十分恶劣。但是如果采用了lock锁,那么会导致游戏线程之间的并发量大大下降,从而使游戏画面异常卡顿,用户体验极其糟糕。因此,对于游戏中需要并发处理的地方

17、,大多采取鸵鸟算法,也就是视而不见或者尽可能采用别的方式让用户无法觉察。比方玩家角色的移动数据问题,本游戏所采取的方式就是使游戏画面的刷新频率较低,处于35-40次左右,然后将游戏中碰撞检测和物理效果线程的运行周期缩短,这样每次刷新屏幕的移动距离就不会十清楚显。虽然没有解决同步问题,但是用户在视觉上已无法觉察。碰撞检测和物理效果线程和AI线程在后续的两节介绍,这里先说SurfaceView刷新线程。这个线程的主要功能在上一节游戏绘图技术里面已经讲了,其主要作用就是对游戏主界面进行绘制且绘制的频率要适当。线程依然是采用判断live标志位来决定是否结束,当游戏主界面退出时,live被置为false

18、,此时SurfaceView线程将在运行完最后一遍时退出,如图4.3所示。4.3 SurfaceView刷新线程游戏中的计时器计时线程的主要作用是对游戏中蓄力条的计时,包括玩家或者AI的跳跃蓄力和开火蓄力。一般来说,玩家或者AI并不是每时每刻都在进行跳跃或者开火的蓄力,也就意味着计时器计时线程可能会在一段时间里空转。另外,启动一个线程和一个销毁线程都需要不小的开销,并且计时线程在时间上需要一致,所以采取仅用一个计时线程的方式更有利于提高游戏的效率。计时线程中利用LinkedList申明一个链表,这个链表的节点是FJTimeThread类对象。当玩家或者AI需要蓄力计时,就创立一个计时FJTim

19、eThread类的对象作为计时链表节点参加到计时链表中。只要live变量是true,计时线程就会对每一个计时节点进行一次计时操作,这样就完成了玩家和AI共用一个计时线程完成所有的计时的效果,如图4.4所示。图4.4 计时线程4.6 游戏中的碰撞技术与其他物理效果游戏中玩家角色能够停留在地图中的树枝上,需要用到碰撞检测技术;玩家角色之间的不可重叠也用到了碰撞检测技术;子弹击中人物的效果也应用到碰撞检测技术。故本游戏中一共有三种碰撞方式,人物角色与可停留物之间的碰撞、子弹与人物角色之间的碰撞和人物角色之间的碰撞。由于在安卓游戏中,大局部机器的内存运行速度都十分有限,游戏的碰撞检测往往偏重于效率所以

20、往往采取比拟简单的碰撞检测方式。在游戏中人物角色与可停留物之间的碰撞检测采取矩形。也就是用一个个矩形框来标志地图中的碰撞域。这样,当玩家角色的坐标与这个矩形的范围发生重合时,那么发生碰撞,从而进行相应的碰撞处理。假设玩家角色与矩形碰撞域碰撞,玩家角色在矩形上方且玩家的Y轴速度为正,那么玩家角色应该停在矩形碰撞域的上方;假设玩家角色从下方与矩形碰撞域发生碰撞,且玩家Y轴方向速度为负,那么玩家的速度应该立刻取其绝对值并改Y轴的方向为正,这样就实现了角色从下方撞到碰撞域上并被反弹下去的效果;如果玩家角色从左边或者右边与碰撞域发生碰撞,那么不管其速度为多少,将其速度置为零,这样就可实现了角色在空中左右

21、晃动时撞上碰撞域而不会陷入的效果。对于碰撞域的获取,采用将碰撞域用文件的形式记录下来的方式,放在用户 的sd卡中,这样当用户进入游戏时就开始加载游戏地图和地图碰撞域。由于矩形的碰撞域只需要确定其左上角和右下角的坐标就可以确定这个矩形的位置以及大小。因此,在碰撞域文件中采用如图4.5的方式来记录碰撞域。num的值为碰撞域的个数,阿拉伯数字代表是第几碰撞域。碰撞域的地图坐标在大括号里面,顺序依次是x1,y1,x2,y2。这样,读取出碰撞域文件就可以确定地图中的碰撞域。图4.5 游戏地图碰撞域文件然后再在游戏中通过一个MapCrash类如图4.6所示的数组来记录读取的碰撞域。这样,在游戏中设立一个碰

22、撞检测线程后,就可以实时地对游戏中的角色进行碰撞检测并进行碰撞处理。图4.6 矩形碰撞域类玩家角色之间的碰撞检测以及子弹与角色之间的碰撞检测相对来说比拟简单。这里对于子弹和角色之间或者角色与角色之间采用圆形进行碰撞检测。也就是用一个最小的圆来包括碰撞对象,然后检测两个碰撞对象的圆是否发生重叠,如果发生重叠就说明发生了碰撞,然后进行碰撞处理。由于碰撞处理中的时间复杂度是O(m*n)级别,意味着在游戏中必须要限制发射子弹的总数量,否那么会造成碰撞检测的卡顿而影响游戏体验。碰撞检测线程如图4.7所示。图4.7 碰撞检测线程4.7 游戏中的图片加载技术在游戏中,所有的素材、游戏地图、人物等等都以图片资

23、源的形式保存在游戏中。安卓系统对于每一个进程分配的内存有限,因此游戏中加载入内存的图片数量也是有限的。这就需要采取必要的方式处理这种内存限制的问题。处理此类问题的一种途径是扩大安卓系统分配的内存大小,让拥有的内存足够将所有的图片资源加载进去。但是这种方式并不太好,可能会因为机器的不同而出错。因此,本游戏采取图片引用和分片加载的方式。首先,将一些较小的图片加载进入内存,在游戏的运行中只使用图片的引用。这样那些图片只加载一次就可以。然后将游戏主界面的Destroy()方法重载,让游戏主界面销毁时手动回收已经加载的图片资源,为重新开始游戏腾出内存空间。对于那些占用内存极其庞大的游戏地图,所采用的方式

24、是将其分片,使进程的空间可以加载不少于九个地图块。检测当前人物所在的位置是否加载的九片地图块的中间那一块,如果不是那么将不与它相邻的图块手动回收掉并将其他相邻的图块加载进入内存。这样,保证了游戏地图所占有的内存始终只有九个地图块,而且由于通过I/O操作加载其他地图块是在提前完成的也就不会出现移动到别的地图块时发生卡顿的状况。4.8 游戏AI的设计AI是artificial intelligence 的缩写,游戏AI通俗的说就是由程序来扮演人陪玩家游戏。所以AI一般要有一定的“智慧,可以完成一些人在游戏中所要完成动作等等。那么玩家需要什么样的AI呢?一个像终结者中的天网那样高度智能的AI么?一个

25、能把玩家所有的思维过程和行动能力全部计算在内让玩家毫无取胜可能的AI么?当然不是,因为大局部玩家所需要的并不是一个不可战胜的AI,这也就决定了AI的重点并不是在于它的intelligent,而在于它的intelligent stupid。即玩家所需要的是一个比拟聪明的AI,它总是比玩家略微“强上一点,却又“蠢一点,总是有 “破绽可以让玩家打败甚至超过,却又随着玩家的聪明而变得“聪明。一言以蔽之,玩家需要的AI就是一个需要经过努力和琢磨去打败的程序玩家。从这个角度考虑,AI设计并不追求其高度智能,而是吻合玩家的需要。由于很难做到让AI适应玩家的水平,因此本游戏的AI以难度分级的方式,将游戏难度分

26、为0、1、2、3四个等级。而四个等级AI以它们的属性、到达目标所需的时间、干扰玩家的能力作为划分。本游戏中,AI要到达目标必须要完成以下几步。第一,获取到达目标的路线,不管这是一条最正确路线还是最优路线,最根本的是要可达。当然可以根据难度的差异来设计是否获得最正确路线。第二,AI必须能够自己控制游戏角色的移动,“知道该如何控制,“知道控制多大的起跳速度和方向才能从一个可停留碰撞域到达另一个可停留碰撞域。关于第一点,首先需要获得游戏中各个可停留碰撞域之间的可达性矩阵,然后再根据可达性矩阵计算出可达路线甚至最短路径。另一方面,在AI的跳跃中,不仅需要考虑到这个可达性碰撞域与另一个可达性碰撞域之间的

27、距离,并且还要考虑到角色在跳跃过程中的弧线形式,这个弧线不能穿过任何一个可达性碰撞域,否那么将发生跳跃失败。所以在计算跳跃路径及起跳点的选择时必须予以考虑。再一方面,AI在获得路径的同时必须能容错处理,也就是说如果在跳跃过程中遭遇了别的AI的子弹干扰而偏离原来的路径落到了其他可停留碰撞域,那么AI必须能够重新寻找到一条适合自己的路线。AI获取可达性矩阵和可达性路线的方法主要有两种。一种是针对游戏规那么的通用型AI设计,这个类型的AI会根据自身的属性值以及各个可达性碰撞域之间的距离计算出可达性矩阵,并且计算出当前位置距离目标的可达性路径或者利用迪杰斯特拉算法计算出最短路径。总的来说,这类AI的效

28、果适合地图的变更,无论地图怎么改,只要规那么不变AI就不需要改变。但是如此设计的AI会带来巨大的系统开销,尤其是AI算法的开销。加上游戏所使用的可停留碰撞域可能会比拟多的因素,游戏中的AI数量也会有好几个,所以此种方式带来的结果就是AI算法很方便但是用户体验并不好。另外,此种AI的难度设计不易控制,无法制作出满足用户需求的AI。AI设计的另一种思路是针对每张地图设计一套AI而不是根据游戏规那么设计一个通用型AI。这种AI不需要根据自身属性获取可达性矩阵,而是把人工计算出的可达性矩阵作为游戏数据存储在游戏中。AI只需要根据玩家所选的难度去选择相应的路线就可以,甚至连起跳点也是事先规划好的。这样每

29、张地图必须有一套针对设计的AI。虽然这样会加大AI的设计任务量,但是却可以得到很好的效率,也利于控制AI的难度。在本游戏中,AI不仅需要找到向目标进发的路线并沿路线运动,而且还可以干扰其他玩家的运动路线,甚至高难度的AI具有躲避玩家的干扰功能。这需要AI对敌人的判断和开火。那么,AI如果在空中完成武器发射和下一轮蓄力会更加节约时间。所以AI根据自己所处的位置来进行最正确操作。要向玩家发射子弹,AI必须获取玩家所在位置,并利用玩家坐标与自己坐标的差值来分配子弹X轴和Y轴方向的速度分量,从而让子弹射向玩家所在位置。更高难度AI的可以根据玩家当前的速度和位置对玩家进行位置预判断并射击,具体AI流程如

30、图4.8所示。图4.8 AI线程参考文献1李华明.Android游戏编程之从零开始.北京:清华大学出版社,2021.2吴亚峰,苏亚光.Android游戏开发大全.北京:人民邮电出版社,2021.3埃里克森(Christer Ericson).实时碰撞检测算法技术.北京:清华大学出版社,2021. 4 谷艳昭.Android平台下游戏引擎库的设计与实现.乌鲁木齐:内蒙古师范大学,2021. 5 杨丽.基于安卓平台的益智类 游戏的设计.淮海工学院学报(人文社会科学版),2021,16:88-90. 6 王乐.软件工程方法在 游戏开发中的实践与改良.上海:华东师范大学,2006. 7 金鑫.游戏引擎

31、在游戏开发中的应用.电脑知识与技术(学术交流),2007,19:170-171. 8 马颖峰,付亚丽.基于Conceptual Play Spaces理论的教育游戏设计探究式教育游戏的情境设计.电化教育研究,2021,09:91-95. 9 覃柳思.基于手持移动设备的教学游戏设计与开发.上海:上海师范大学,2021. 10 李慕菡.基于iPhone 平台的2D游戏设计与实现.西安:西安电子科技大学,2021. 11 刘琳. 游戏交互设计中的图形界面研究.南京:南京师范大学,2021. 12 王波.游戏设计中的心理因素研究.武汉:武汉理工大学,2006. 13 沈健.FPS游戏寻路算法的研究与实

32、现.广州:华南理工大学,2021. 14 荣琪明.小团队多进程次世代游戏引擎的虚拟现实工程应用研究.广州:华南理工大学,2021. 15 牛犇.基于iOS的2D第三人称射击游戏引擎的研究与实现.苏州:苏州大学,2021. 16 刘琳. 游戏交互设计中的图形界面研究.南京:南京师范大学,2021. 17 王琦.简单游戏引擎的设计与开发.长春:吉林大学,2021. 18 臧晓强. 游戏AI引擎设计.延吉:延边大学,2021. 19 张玉孔.电脑游戏中的人工智能.科技信息(学术研究),2007,18:244-245. 20 付军,郑军.“软件人在游戏AI中的模型构建及其协调控制模型的研究.无线互联科

33、技,2021,12:145. 21 王冲.基于J2ME的 游戏AI设计.软件导刊,2021,05:111-113. 22 格桑多吉,王玉龙,郭鑫.一种战棋游戏的AI算法设计与实现浅析.拉萨:西藏大学学报(自然科学版),2021,02:102-106. 23 吴拥民.一种网络游戏AI引擎软件体系结构模型.福州:闽江学院学报,2021,02:91-95. 24 胡俊.游戏开发中的人工智能研究与应用.成都:电子科技大学,2007. 25 冯凌云.基于状态机AI技术的网络游戏战斗系统设计.上海:复旦大学,2021. 26 何所惧.人工智能在游戏中的应用:游戏玩家的实时建模及对手的智能适配.北京:北京邮电大学,2021. 27 莫军.基于嵌入式的3D游戏引擎技术的研究与实现.成都:电子科技大学,2006.

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