登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 文献综述 > 计算机类 > 计算机科学与技术 > 正文

基于java的坦克大战游戏开发文献综述

 2020-06-23 08:06  

开发背景

随着科学技术的发展,人们的生活水平日益提高,电脑也步入了家家户户,PC端游戏也随之兴起。坦克大战作为一款经典的操作射击类游戏,因其大受欢迎的关卡制和其极低的操作需求而经久不衰。该项目希望重现这款经典游戏并且设计一些独特的算法使其更加智能,更具乐趣性。
当前,中国的游戏市场一直在保持着高速增长,人们对游戏这方面的娱乐需求也日益增加。游戏业已经进入了高速发展时期,渐渐的成为中国文化创意产业的引领者之一,在2017年里,游戏行业实际销售收入约为2036.1亿人民币,同比增长23%。这一数字也证明了人们对游戏的需求正在增加,并逐渐的接受了游戏消费的这种观念。据CNNIC第41次调查报告显示,截至2017年12月,我国网络游戏用户规模达到4.42亿,占整体网民的57.2%,较去年增长2457万人,这一数据也充分证明了我国游戏行业的火热。此外,java语言经久不衰,一直为人们所喜爱。而在游戏中运用的算法方面的研究也越来越火热,通过优化的算法来增进游戏的智能性、玩家体验性等等也推动着游戏产业的发展。
坦克大战游戏历经众多玩家的检验而一直兴盛,它看似操作简单却变化无穷,这也是它的魅力所在,也因此而常常使人沉醉其中。这款游戏包含了游戏画面、碰撞检测、实时输入、地图编辑、人工智能等多个方面。我希望能够通过这款游戏的设计制作来体会java语言的特点和游戏制作的魅力。

系统功能需求

(1)游戏模式:
本游戏初始界面可以选择合适的关卡来挑战,可以选择单人模式或者双人模式,在己方基地未被破坏的前提下击败所有敌方坦克进入下一关直至闯过所有关卡,每通过一关会进行玩家得分统计,除此之外则被认定为游戏结束。
(2)坦克:
游戏中分为玩家坦克和敌方坦克,玩家坦克有固定的生命值,玩家坦克闯关过程中随玩家表现会出现各种道具,玩家坦克吃了不同的道具会产生不同的效果加成,有子弹速度变快、给基地增加一个防护罩、给自己坦克增加一个防护罩、生命值增加、炸弹、敌方坦克时间停止。敌方坦克分为几种不同的坦克,它们各自有不同的属性,敌方某种坦克被击中会变成另一种坦克等等功能。此外,由于敌方坦克是电脑自动运行,所以会采用一些算法增强它的智能性以提高游戏体验。
(3)碰撞检测:
游戏中存在着很多碰撞,有子弹与子弹的碰撞,子弹与障碍物的碰撞,子弹与我方(或者敌方)坦克的碰撞,坦克与坦克的碰撞,坦克与道具的碰撞。因而,游戏中需要设计一套碰撞检测机制以处理上述各种碰撞,并且考虑到游戏中碰撞发生的频率,所以我们需要的不仅仅是实现这些功能,而且需要尽可能的优化来提升游戏运行性能。
(4)得分:
得分主要根据游戏中击杀坦克数量,摧毁的障碍物数量、玩家剩余生命,玩家获得道具这些信息进行综合计算。
(5)地图编辑器:
玩家可以自己创造喜欢地图模式,然后会选择保存路径进行保存。玩家可以进入默认关卡进行游戏,也可以选择自己创建的地图上进行游戏。
(6)用户体验:
游戏中每个关卡的场景地图各不相同,并且伴有背景音乐,来提高用户体验。此外,玩家游戏过程中也可以暂停继续,还可以选择保存游戏记录,下次可以重新选择该记录接着游戏。

人工智能

