首页 / 软件开发 / JAVA / 基于J2ME的游戏开发总结和感想
基于J2ME的游戏开发总结和感想2011-01-23gaochaojs功能和不足本程序设计实现了手机上以J2ME为平台的一个射击类手机游戏的开发与实现,采用从外部文件读取图像、自动控制敌人机体运行的方式进行控制,具有一定的可玩性、复杂性和挑战性。经过了细心的调试和排错解决了绝大部分的问题。就像几乎每一个软件都会有这样那样的不足,尤其是像本软件那样未经过精心测试,且开发团体很小,开发者知识面较窄,开发时间相对较短的非商业软件。即使是作为经典操作系统而被微软及整个软件行业引以为豪的各版本的Windows操作系统也时常会发生许多类型的错误和漏洞。本程序对于初涉此领域的毕业设计课题来说,尤其在开始初期,感觉逻辑复杂,难以控制,因此至今还有一些未能解决的bug。本游戏主要实现的功能有:⒈采用MIDP 2.0规范,游戏中的碰撞检测——象素检测比较精确;⒉实现了敌机的简单AI功能,使游戏具有一定的可玩性和挑战性;⒊实现了记录最高得分及游戏得分、玩家等级等功能;⒋在游戏中将随机出现宝物——国旗,凡捡拾到一面国旗,将可以增加一定量的生命值,使游戏趣味性大增;⒌实现了背景画面的纵向动态效果,使游戏更加逼真;目前发现的bug和未完善的功能列表如下:⒈如果与敌机相撞,原本设计的将出现烟雾状图片,但出现该图片后,图片不会自动隐去,直到该屏消失;所以在本程序中将主要出现的白色飞机没有令其出现爆炸图片,在飞碟出现时留有该功能,但显然不够理想;⒉敌人的人工智能变化较少,仅实现漫游AI中的追踪AI,AI实现不够理想;⒊子弹和敌人经常会与画面的刷新的线程不同步,有时造成画面闪烁;⒋由于每次子弹发射和每次机体的移动的一个象素都会对所有机体和所有子弹进行一次循环检查,并由于同时开的线程比较多,使得本来运行效率就不高的KVM运行异常缓慢。即使刷屏没有间隔也不会提高速度;⒌本游戏宝物设置还不够理想,仅实现增加生命值这样一种宝物;⒍游戏画面单调,且没有实现升级前后背景的变化。经验和感想⒈在后期为了优化界面,本打算运用MIDP2.0规范,需要采用外部文件引入的图片贴图,有关贴图,在MIDP2.0中提供了用于增强游戏功能的game包,使得解决静态或动态、画面背景、屏幕刷新的双缓冲等都有较好的解决方案,后来因为时间以及游戏复杂程度的限制而没有采用。由此可见,本程序的优化,改进和维护将还有很大的空间,在实际的工作中应该对程序精益求精,在以后的时间里,还将对本程序进行进一步的优化。⒉游戏程序特别是手机游戏程序是一个精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,碰撞检测、AI实现、绘图事件、键盘响应、图片(音乐)提取等都会以非常高的频率在后台运行并且等待响应,若有一点点的差错都将很容易导致程序在运行不久后可能出现一些BUG、错误甚至死循环。因此,其逻辑设计的严谨显得相当重要,需将所有可能发生的事件及意外情况考虑在设计中。