`

J2ME游戏开发(从零开始)

阅读更多

 

手机游戏概论

大纲

l           手机游戏类型。

l           手机游戏开发特点。

l           手机发展历史及3G技术展望。

重点

l           手机游戏主要有以下几种类型:嵌入式游戏、短信息服务游戏、WAP浏览器游戏、J2ME和其他的解释语言类游戏。

l           合理开发手机游戏:缩短游戏时间、合理处理等待时间。

l           手机作为游戏载体的特点:拥有庞大的潜在用户群、携带方便、对应用程序大小有限制。

目的

本章的目的是帮助读者对手机本身的特点和手机游戏开发的特点有个清晰的了解,以便于更好更有效的利用手机这样一个平台,在保证游戏质量的同时尽力提高开发速度,开发出优秀的手机游戏。

 

网络游戏产业的繁荣,让企业和消费者同时认识到了游戏的力量,虽然受到屏幕尺寸和操控性的限制,但作为全球使用量最大的通信产品,手机也具有成功进入掌上游戏领域的理由。而彩屏革命过后,手机游戏就变得更加丰富多样了。从当初诺基亚手机中经典的二维贪吃蛇游戏,到今天的三维画面及声色效果俱佳的游戏,手机游戏已经成为一种非常普遍的休闲方式,为玩家带来了很多快乐及新奇的体验,同时也为开发商、手机厂商、运营商带来了更多的利润。

这一切得益于Sun公司——Java平台的东家,可以说手机端游戏的发展与Java技术的发展有着不可分割的联系。Java 2推出后,Sun推出了一种名为J2ME(基于Java 2 Micro)的平台,被广泛应用于手机端。J2ME能够为用户提供非常丰富和复杂的功能。

随着各大手机生产商对J2ME标准的支持,以及基于J2ME开发的手机游戏的可移植性和快速开发的优势,J2ME手机游戏的市场需求越来越高,从事J2ME手机游戏研究和开发的人员也越来越多。那么怎样保证游戏质量,怎样编写好的游戏代码,是每一个从事J2ME手机游戏开发者都应该考虑的问题。

开发者首先必须考虑手机自身的特点,例如:手机小键盘是为电话拨号优化的,并不针对文本输入,因此其操控性能较差,如图1-1所示。

本章将重点讨论手机本身的特点和手机游戏开发的特点。

 

1-1  NOKIA N-GAGE

1.1  手机游戏的类型

手机游戏就是可以在手机上进行的游戏。目前,用于移动电话上实现游戏的技术主要有以下几种:嵌入式游戏、短信息服务游戏、WAP浏览器游戏、J2ME和其他的解释语言类游戏等。

1.1.1  嵌入式游戏

嵌入式游戏是一种将游戏程序预先固化在手机芯片中的游戏。由于这种游戏的所有数据都是预先固化在手机芯片中的,如诺基亚手机中的贪吃蛇游戏(见图1-2)。因此,这种游戏无法进行任何修改。也就是说,用户不能更换其他的游戏,只能玩手机中已经存在的游戏,并且也不能将它们删除。

 

1-2  贪吃蛇游戏

1.1.2  短信息服务游戏

短信息服务(SMS)是从一部手机向另一部手机发送简短的文字信息,用户一般为每条信息支付少额的信息费。短消息服务游戏的玩法通常是发送一条信息到某个号码,这个号码对应游戏供应商的服务器,服务器接收这条消息,执行一些操作,然后返回一条带有结果的消息到游戏者的手机中。如图1-3所示是两款不错的短信息服务游戏。短信息服务不是一个特别好的用于实现移动游戏的技术,因为它依靠用户输入文字,因此本质上它是一个命令行环境。而且它还很昂贵,即使和服务器只交换较少的次数也要花掉较多的钱。虽然多媒体信息服务(MMS)技术的推出使得基于信息的游戏更加具有吸引力,但是,此类游戏仍然不是一种重要的游戏,所以,在此我们不会深入探讨。

 

1-3  《美人关》短信游戏与《口袋情人》游戏

1.1.3  WAP浏览器游戏

1999年以后,大部分出厂的手机都配有一个无线应用协议(WAP)浏览器。WAP本质上是一个静态浏览载体,非常像一个简化的Web,是为移动电话小型特征和低带宽而专门优化的。要玩WAP游戏的话,可以进入游戏供应商的URL(通常通过移动运营商门户网站的一个链接),下载并浏览一个或多个页面,选择一个菜单或者输入文字,提交数据到服务器,然后浏览更多的页面。WAP游戏的工作原理如图1-4所示。所以,WAP浏览器游戏就好像我们用计算机上网,并通过浏览器浏览网页来进行的简单游戏一样,也属于一种文字游戏。玩家可以根据WAP浏览器浏览到的页面上的提示,通过选择各种不同选项来进行游戏。

 

1-4  WAP游戏的工作原理图

1.1.4  J2ME和其他的解释语言类游戏

J2ME(Java 2 Micro Edition)是一种针对移动电话和PDA这样的小型设备的Java语言版。大部分的手机厂商都迫切希望Java手机推广应用,希望上千万的Java手机已经到了消费者的手中。J2ME与台式机中的Java相比还是有很大不同,但是它已经极大地提高了移动电话支持游戏的能力。它有比SMSWAP更好控制的界面,允许使用子图形动画,并且可以通过无线网络连接到远程服务器,如图1-5所示。现在支持Java的手机基本上得到了普及,所以,手机成为目前最好的移动游戏开发环境,本节将介绍J2ME游戏的开发。J2ME不是手机上配置的唯一的解释语言,但是它是一个许多厂商支持的行业标准。一些专用的解释语言也在某些区域有上佳的表现,如北美的QualcommBREW(Binary Runtime Environment for Wireless,用于无线应用程序的二进制运行环境)和一些韩国移动运营商支持的名为GVM的标准。

1-5  J2ME游戏《动感蓝桂坊》


1.2  手机游戏开发特点

手机游戏的开发特点决定于手机平台的特征,因此,要理解手机游戏开发就要先明白手机本身的特点,本节从手机的优缺点入手,对手机游戏开发与PC游戏开发进行比较,系统地介绍手机游戏开发的特点。

1.2.1  手机作为游戏载体的优点

1. 庞大的潜在用户群

2008年底,全世界手机用户已经达到39亿,这个数字是各国的通信运营商提供给ITU(ITU是国际电信联盟建立的一个网站)

在除美国之外的每个发达国家,拥有手机的人数比拥有计算机的人数更多。据工信部数据,截止到200810月,我国手机用户累计达到6亿多。支持Java的手机,正在快速地增加,并且在几年内Java手机将成为行业标准。移动游戏潜在的市场比其他任何平台(比如PlaystationGameBoy)都要大。手机游戏业可谓是前途一片光明。

2. 便携性

GameBoy比其他控制台游戏卖得多的一个原因就是便携性,人们可以随时随地玩他们选择的游戏。与现在的游戏控制台或者个人电脑相比,手机可能不是一个好的游戏设备,但是人们基本上是随时随地都把它们带在身边。在他们离开家的时候或者想玩的时候,都可以享受游戏给他们带来的快乐。

1.2.2  手机作为游戏载体的缺点

1. 屏幕小

玩家面对的是手机的小型的屏幕,虽然屏幕分辨率不断提高,并且彩屏也已成为标准,但是屏幕尺寸还是很小,因为没有人愿意拿着砖块一样大的手机。

另外,不同的手机的屏幕大小是不同的。比如说Nokia Series 60就提供了和Nokia 5100 Series 40不同的屏幕尺寸。虽然各个厂商已经标准化它们产品的屏幕尺寸以避免分割市场,但是开发者仍然需要为不同的手机优化他们的游戏——玩家肯定想使用特定的手机上所有可用的屏幕空间。

2. 有限的颜色和声音支持

目前有一部分手机的屏幕仍然是黑白的,虽然现在出售的支持Java的手机大部分都是彩屏手机,但是支持的颜色还是很有限。

即使手机本来就有声音设备,但是应用程序播放声音的能力却非常有限。甚至,在今后相当长的一段时间内,手机的声音处理能力会依然弱于PC

1-6所示是PC游戏《魔兽世界》截图;图1-7所示是N60s游戏界面。

 

1-6  PC游戏《魔兽世界》截图

 

1-7  N60s游戏界面

3. 应用程序大小限制

大部分的手机只有很少的内存空间用于运行应用程序。此外,对应用程序的大小始终有一个限制,实际的限制取决于手机设备和移动运营商的规定。

在这样的限制条件下设计开发移动游戏是非常困难的,但是第一台家用计算机只有64KB内存,仍然有人热衷于在其上开发游戏软件。在一些智能手机上内存的限制就少一些,比如Nokia 3650就可以运行几兆字节的应用程序。

4. 高等待时间

等待时间是机器发出请求和接到响应之间所花费的时间,它在计算机上是以微秒计算的,在有线因特网上是以毫秒计算的,而在无线网络则要以秒计算。虽然移动运营商总是在努力增加移动电话可用的带宽,但是却没有把降低等待时间当成首要解决的问题,因为它对于别的PC应用程序并不重要。

无线网络等待时间非常长,这就不可能有效的开发多人快速动作移动游戏。开发者们总是在努力消除它带来的问题。人们发现基于回合制的多人游戏在当前条件下是相当可行的。

还有一种特殊情况:使用蓝牙技术或其他无线局域网技术的手机,可以和附近的蓝牙设备在因特网等待时间内(一般200400ms)通信。这样,使用像Nokia 3650这样的智能手机,就可以和附近的移动用户一起玩多人快速动作游戏了。

5. 可中断性

当用户接听电话的时候,手机会中断进行中的游戏。因此,游戏程序必须能够暂停并且继续,而且不会造成游戏问题(例如,游戏者在打电话的时候老怪仍然在移动,打死玩家扮演的角色,导致输掉游戏),也不会造成内存溢出。这就需要在编程的时候要多注意,Nokia提供了技术文档帮助J2MESymbian C++的开发者了解并解决这个问题。

6. 正在发展的技术

用于开发移动游戏的技术并不是针对游戏而设计的,因此,常常有特定的限制条件。例如,J2ME规范不支持透明度,这就使得子图形除了在空白的背景上以外,在任何其他背景上都会很难看。

幸运的是,大部分厂商的Java手机都补充了J2ME,支持了透明度。这看起来不错,但它带来了额外的问题:为了充分利用扩展版本J2ME的性能,每个开发者都需要支持不同手机特定的API。简而言之,为了得到最好的效果,就需要为一个游戏编写好几个版本。MIDP 2.0规范解决了一些此类问题,但是对不兼容MIDP 2.0的手机是无效的。

1.2.3  扬长避短的手机游戏开发

游戏有惊人的可塑性,它们可以使用从石器时代到现代高科技的每一种技术来实现。每当用以前从来没有使用过的技术进行开发的时候,就需要了解它的性能和局限性,努力把它的性能发挥到极限,同时回避或者解决它的局限性。

经过上面对移动游戏的性能和局限性的讨论,可以得出以下结论。

1. 缩短每回合的游戏时间

人们迟早要打电话或者接电话,并且他们不想把所有的电量都用来玩游戏。所以,理想的情况是每一回合游戏应该保持在5分钟或更短时间之内。当然,这不意味着一个完整的游戏必须在5分钟之内结束。

一定要记住,玩家要有自己的时间表。因此,游戏应该让人们在想要玩游戏的时候就玩,而不要让玩家被动地玩游戏。

2. 合理处理等待时间

移动游戏如何解决无线网络的高等待时间呢?

在一个单人游戏中,游戏者的游戏不需要用到网络,除非是把高分传送到排行榜中,或允许游戏者浏览排行榜。这种网络通信对于游戏影响不大,几秒钟的延迟不会引起用户的反感。实质上,在大多数的单人游戏中并没有这个问题。

在一个“多玩家”单人游戏中,游戏者感觉他们是在玩一个多人游戏,但是事实上,每个人只是面对相同的游戏,在游戏或者回合结束时比较分数。当一个游戏者加入游戏时,他告诉其他游戏者他的ID号,然后开始玩单人游戏。服务器要么给每个游戏者发送一个包含相同消息的游戏状态文件,要么发送一个来自构造启动游戏状态的客户软件的代码。每个游戏者玩游戏,设法取得最高的得分。当一个游戏者结束游戏后,他的客户端程序把他的得分提交到服务器。当所有的游戏者都完成游戏后(或者超过某个时间以后),服务器告诉每个游戏者谁取得了最高分,以及每个游戏者取得的分数。这种风格的游戏在因特网上相当成功,AOL 最受欢迎的游戏Slingo就是一个很好的例子,如图1-8所示。因为只有在服务器开始或者结束游戏的时候才需要交换消息,所以等待时间只有在这些时候才成为一个问题。

 

1-8  美国人喜欢的线上游戏Slingo


在一个基于回合的游戏中,游戏者进入他们的回合,并在接收结果之前需要等待一段时间。几秒钟的延迟是可以容忍的,如轮流式游戏。在一个轮流游戏中,每个游戏者按次序进入回合,像象棋、红心大战这样的经典游戏就是很好的例子。这种游戏的缺点就是游戏者在重新进入回合之前无事可做。虽然经典游戏在因特网上有很多玩家,但这多多少少有点无趣。因此,限制轮流游戏的游戏者数是个非常好的主意,这样延迟就不会变得非常长。24个游戏者是比较理想的情况。

在一个同时动作游戏中,每个游戏者独立于其他游戏者计划他自己的行动。当一个游戏者就绪时,发送指令到服务器。服务器等到从所有的游戏者那里都接到指令,然后分解回合,再把结果发送到所有的游戏者那里。一般的动作类游戏画面效果如图1-9所示。

 

1-9  某动作类游戏截图

在一个“即时动作”游戏中,游戏可能会持续很长时间(几天、几个星期、几个月甚至到永远)。游戏者可以在任何时候进入游戏,执行游戏中的动作。在一些游戏中,他们也许只能与其他同时进入游戏的用户交互;在其他的游戏中,他们也许能与任何游戏者交互,即使这些游戏者已经下线。

让游戏者接受高等待时间的另一种简单方法就是把等待时间分布到游戏本身中。例如,在PC上大部分星际飞船战斗游戏都会让人感觉到是在“二次大战”时的空战中:战船在你身边呼啸而过、向你开炮。然而,在手机上要实现这种火爆的场面困难很大。

可以换一种思路,把星际战舰类游戏做成一个类似第一次世界大战海战的游戏,星际飞船慢慢地移动,彼此之间一发一发的发射导弹,导弹缓慢的移动奔向它们的目标。可以使用这种方法来隐藏几秒钟的等待时间。

当然,还会有更多的解决长等待时间的方法。这是一个值得花时间去思考并解决的问题。


1.2.4  移动游戏开发与传统游戏开发的区别

移动游戏开发与传统游戏开发的区别表现在许多方面,所以,要进行移动游戏开发,必须要深刻理解在开发移动游戏时要注意的几个方面。

1. 开发团队的大小

传统的计算机游戏和控制台游戏一般需要1230人的开发团队。因为大部分移动游戏规模比控制台游戏小,所以一般情况下只需要几个人的团队开发,有的时候甚至设计者和编程者是同一个人。

2. 预算

传统游戏的预算大部分在100万~500万美元之间,而大部分移动游戏的预算则通常少于100万美元。实际上,移动电话有限的显示能力和对应用程序大小的限制,使其不可能像传统游戏那样投入大量的财力物力。从某种意义上来说,这也算是一个优点。

3. 周期

传统游戏一般要开发23年,而大部分移动游戏几月之内就能开发完毕。换句话说,只要有一个小型开发团队和一个小的预算,就可以开发并推广一个专业品质的移动游戏。因此,对于许多在传统游戏领域遇到挫折的开发者来说,移动游戏开发有很强的吸引力。

4. 网络设备

移动游戏可能不同于我们之前看到的任何游戏:它受载体因素的限制,但是支持网络并且可多人游戏。移动电话的特性决定它是一种网络设备,即使它们的处理能力使人想起以前的老式计算机,但是它们的网络性能却更加出众。

5. 开放标准

 

控制台游戏开发需要从控制台游戏厂商取得授权和支持,需要支付给他们“平台使用费”。在无线应用程序世界(如同在计算机游戏开发中一样),可以免费的开发任何款式的游戏,而不用支付给NokiaSun或其他平台提供商一分钱。此外,这些移动游戏开发平台标准可以向开发者发布、开放并可免费取得。

6. 部署

传统的游戏主要是在软件市场上购买。而移动游戏主要是由用户从移动门户网站下载并安装。在有些情况下,它们是通过无线网络下载的。有时用户也可以先将应用程序下载到计算机中,再通过数据线将其传送到手机中。

因此,移动游戏的销售渠道与计算机游戏不同。用户一般通过移动运营商的游戏菜单、手机厂商预装在手机中的游戏菜单或者无线应用程序门户网站上找到移动游戏。

1.3  手机及手机游戏的发展历史和未来

1.3.1  手机的发展历史和未来

2008年底,中国手机用户已经超过6亿,而各国通信运营商提供给ITU的数据显示,全球手机用户已经达到39亿。手机已成为人们必不可少的通信工具。让我们回顾一下手机的发展历史,从而更清楚地了解信息交流和沟通技术演变的步伐。

170多年前,美国画家莫尔斯(见图1-10)在一次旅欧学习途中,萌发了将电磁学理论用于电报传输的想法。于是,1844524日,莫尔斯发明了莫尔斯电码。莫尔斯的电报机从华盛顿向巴尔的摩发出人类历史上的第一份电报——“上帝创造了何等奇迹!”。

 

1-10  莫尔斯

187562日,贝尔做实验的时候,不小心把硫酸溅到了自己的腿上,他疼得对另一个房间的同事喊到“沃,快来帮我啊!”。而这句话通过实验中的电话传到了在另一个房间接听电话的沃特耳朵里,成了人类通过电话传送的第一句话。

1831年,英国的法拉第发现了电磁感应现象,麦克斯韦进一步用数学公式阐述了法拉第等人的研究成果,并把电磁感应理论推广到了空间。而60多年后,赫兹在实验中证实了电磁波的存在。电磁波的发现,成为“有线电通信”向“无线电通信”的转折点,也成为整个移动通信的发源点。正如一位科学家所说的那样:“手机是踩着电报和电话等的肩膀降生的,没有前人的努力,无线通信无从谈起。”

19734月的一天,一名男子站在纽约的街头,掏出一个约有两块砖头大的无线电话并开始通话。这个人就是手机的发明者马丁·库泊,当时他是摩托罗拉公司的工程技术人员。这就是当时世界上的第一部移动电话。

1975年,美国联邦通信委员会(FCC)确定了陆地移动电话通信和大容量蜂窝移动电话的频谱,从而为移动电话投入到商业应用做好了准备。

1979年,日本开放了世界上第一个蜂窝移动电话网。1982年,欧洲成立了GSM(移动通信特别组)

1985年,第一台现代意义上的可以商用的移动电话诞生。它将电源和天线放置在一个盒子里,重量达3kg。与现代形状接近的手机,则诞生于1987年。其重量仍有大约750g,与今天仅重60g的手机相比,简直像一块大砖头。此后,手机的“瘦身”速度越来越快。1991年,手机重量为250g左右。1996年秋,出现了体积为100cm3、重量为100g的手机。此后,又经过进一步小型化、轻型化,到1999年,手机重量已低于60g,如图1-11所示。

      

1-11  E680与索爱Z520

近几年,又出现了智能手机。与传统手机相比,智能手机的优势非常明显,不但内容丰富,还具有可以无限扩展的强大功能以及硬件的可升级性,这使得智能手机能够真正实现通信、电脑和因特网的融合,而要实现智能手机的这些功能必须依靠移动互联网。近年来被通信业界广泛看好的移动互联网,由于很多问题没有得到有效解决,也一直没能得到很好的开发和实施。智能手机的出现打破了这一尴尬局面,移动互联网终于在真正意义上通过手机接触到了用户。

随着中国3G网络的到来,移动运营网络的带宽和传输速度不断提高,针对智能手机的内容服务和数据业务也在不断丰富,这些都将成为中国智能手机市场发展的有利因素。预计今后5年,中国智能手机市场将以46.3%的复合增长率继续稳定增长,2008年的市场销售额已达到398.7亿元。

在目前的智能手机生产阵营中,既包括诺基亚、摩托罗拉、三星、索爱等国外手机厂商,也包括联想、TCL、波导、CECT、熊猫等国产手机厂商。此外名人电脑等传统PDA厂商也开始参与智能手机市场的竞争。参与者的不断加入打破了原本相对单一的市场竞争格局,但是由于各厂商在背景、实力、产品策略和渠道策略方面有差异,市场表现也有明显的差别。据有关数据显示,在2004年第一季度,中国智能手机市场销量前两名的品牌是诺基亚和摩托罗拉,其销量占有率达到82.27%。国内厂商也在努力开拓更大的市场空间。同时,微软和英特尔也都以积极的态度介入中国智能手机市场操作系统和芯片领域,这将进一步激发中国智能手机市场的快速发展。

为了适应客户的需求,国内各大移动电话运营商和厂商也不失时机地推出了所谓的定制手机。定制手机作为手机终端的一部分,其实定制手机终端离广大消费者并不遥远,中国移动推出的“心机”、联通热推的“世界风”就是定制手机。200485日,联通推出的双模“世界风”手机,也将世界风标志画在了显著位置。从中国移动推出“心机”定制手机到中国联通推出“世界风”双模定制终端,手机定制模式将彻底改变手机行业在技术、渠道、服务等方面传统的形式。不仅仅是国内的两大移动运营商都推出自己的定制手机。相关机构预测,在未来几年,手机定制用户群将会达到20%。以此来看,定制手机面向大众化发展已经成为一种趋势。

现在,双模手机也已隆重登场。自200485日中国联通推出“世界风”双模手机到现在已经有一段时间了,虽然当时仅有3款双模手机,但是这丝毫阻挡不了双模手机今后的发展趋势。或许联通在短期内很难达到效果,但是双模手机在未来的发展前景是美好的。从市场角度讲,双模手机将会在一些特殊时期发挥作用,比如在3G建设的初期,当有的地区已经被 3G 网络覆盖,而另一些地区还没有被覆盖时,解决漫游的最好办法就是使用双模手机。日本和美国相继推出了WCDMA/GSM以及CDMA2000/GSM3G双模手机,并受到广大用户的欢迎就证明了这一点。当然,中国联通因为同时拥有GSMCDMA两套移动通信网络,为了整合资源并解决两网运营中所出现的矛盾和问题,推出双模业务也是势在必行的。

经过多年的发展,今天的手机早已不再是单纯的通话工具。分析人士指出,非语音类的移动新业务正在快速发展,配合第三代移动通信(3G)的推出,手机游戏未来充满契机,前途一片光明,其中游戏以及多媒体信息的业务前景最被人看好。在各类新兴业务中,分析人士看好游戏业务是因为游戏类业务可能成为新的热点,一方面游戏最大化地满足了用户个性化需求,另一方面游戏的运营模式也逐步成熟,而且国家在政策上也比较支持。可以说在电信运营商、CPSP的积极推动下,手机游戏产业得到了快速发展,产业链在迅速完善,就目前国内消费情况来看,此类业务在未来市场的潜力还是非常大的。据权威人士预测,游戏市场每年的增长率将保持在60%

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics