J2ME游戏开发

上传人:cn****1 文档编号:500809701 上传时间:2023-01-22 格式:DOC 页数:40 大小:2.04MB
返回 下载 相关 举报
J2ME游戏开发_第1页
第1页 / 共40页
J2ME游戏开发_第2页
第2页 / 共40页
J2ME游戏开发_第3页
第3页 / 共40页
J2ME游戏开发_第4页
第4页 / 共40页
J2ME游戏开发_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《J2ME游戏开发》由会员分享,可在线阅读,更多相关《J2ME游戏开发(40页珍藏版)》请在金锄头文库上搜索。

1、39第1章 手机游戏概论 手机游戏概论大纲l 手机游戏类型。l 手机游戏开发特点。l 手机发展历史及3G技术展望。重点l 手机游戏主要有以下几种类型:嵌入式游戏、短信息服务游戏、WAP浏览器游戏、J2ME和其他的解释语言类游戏。l 合理开发手机游戏:缩短游戏时间、合理处理等待时间。l 手机作为游戏载体的特点:拥有庞大的潜在用户群、携带方便、对应用程序大小有限制。目的本章的目的是帮助读者对手机本身的特点和手机游戏开发的特点有个清晰的了解,以便于更好更有效的利用手机这样一个平台,在保证游戏质量的同时尽力提高开发速度,开发出优秀的手机游戏。网络游戏产业的繁荣,让企业和消费者同时认识到了游戏的力量,虽

2、然受到屏幕尺寸和操控性的限制,但作为全球使用量最大的通信产品,手机也具有成功进入掌上游戏领域的理由。而彩屏革命过后,手机游戏就变得更加丰富多样了。从当初诺基亚手机中经典的二维贪吃蛇游戏,到今天的三维画面及声色效果俱佳的游戏,手机游戏已经成为一种非常普遍的休闲方式,为玩家带来了很多快乐及新奇的体验,同时也为开发商、手机厂商、运营商带来了更多的利润。这一切得益于Sun公司Java平台的东家,可以说手机端游戏的发展与Java技术的发展有着不可分割的联系。Java 2推出后,Sun推出了一种名为J2ME(基于Java 2 Micro)的平台,被广泛应用于手机端。J2ME能够为用户提供非常丰富和复杂的功

3、能。随着各大手机生产商对J2ME标准的支持,以及基于J2ME开发的手机游戏的可移植性和快速开发的优势,J2ME手机游戏的市场需求越来越高,从事J2ME手机游戏研究和开发的人员也越来越多。那么怎样保证游戏质量,怎样编写好的游戏代码,是每一个从事J2ME手机游戏开发者都应该考虑的问题。开发者首先必须考虑手机自身的特点,例如:手机小键盘是为电话拨号优化的,并不针对文本输入,因此其操控性能较差,如图1-1所示。本章将重点讨论手机本身的特点和手机游戏开发的特点。 图1-1 NOKIA N-GAGE1.1 手机游戏的类型手机游戏就是可以在手机上进行的游戏。目前,用于移动电话上实现游戏的技术主要有以下几种:

4、嵌入式游戏、短信息服务游戏、WAP浏览器游戏、J2ME和其他的解释语言类游戏等。1.1.1 嵌入式游戏嵌入式游戏是一种将游戏程序预先固化在手机芯片中的游戏。由于这种游戏的所有数据都是预先固化在手机芯片中的,如诺基亚手机中的贪吃蛇游戏(见图1-2)。因此,这种游戏无法进行任何修改。也就是说,用户不能更换其他的游戏,只能玩手机中已经存在的游戏,并且也不能将它们删除。图1-2 贪吃蛇游戏1.1.2 短信息服务游戏短信息服务(SMS)是从一部手机向另一部手机发送简短的文字信息,用户一般为每条信息支付少额的信息费。短消息服务游戏的玩法通常是发送一条信息到某个号码,这个号码对应游戏供应商的服务器,服务器接

