关于写《J2ME手机游戏开发技术详解》的初衷

时间:2021-05-18 03:22:31

    我接触J2ME纯属偶然,并且时间并不是很长,但是由于我长时间的BREW游戏开发经验,并且有良好的C++基础,因此对于J2ME游戏而言,掌握较为轻松。

    我最早进行的J2ME手机开发是在中国联通刚刚推出UniJa的时候,并且作为当时第一批正式商业应用上市的,见证了UniJa的成长历程。这比大部分中国移动的开发人员来讲,更多的接触了一个不成熟的Java虚拟机。由于开始是在一个不稳定的Java虚拟机下进行的程序开发,因此深入追踪了虚拟机的原理,所以对于J2ME程序有了更深的了解。

    我从一开始写J2ME程序,是为中国移动的SP写的,但是由于当时中国移动规定联通和移动不能是一个SP公司,因次,并没有商业运营。但是由于当时为了更好的可移植性,是由MIDP1.0的标准来写的,由于当时并没有多少经验,但是由于严格按照1.0来写,移植性出奇的好。

    当时由于是第一次写,最后的JAR文件出奇的大,大概有176K,由于当时UniJa有问题,本来说是能够支持256K(JTWI标准),但是很长时间内只支持128K,我尝试了几乎所有的办法去减小JAR的大小,最后成功减小在126K左右。而且资源的使用必须使用我的内部文件格式与加载方式才可以。这就导致了更改图片后,我必须重新改写文件,而且我当时的文件格式没有公开,因此其它人更改不了我的程序,这个对移植有很大的问题。

     解决了大小问题,还有一个速度问题,优化速度大部分集中于程序结构,主要是更改了程序架构,去掉了许多面向对象的程序设计方式,成员函数都改为直接的变量调用,并且尽量去掉多态。采用这种方式破坏了程序的面向对象和可复用架构,但是也是无奈之举。

     因此,在以后的程序设计中,我尽量注意程序架构的可服用性,这样的架构我在我的书中有提到,并且作了讲解,此架构经过检验,可有效缩短我开发的这类游戏的开发时间,并且省去了测试的麻烦。

     我的游戏开发经验,基本上集中于类超级玛丽游戏,就是平面动作类游戏,此种游戏的架构我在J2ME和BREW使用的趋同,因此具有极好的可复用性和可扩展性。
     在本书中,我大概写了一半的章节,主要包括:
第三章 J2ME应用开发环境的选择和配置;
第六章 记录存储系统
第七章 MIDP网络编程
第八章 声音的播放和处理
第十章 游戏主要编程技术
第十二章 J2ME游戏开发技巧
第十三章 手机游戏开发的总体理念
第十五章 滚屏游戏设计——经典超级玛丽
第十六章 网络游戏设计——网络对战扑克

其实我应该开放一些章节请大家做出评判,但是很遗憾,由于有协议,我并不能开放章节,但是我将会重新撰写相应的技术问题已馈读者。