1. 研究目的与意义、国内外研究现状(文献综述)
自从1962年一位叫斯蒂夫拉塞尔的大学生编程实现了一款游戏《宇宙战争》,电脑游戏正式登录历史舞台,自此之后,各种类型的游戏如雨后春笋般涌现,电脑游戏产业开始飞速发展日臻成熟。
目前,在世界范围,网络游戏市场快速增长,未来远景一片光明。
普华永道发布的《2012-2016 年全球娱乐与传媒行业展望》展示,世界网络游戏市场规模已从 2007 年的 78.97 亿美元增长至 2011 年的 167.96 亿美元,增长了 1.13倍,年均复合增长率为 20.76%,未来几年全球网络游戏行业将继续保持较快发展的态势,预计 2017 年世界游戏市场规模将达到 313.94 亿美元。
2. 研究的基本内容和问题
本论文基于java语言,使用eclipse开发软件,设计实现了这款飞机空战游戏,源码中采用较简单的矩形碰撞检测并加以重写,实现了飞行物在z轴方向上的游戏方式,但仅限于两个单位长度的位移,较之常规的平面飞机大战游戏,游戏中高低空飞行物之间的碰撞更加真实化,同时在常规飞机大战的游戏目标基础上,通过添加越界检测算法,不仅使游戏中子弹和飞行物的越界检测更加精准,又增加了敌机防守的游戏目标,除此之外,游戏的操控完全由鼠标完成,解放了键盘操作,整体能给怀旧的游戏玩家不一样的游戏体验。
关键问题:1、在游戏中需要实现飞行物高低空的判断和带有高低空状态的碰撞检测,所以需要改写常规的碰撞检测,效果最优的像素碰撞检测的弊端很明显,就是内存消耗量很大,通常在注重游戏细节的大型游戏中使用,考虑到本游戏jpanel轻量级容器和已经存在的诸多进程,本游戏不采用像素碰撞检测,而是采用较简单的矩形碰撞检测;2、游戏中的动态实现,保证游戏界面的流畅度,实现方法是java中的timer计时器。
timer计时器介绍:java中timer类主要负责一些计时任务,即在制定的时间间隔中执行特定任务,完成一些有计划的时间任务;3、游戏中多线程的处理,不能出现冲突,如背景的绘制和背景音乐需要正常加载和使用, 论文中采用的timer类有很重要的一点便是类中对多线程的处理,通过查看timer源码可以发现,java已经将线程池封装好了在timer中,所以,当一个timer类中运行多个任务的时候,不会出现阻塞的情况,而且不建议重写timer类,因为有可能会破坏了封装好的线程池而导致游戏的崩溃;4、游戏道具的实现,具体有全屏爆炸功能的炸弹,全屏静止的闹钟和英雄机生命加1的血瓶。
3. 研究的方法与方案
编程语言:java,java程序设计语言在众多编程语言中,具有移植性好的优点,兼容各种运行平台,尤其适合游戏开发,缺点是游戏启动的时候需要启动JVM导致的启动速度较慢,但考虑到java代码的精简和方便,本游戏最终选择java作为开发语言;开发环境:Windows7;开发软件:Eclipse3.7;系统:Windows操作系统;硬件配置:处理器:Intel i3及以上,内存:512MB及以上,硬盘:50GB及以上。
4. 研究创新点
鼠标控制游戏操作,右击控制游戏的开始与暂停,左击控制飞机的飞行高度,鼠标移动控制飞机的移动,子弹是无限的,只要游戏开始,就会无限地释放,较之常规的飞机大战游戏,操作更加简便,完全解放了键盘的操作。
游戏设置飞行物具有两种飞行状态,分别是高空飞行和低空飞行,并设定只有在同等高度的情况下,两个飞行物才可以发生碰撞,较之常规的平面飞机大战游戏,本游戏实现了在Z轴方向上的游戏方式,具有伪3D的游戏效果,对于玩惯了普通飞机大战的游戏玩家来说,是个全新的体验。
5. 研究计划与进展
1、四周完成初稿,基本实现游戏中的核心功能,具有可玩性;2、六周完成后续完善工作,提高游戏画面的观赏性,测试和修改bug;3、八周完成论文工作,严格按照格式要求进行修改。
