首页>
技术资讯>
详情

掌上游戏机开发指南 如何开发 Smartphone 游戏

2016-05-28 来源:CloudBest 阅读量: 286
关键词: 程序设计


  游戏市场概述
  伴随着新的 Microsoft? Windows? Powered Smartphone 呈现在我们面前的是一些非常有吸引力的游戏,而在未来还会有更多这样的游戏问世。接下去,您将了解这些电话为什么能吸引那些“重量级”的游戏玩家,以及开发成功的游戏需要注意的事项。
  
  计算机游戏市场走过了一条漫长的发展之路,这条路的起点可以追溯到上个世纪 70 年代后期第一款基于字符的简单游戏的诞生。从金融角度来讲,一些分析家声称:仅在美国,游戏市场加上游戏机和 PC 软件的销售,预计到 2004 年将带来 180 亿美元的销售额;而在全世界范围内,该项销售总值已经超过了整个好莱坞电影产业的产值。从技术角度来讲,游戏市场带动了消费硬件的发展,而在过去几年中,甚至带动了 Internet 的普及和连通。很显然,那些字处理软件、电子表格软件或者业务流程应用程序并不象计算机游戏那样,需要功能更强大的三维图形芯片、大容量存储设备以及速度更快的处理器。
  
  据预测,新兴的无线游戏产业的产值到 2006 年将达到 40 亿美元到 150 亿美元,当然不同的人有不同的算法(英文)。无论游戏产业朝什么方向发展,其前景都将非常美好。
  
  游戏开发
  移动电话的游戏开发与基于 PC 的游戏开发的发展道路非常相似。PC 游戏开发的进步表现在从非图形到图形、从单人游戏到多人游戏、从互不相连到 Internet 互联等各个方面。经过数年的发展,移动电话中的游戏已经达到那些较低级的图形 PC 游戏的水平了。而有些移动电话制造商已经开始在产品中包含更好的图形支持,尽管现在市场上出售的一些移动电话的内置游戏几乎没有任何图形。
  
  有了 Smartphone 的支持,移动电话产业将能取得象在 PC 游戏市场中那样的巨大飞跃。虽然其发展会更加迅猛,但最先发布的 Smartphone 游戏可能仍然是现有的 Windows 和 Pocket PC 游戏。由于游戏开发人员可以使用相同的开发工具、编程语言和操作系统 API(应用程序编程接口),因此将这些游戏移植到 Smartphone 的工作量非常小。
  
  可以移植到 Smartphone 中的游戏
  下表是为 Smartphone 2002 开发和移植游戏的公司。
  
  表 1:为 Smartphone 2002 开发和移植游戏的公司。
  
  公司 游戏
  Ideaworks3D(英文) “Rebound!”以及很多其他游戏,有些是与 Eidos Interactive(英文)等合作出版商共同进行的。
  Hexacto(英文) “Tennis Addict”、“Full Hand Casino”和“Slurp”。更多的游戏将相继问世,包括“Lemonade Inc.”、“Baseball Addict”和“Bob The Pipe Fitter”。其中,有几个游戏将具备多人游戏的功能,充分利用了 Smartphone 的无线功能。
  Incagold(英文) “Slamtilt”,一种三维弹球游戏
  Pixel Technologies(英文) “MobilePlay 1”,一个包含国际象棋、跳棋、纸牌、锄大地、军棋和黑白棋等多人游戏的在线游戏包
  Xen Games(英文) “Interstellar Flames”,一款让用户驾驶战斗机保卫地球的动作游戏
  Terra Mobile-iobox(英文) “Defender”以及其他将具有无线功能的游戏
  
  游戏开发工作和开发出的游戏的质量很大程度上取决于目标平台的性能以及可用的游戏引擎。除了 Smartphone 软件开发工具包中的 API 以外,预计还会有以下游戏引擎可供使用:
  
  Fathammer 的 X-Forge 三维游戏引擎(英文)
  Tao's Group 的多媒体 Java(J2ME MIDP)平台(英文)
  Amiga Anywhere(英文)
  单击这些链接查看丰富的功能,以及它们带给 Smartphone 用户的引人入胜的游戏体验。
  
  编写高效的游戏
  为了深入了解如何编写高效的游戏,我们请教了 Sven Myhre。Sven Myhre 是 Amazing Games(英文)的 CEO,同时也是一名游戏开发人员。
  
  手持设备用户和开发人员中间普遍存在一个错误概念,即现在的 ARM 处理器与同一速度级别的 Pentium 处理器功能相当,但 ARM 处理器并未很好地体现出这一点。一个早期的 Pentium 处理器就可以胜过当前基于 ARM 的所有 Smartphone 和 Pocket PC,这是由处理器自身及其支持系统决定的。
  
  Pentium 处理器具有超标量体系结构(能够在一个时钟周期内执行多条指令),有五个并行执行单元和一个集成的浮点运算单元。一般情况下,大多数以 Pentium 处理器为核心构建的 PC 都有一个内部 L1 缓存和一个大型外部 L2 缓存。
  
  当前基于 ARM 的 Windows Powered Smartphone 和 Pocket PC 具有标量体系结构(它们可以在一个时钟周期内完成一条指令)。但是指令集受到很大的限制,只包含了最基本的指令,而不包含一些相对高级的指令(比如除法),这些指令必须在软件中进行模拟。
  
  另外一个问题是向处理器提供指令和数据以保持其全速运行的能力。大多数设计方案都使用一条 16 位总线来获取代码指令和数据。由于所有指令都是 32 位的,总线的运行速度就应当是处理器速度的两倍,这样才能满足代码指令管道的需要。但实际并不是这样的。因为总线速度要比处理器速度慢,所以实际的解决方案是另外一种方式。处理器与总线的速度比在 2x 到 4x 之间。一条 66-MHz、16 位的总线最多只能为 33-MHz 的 ARM 处理器提供足够的代码指令以使其保持全速运行,这其中还不包括您需要处理的数据。为了解决这个问题,大多数 ARM 处理器都包含一个指令缓存和一个数据缓存,通常这两个缓存的大小均为 8 Kb,有些大的可以达到 32 Kb。只要缓存中出现请求的代码指令或数据,CPU 就能以全速直接从缓存中获得它们,而不必经过缓慢的内存总线。而一旦需要访问尚未加载到缓存中的代码和数据,您就会切换回 < 33 MHz(假定总线为 66 MHz、16 位)的速度。实际上,将一个 132 MHz ARM 处理器的速度降低为 2 MHz 是相当容易的。只需要采用一种效率非常低的方式来组织数据,使缓存失去作用就可以实现这个目的。
  
  即便是这样,也比您使用错误数据类型和低效率编码的工作速度要快。执行大量除法运算,或者滥用浮点数据类型,将使 CPU 为达到每秒 20 万条代码指令的速度而“筋疲力竭”

热门推荐 查看更多