5、收这条消息,执行一些操作,然后返回一条带有结果的消息到游戏者的手机中。如图1-3所示是两款不错的短信息服务游戏。短信息服务不是一个特别好的用于实现移动游戏的技术,因为它依靠用户输入文字,因此本质上它是一个命令行环境。而且它还很昂贵,即使和服务器只交换较少的次数也要花掉较多的钱。虽然多媒体信息服务(MMS)技术的推出使得基于信息的游戏更加具有吸引力,但是,此类游戏仍然不是一种重要的游戏,所以,在此我们不会深入探讨。图1-3 美人关短信游戏与口袋情人游戏1.1.3 WAP浏览器游戏1999年以后,大部分出厂的手机都配有一个无线应用协议(WAP)浏览器。WAP本质上是一个静态浏览载体,非常像一个简化

6、的Web,是为移动电话小型特征和低带宽而专门优化的。要玩WAP游戏的话,可以进入游戏供应商的URL(通常通过移动运营商门户网站的一个链接),下载并浏览一个或多个页面,选择一个菜单或者输入文字,提交数据到服务器,然后浏览更多的页面。WAP游戏的工作原理如图1-4所示。所以,WAP浏览器游戏就好像我们用计算机上网,并通过浏览器浏览网页来进行的简单游戏一样,也属于一种文字游戏。玩家可以根据WAP浏览器浏览到的页面上的提示,通过选择各种不同选项来进行游戏。图1-4 WAP游戏的工作原理图1.1.4 J2ME和其他的解释语言类游戏J2ME(Java 2 Micro Edition)是一种针对移动电话和P

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

8、(Binary Runtime Environment for Wireless,用于无线应用程序的二进制运行环境)和一些韩国移动运营商支持的名为GVM的标准。图1-5 J2ME游戏动感蓝桂坊1.2 手机游戏开发特点手机游戏的开发特点决定于手机平台的特征,因此,要理解手机游戏开发就要先明白手机本身的特点,本节从手机的优缺点入手,对手机游戏开发与PC游戏开发进行比较,系统地介绍手机游戏开发的特点。1.2.1 手机作为游戏载体的优点1. 庞大的潜在用户群至2008年底,全世界手机用户已经达到39亿,这个数字是各国的通信运营商提供给ITU的(ITU是国际电信联盟建立的一个网站)。在除美国之外的每个发

9、达国家,拥有手机的人数比拥有计算机的人数更多。据工信部数据,截止到2008年10月,我国手机用户累计达到6亿多。支持Java的手机,正在快速地增加,并且在几年内Java手机将成为行业标准。移动游戏潜在的市场比其他任何平台(比如Playstation和GameBoy)都要大。手机游戏业可谓是前途一片光明。2. 便携性GameBoy比其他控制台游戏卖得多的一个原因就是便携性,人们可以随时随地玩他们选择的游戏。与现在的游戏控制台或者个人电脑相比,手机可能不是一个好的游戏设备,但是人们基本上是随时随地都把它们带在身边。在他们离开家的时候或者想玩的时候,都可以享受游戏给他们带来的快乐。1.2.2 手机作

10、为游戏载体的缺点1. 屏幕小玩家面对的是手机的小型的屏幕,虽然屏幕分辨率不断提高,并且彩屏也已成为标准,但是屏幕尺寸还是很小,因为没有人愿意拿着砖块一样大的手机。另外,不同的手机的屏幕大小是不同的。比如说Nokia Series 60就提供了和Nokia 5100 Series 40不同的屏幕尺寸。虽然各个厂商已经标准化它们产品的屏幕尺寸以避免分割市场,但是开发者仍然需要为不同的手机优化他们的游戏玩家肯定想使用特定的手机上所有可用的屏幕空间。2. 有限的颜色和声音支持目前有一部分手机的屏幕仍然是黑白的,虽然现在出售的支持Java的手机大部分都是彩屏手机,但是支持的颜色还是很有限。即使手机本来就

11、有声音设备,但是应用程序播放声音的能力却非常有限。甚至,在今后相当长的一段时间内,手机的声音处理能力会依然弱于PC。图1-6所示是PC游戏魔兽世界截图;图1-7所示是N60s游戏界面。图1-6 PC游戏魔兽世界截图图1-7 N60s游戏界面3. 应用程序大小限制大部分的手机只有很少的内存空间用于运行应用程序。此外,对应用程序的大小始终有一个限制,实际的限制取决于手机设备和移动运营商的规定。在这样的限制条件下设计开发移动游戏是非常困难的,但是第一台家用计算机只有64KB内存,仍然有人热衷于在其上开发游戏软件。在一些智能手机上内存的限制就少一些,比如Nokia 3650就可以运行几兆字节的应用程序