维基百科上人工智能的定义为:由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序的手段实现的类人智能技术。该词同时也指研究这样的智能系统是否能够实现,以及如何实现的科学领域。
游戏追求创建一个尽可能真实的虚拟世界环境,虚拟世界中需要设置很多NPC(Non-Player Character)人物与玩家交互互动,要想提高游戏真实性体验,就必须通过一些人工智能相关算法来提高NPC人物的智能性,以便与玩家产生自然真实的交流,帮助玩家顺利进行游戏。
游戏中人工智能技术的一个核心的内容就是游戏中角色的智能寻路。人物能够像人一样避开障碍物并选择合理的路径从起点到达目的地。游戏中的寻路算法主要分盲目式搜索和启发式搜索两种,同图论中的最短路径问题相联系,在图论的数据结构上进行实现。游戏寻路算法中最基本最成熟的是 A* 启发式函数寻路算法,市面上有大量RPG角色游戏以及战略游戏等当中的智能寻路皆使用到基于 A* 算法或者其变种优化算法以及与其他算法结合的混合算法。图论中的深度优先搜索算法(DFS)和广度优先搜索算法以及Dijksrta单源最短路径贪心算法都是典型的盲目式搜索算法。除以上目的点明确的路径寻路以外游戏中还需要一种随机寻路算法,主要应用于敌人在某个区域毫无目的的盲目闲游,使怪物显得自然化、动态化。
本次毕设的敌方坦克移动算法将基于 A* 算法、路径搜索算法、碰撞检测算法以及其他相关算法,可以避免移动至死胡同一直不出来等等影响游戏体验的情况,使其能够有效的寻找玩家和攻击玩家,增强游戏体验。

参考文献
[1]霍斯特曼,康奈尔.Java 核心技术. [M]北京:人民邮电出版社.2013
[2]Prentice Hallpter,JAVA2 核心技术卷 I[M].机械工业出版社. 2006
[3]李强,裴云. Java 2D 游戏编程[M]. 人民邮电出版社. 2015:138-196.
[4]殷建平,徐云,王刚. 算法导论[M]. 机械工业出版社. 2012:341-398.
[5]Brian Goetz,Tim Peierls.Java 并发编程实战[M].北京:机械工业出版社. 2012
[6]周志明. 深入理解java虚拟机[M]. 北京:机械工业出版社. 2013:360-384
[7]晋国卿.游戏开发中智能寻径方法的应用研究[M]. 南昌大学, 2013.
[8]王晶晶. 基于计算机软件开发的JAVA 编程语言分析[J]. 河南科技. 2013(2):250-251.
[9]梁成. 基于最近点碰撞检测算法的研究. [M]. 西华大学. 2016-4
[10]宋东海,贲可荣,张志祥. 一种基于类的java多线程程序数据竞争静态检测算法[J]. 计算机工程与科学,2014(2):233-237
[11]邹益胜,丁国富,许明恒,何邕. 实时碰撞检测算法综述[J].计算机应用研究,2008,25.
[12]Eijkeren D F V. Efficient Collision Detection in a Simulated Hydrocyclone[J]. Journal of Dispersion Science amp; Technology. 2015, 36(10):1483-1492.
[13]Viktor Schuppan,Marcel Baur,Armin Biere. JVM Independent Replay in Java[J]. Electronic Notes in Theoretical Computer Science . 2004
[14]Chris Parnin,Christian Bird,Emerson Murphy-Hill. Adoption and use of Java generics[J]. Empirical Software Engineering . 2013 (6)
[15]张程,肖大薇,张盈谦.基于区域搜索的A*算法在游戏寻径中的应用研究[J].电子设计工程. 2014(13):23-25 .
[16]徐翔, 黄敏. 一种改进的群体智能寻路算法[J]. 计算机应用与软件. 2012,29(5): 139-142.
[17]周小镜.基于改进算法的游戏地图寻径的研究[M].西南大学,2014.
[18]吴萍,陈意云,张健.多线程程序数据竞争的静态检测[J]. 计算机研究与发展. 2006(02)

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图