上周,丹麦中间件公司 Unity Technologies 发布了其 Unity iPhone 游戏开发环境 1.5 版。
我们采访了首席运营官尼古拉斯·弗朗西斯,了解该公司如何成功提升该技术的性能,以及未来我们应该关注什么。
Pocket Gamer:您声称 Unity iPhone v1.5 的性能提高了三倍,您是如何做到的呢?
尼古拉斯·弗朗西斯:纯粹的怪癖。
我们的工程师花了大量时间研究 Apple 驱动程序中的汇编代码,以便我们能够确定需要避免哪些代码路径,以及如何巧妙地绕过驱动程序中未优化的部分。
我们还在核心源代码中做了大量低级汇编优化。iPhone 有一个矢量协处理器,但很少有人使用。我们将皮肤代码移到了这个协处理器上,这样我们就可以获得更好的并行性。
最后,我们对关卡几何体进行一些处理,这样即使网格是单独的对象,我们也可以将它们组合在一起。由于我们是通过代码进行此操作的,因此我们可以优化绘图,这样即使我们在一个批次中渲染所有对象,我们仍然可以删除被遮挡或超出视图范围的对象。
我们可以制作出比其他任何人运行速度快 20 倍的示例,但这是作弊。
在什么时候你会遭遇收益递减?
很难说。总会有更强大的功能出现。但我认为我们现在已经非常接近了。值得庆幸的是,苹果正在推出配备新硬件的新机型,所以我们可以再次这样做。
“通过 Unity 脚本访问原生 iPhone 功能”如何提高开发人员的工作效率?
生产力的主要提升来自于在游戏的所有其他部分使用 Unity 的能力。有了它,您就可以轻松地进入核心 iPhone API 调用,从而可以做比以前更灵活的事情。
1.5 版专门支持 iPhone 3GS,并且支持 iPhone 3G 的自动回退,那么您认为 Unity 将来能够解决这些碎片问题吗?
当然。这是我们在 Unity 的主要技术中已经做过的事情,因为它需要充分利用从游戏装备到你妈妈的二手笔记本电脑等一切东西。基本上,我们已经拥有了所有基础设施 - 并且在这个版本中已经交付了相当多的东西。
您能解释一下反盗版保护功能吗?
我不会过多地详细介绍它的工作原理,但基本上,我们可以检测 Apple 的 DRM 是否已被删除,并为开发人员提供一个简单的值来检查。
如何处理取决于他们自己;他们可以限制级别数量,让游戏中断,或者发挥创造力并思考,“如果玩家不玩游戏,我就通过向他们投放广告来收回我的成本”。
开发人员还需要哪些类型的功能?
我们刚刚询问了我们的 beta 测试人员,虽然没有得出任何结论,但还是有一些明显的趋势:
为 3GS 提供完整的着色器支持。我认为借助 Unity 的后端,实现这一点将非常容易。人们可以使用高端着色器开发内容,然后在旧设备上自动恢复到更简单的版本。
更好的编辑工具。
分析工具。当你为手机等设备开发游戏时,你需要尽可能地提高性能,因此,能够帮助人们找到代码中的热点的工具是人们最希望得到的。
你知道有多少比例的 Unity 用户在 iPhone 上进行开发吗?
我认为大概是 20%。我们总共有大约 2,000 名开发人员使用 Unity,所以大概是这个水平。
感谢 Nicolas 抽出时间。
Unity for iPhone 有两个版本可供选择:Unity iPhone Advanced 和 Unity iPhone Basic。
许可证起价为 399 美元,并且有完整技术的 30 天无限制试用版可供评估目的。
您可以通过开发团队的博客文章关注 Unity 对 iPhone 的持续支持的详细信息。