移动优化实用指南 – 脚本和游戏设置方法

本节将演示移动开发人员写入代码并构造游戏,以便让游戏运行更快的方法。本节的核心理念是游戏设计和优化实际上并不是分离的过程;您在设计游戏时做出的决定可以让游戏乐趣十足且运行流畅。

一个历史性的示例

您可能还记得一些老游戏,在这些游戏中,玩家每次只能在屏幕上射击一次,并且装弹速度取决于子弹是否打偏,而不是计时器。这种技术被称之为对象池 (object pooling),它简化了内存管理,让程序运行更加流畅。

太空入侵者的创作者仅拥有非常少量的 RAM,他们必须确保程序无需分配超过可用的 RAM。如果他们让玩家每秒钟射击一次,并且提供 可以将装弹时间减少至半秒钟的动力恢复,那么在玩家尽快射击,并且所有射击都保持尽可能长的有效时间的情况下,就必须确保有足够的内存空间来分配大量爆弹。这可能给他们新的问题,因此,他们仅分配了一颗爆弹,仅此而已。如果爆弹爆炸,它只会变得无效,并在再次射击时复位并激活。但是,它始终在内存中位于同样的空间,而不会到处移动或不断地删除和重建。

优化,或是最佳游戏设置?

这很不现实,但却非常有趣。当外星入侵者接近地面的高潮时刻,压力会不断释放,就像电影或文学作品的高潮部分。入侵者的贴近给熟练的玩家接近瞬时的装弹速度,允许玩家力挽狂澜,通过在完美的时机扣动射击键,保卫地球。交互式叙事方式以及提供 动力的背景技术之间的奇幻空间采用了精良的游戏设置。事实上,要规划这样精良、有效且富有乐趣的游戏并非易事,因为代码逻辑和玩家交互是两个截然不同且异常苛刻的方面,同时使用这两者合成新鲜有趣的游戏需要多方面考虑和反复试验。

您可能难以考虑到游戏的所有方面,同时规划游戏的交互并很好地利用移动硬件。这些双方和谐共处的“最佳设置”更有可能在您实验期间像一场事故一样突然出现。但是,深刻理解代码在您想要部署的硬件上的运行方式,将带来很大的帮助。如果想要了解详细的技术说明,证明技术池是更好的选择的,并了解更多内存分配的信息,请参阅脚本优化页面。

X 在移动设备上是否运行更快?

假设您正开始构建一个游戏,并且想通过大量的动作和闪亮的物体让玩家眼前一亮,应该如何进行规划?如何了解哪些地方存在限制,用游戏术语说,就是要多少金币,多少僵尸,多少对手车辆?这都取决于您如何为游戏编写代码。

一般而言,如果使用简单的方式或最为普遍或通用的方式编写游戏代码,您将更快遇到性能问题。越是依赖某种特定结构和技巧来运行游戏,就可以更好地扩宽视野,也可以在屏幕上呈现更多物体。

简单通用,但运行缓慢

复杂且受限,但运行更快

示例

同时在屏幕上呈现数百旋转、动态光照、金币收集。

您的定制软体模拟

30 个敌人角色同时向玩家射击

脚本优化的方式和原因

请参阅脚本优化

Page last updated: 2013-06-29