12、。4. 高等待时间等待时间是机器发出请求和接到响应之间所花费的时间,它在计算机上是以微秒计算的,在有线因特网上是以毫秒计算的,而在无线网络则要以秒计算。虽然移动运营商总是在努力增加移动电话可用的带宽,但是却没有把降低等待时间当成首要解决的问题,因为它对于别的PC应用程序并不重要。无线网络等待时间非常长,这就不可能有效的开发多人快速动作移动游戏。开发者们总是在努力消除它带来的问题。人们发现基于回合制的多人游戏在当前条件下是相当可行的。还有一种特殊情况:使用蓝牙技术或其他无线局域网技术的手机,可以和附近的蓝牙设备在因特网等待时间内(一般200400ms)通信。这样,使用像Nokia 3650这样的

13、智能手机,就可以和附近的移动用户一起玩多人快速动作游戏了。5. 可中断性当用户接听电话的时候,手机会中断进行中的游戏。因此,游戏程序必须能够暂停并且继续,而且不会造成游戏问题(例如,游戏者在打电话的时候老怪仍然在移动,打死玩家扮演的角色,导致输掉游戏),也不会造成内存溢出。这就需要在编程的时候要多注意,Nokia提供了技术文档帮助J2ME和Symbian C+的开发者了解并解决这个问题。6. 正在发展的技术用于开发移动游戏的技术并不是针对游戏而设计的,因此,常常有特定的限制条件。例如,J2ME规范不支持透明度,这就使得子图形除了在空白的背景上以外,在任何其他背景上都会很难看。幸运的是,大部分厂

14、商的Java手机都补充了J2ME,支持了透明度。这看起来不错,但它带来了额外的问题:为了充分利用扩展版本J2ME的性能,每个开发者都需要支持不同手机特定的API。简而言之,为了得到最好的效果,就需要为一个游戏编写好几个版本。MIDP 2.0规范解决了一些此类问题,但是对不兼容MIDP 2.0的手机是无效的。1.2.3 扬长避短的手机游戏开发游戏有惊人的可塑性,它们可以使用从石器时代到现代高科技的每一种技术来实现。每当用以前从来没有使用过的技术进行开发的时候,就需要了解它的性能和局限性,努力把它的性能发挥到极限,同时回避或者解决它的局限性。经过上面对移动游戏的性能和局限性的讨论,可以得出以下结论

15、。1. 缩短每回合的游戏时间人们迟早要打电话或者接电话,并且他们不想把所有的电量都用来玩游戏。所以,理想的情况是每一回合游戏应该保持在5分钟或更短时间之内。当然,这不意味着一个完整的游戏必须在5分钟之内结束。一定要记住,玩家要有自己的时间表。因此,游戏应该让人们在想要玩游戏的时候就玩,而不要让玩家被动地玩游戏。2. 合理处理等待时间移动游戏如何解决无线网络的高等待时间呢?在一个单人游戏中,游戏者的游戏不需要用到网络,除非是把高分传送到排行榜中,或允许游戏者浏览排行榜。这种网络通信对于游戏影响不大,几秒钟的延迟不会引起用户的反感。实质上,在大多数的单人游戏中并没有这个问题。在一个“多玩家”单人游戏中,游戏者感觉他们是在玩一个多人游戏,但是事实上,每个人只是面对相同的游戏,在游戏或者回合结束时比较分数。当一个游戏者加入游戏时,他告诉其他游戏者他的ID号,然后开始玩单人游戏。服务器要么给每个游戏者发送一个包含相同消息的游戏状态文件,要么发送一个来自构造启动游戏状态的客户软件的代码。每个游戏者玩游戏,设法取得最高的得分。当一个游戏者结束游戏后,他的客户端程序把他的得分提交到服务器。当所有的游戏者都完成游戏后(或者超过某个时间以后),服务器告诉每个游戏者谁取得了最高分,以及每个游戏者取得的分数。这种风格的游戏在因特网上相当成功,AOL最受欢迎的游戏Slingo就是一个很好的例子,如图1-8

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号