从控制台移动:将 SSX* 移植到运行 Android* 的 Bay Trail 平板电脑





5.00/5 (2投票s)
本技术案例研究回顾了开发人员在将最新版本的 SSX 移植到代号为 Bay Trail 的 Intel® 平台时面临的挑战,同时保持了游戏的原始精神。
挑战
自 2000 年初推出以来,SSX* (Snowboard Supercross 的缩写) 对 EA SPORTS 来说取得了巨大成功。凭借其标志性的速度、游戏玩法以及真正广阔的游戏场景,这款开创性的游戏主导了快节奏、高挑战性的主机视频游戏市场。但正如俗话所说,时光荏苒,许多影响计算机游戏世界的新设备已被推出。新的平台,如平板电脑和高清 (HD) 智能手机,为游戏开发者带来了许多优势(例如,触摸屏、加速计和地理定位),但挑战也随之而来,特别是对于使用高性能图形计算的游戏,例如SSX。
本技术案例研究回顾了开发人员在将最新版本的SSX移植到代号为 Bay Trail 的 Intel® 平台时面临的挑战,同时保持了游戏的原始精神。
Bay Trail 移动平台
- 四核 x86 CPU 架构
- Intel® 高清显卡
- 系统内存:2GB
*注意:Bay Trail 是 Intel 下一代多核片上系统 (SoC) 架构的代号,基于 Silvermont 平台构建,适用于移动和桌面设备。新的 SoC 系列包括适用于移动设备、笔记本电脑、台式电脑和一体机电脑的 Intel® Atom™、Celeron® 和 Pentium® 处理器。
基本规则
当 Intel 团队与 EA 会面,讨论将SSX滑雪赛车游戏移植到移动平台时,他们制定了基本规则,以确保客户对整体体验感到满意。简而言之,目标是使游戏尽可能接近主机版本。为此,开发团队同意追求以下目标:
- 游戏玩法保真度。SSX 系列的一个标志是直观的游戏玩法,专注于中央角色通过一系列高空特技(“技巧”)的移动,并在“赛道”的丰富细节环境中进行,该环境具有各种各样的下坡地形(“穿越”)。在创建移动版本时,保持这三个“T”(技巧-赛道-穿越)非常重要,这样经验丰富的玩家就不会对尝试这款游戏感到沮丧,而新玩家将获得出色的游戏体验。
- 视觉吸引力。SSX 系列的第二个关键特性是图形设计师融入的视觉吸引力。雪景效果、速度感以及高度细节化的环境相结合,使游戏成为感官的盛宴。在移动计算的受限世界中保持这些特性是一个高优先级事项。
- 沉浸式体验。最后,故事线、个性化角色和复杂的游戏内挑战的整体组合有助于吸引玩家的注意力并让他们投入到游戏世界中。我们都经历过那种完全沉浸在复杂但有益的挑战中的时刻,即使是微小的干扰也可能打破这种魔法。因此,最终的指令是保持体验的连续性,从而让玩家更深入地投入到游戏玩法世界中。
可用的工具
开发团队收集了专门用于为主机游戏建立性能基线的工具和技术。这些工具包括 Intel® Graphics Performance Analyzers (Intel® GPA),一个出色的 EA 内部开发框架;一个内部跨平台渲染器;一套用于资产管理的第三方库;一套基于触摸的控件;以及一个高端目标设备(例如,Bay Trail)。
移植过程的第一步是让游戏代码在新的平台上编译并运行。这使得团队能够进行 CPU 和 GPU 性能分析,以便进行优化。
GPU 工具
团队使用 Intel GPA 分析了应用程序的系统和帧率。Intel GPA 系统分析器用于高层帧率分析,指示系统渲染屏幕变化到视觉界面的速度。他们使用 Intel GPA 帧分析器对渲染计算进行低层分析,以更好地理解为什么某些绘制调用效率不高。此外,帧分析器有助于团队检测地形几何中的排序问题。最后,团队确定与粒子系统相关的绘制调用是最耗时的。在这些调用中,片段着色器是瓶颈。团队确定,每片段完成的一些工作可以改为每顶点完成,因此将其从片段着色器移到了顶点着色器(参见下面的资产预算和优化)。
CPU 工具
团队使用早期版本的 Intel® VTune™ Amplifier 2014 for Android* 来评估多核 CPU 的负载水平。通过此工具和之前使用 Intel GPA 进行的分析,团队确定 CPU 不是限制资源,从而使开发人员能够专注于其他更关键的领域。尽管使用了早期版本的 VTune Amplifier for Android,但它仍然提供了热点支持,用于可视化系统资源的重度占用区域。
资产预算
除了测量系统处理利用率外,团队还考虑了应用程序的其他修改领域。特别是,他们审查了游戏资产对游戏性能的总体影响。
第一个考虑的领域是游戏存储占用空间和系统内存利用率。考虑了各种纹理压缩,但团队选择保留原始 DXT 压缩以保持视觉质量。更令人担忧的是系统内存的限制,团队使用了一组简化的资产来限制游戏过程中消耗的内存量。一些资产被内存映射到 APK 中的文件,以便进行按需快速加载,而不是将其保留在标准内存中。
第二个考虑因素是原始游戏的广阔地形大小和细节。显然,不可能保留原始地形的所有细节,但根据基本规则的要求,仍然有必要保持沉浸式游戏体验。为此,保留了赛道的长度和地形。然而,前向视距受到限制(例如,500 米),并且删除了不必要的景观细节或通过减少顶点数进行了优化。
第三个考虑领域是角色模型和物理动画。为了适应简化的内存和存储限制,身体模型和配件的顶点数量大大减少。结果是更适合移动平台的细节级别,同时保持了游戏的精神。
图 2 显示了更适合移动平台的修改后的渲染管道。基本角色位置在模板缓冲区上叠加到背景纹理上。然后将此图像传输到帧缓冲区,并在其中渲染角色图像。在添加了贴花、特效和屏幕显示等最终屏幕元素之前,添加了地形和天空元素。然后将最终帧传输到显示缓冲区以交换到屏幕上。这样做是为了通过从前到后绘制来尽可能地消除过度绘制。元素根据当前着色器/纹理组合被添加到“存储桶”中,然后按顺序绘制。
为了理解模板,我们深入研究了地形。地形被计算为一个多边形网格,在运行时会被细分成更小的形状。网格本身用于最远的 LOD(细节级别),LOD 越近,细分越精细。由于地形被大量简化,这导致最远的 LOD 与最近的 LOD 之间可能相差半米。
在主机版本中,地形上的贴花使用了投影纹理。开发人员想要更简单的东西,所以他们选择了几何。为了起作用,几何体必须靠近地面,但由于地形高度随 LOD 的变化,团队需要处理许多边界情况。
结果是使用模板制作了一个蒙版,使贴花悬停在地面上方最多半米处,或者大约在角色腰部高度。模板只是遮挡了角色,制造出角色粘在地面上的错觉。(当相机靠近地面上的贴花时,可以看到边界情况;贴花可能会显得悬空或继续掉落到悬崖上)。
优化
除了资产缩减,还需要考虑移动环境的一些视觉优化。例如,团队不得不仔细考虑滑雪板的射线投射(模拟阳光或其他光源引起的相机效果)和各种动画混合。各种音频效果,如环境音效,需要被简化、消除或减少,以避免使处理系统过载并干扰游戏玩法。最后,有必要减少用户界面 (UI) 消息返回到 Autodesk Scaleform* UI 框架的每个游戏帧,以获得可接受的视觉响应时间。地形上的法线贴图有助于从原始游戏中获得一些地形的真实感,因此阴影对整体体验的重要性降低。因此,世界拥有预设的灯光和阴影。动态阴影已从移动版游戏中移除;用于动态阴影的额外通道对渲染引擎来说是一个太大的性能负担。
对于各种角色资产,角色骨骼动画和表面网格与头部和夹克相比,从 300 个顶点大幅修改为 150 个顶点。团队使用了三分之一少的顶点来简化网格的复杂性,同时保持视觉保真度。对于地形,团队将多边形数量减少了 50%,同时保持了关键的山地地形。如前所述,绘制距离限制在 500 米,树木和岩石实例被移除或减少,只要它们不是游戏玩法的关键元素。天空被渲染为静态天空盒,而不是实时天气效果,远距离地形元素(如背景中的远山)也是如此。最后,团队小心地使用几何着色器限制了渲染粒子(如飞雪),以提供适当的视野和速度限制的错觉(图 3);这样可以在 1/3 的处理时间内实现视觉保真度零损失。
解决方案
鉴于 Intel 高清显卡和多核 CPU 架构,Bay Trail 是将SSX游戏移植到 Android 的理想目标。然而,即使在这个配置优越的环境中,也需要对游戏进行一些修改(如表 1 所示)。在这些更改中,引入基于触摸的控制系统被证明是对控制测试组来说最有趣的,因为基于加速计的控件不受青睐。相反,开发团队使用屏幕上的触摸式系统来控制角色的速度、方向和技巧表演(图 4)。
控制台 |
移动设备(Bay Trail 平板电脑) |
---|---|
10 个角色,9 个区域,2 种游戏模式,装备升级和区域特殊装备 |
4 个角色,7 个区域——围绕硬件和构建大小限制重新设计 |
广泛的用户界面管理和选项 |
菜单系统保留,重新设计为触摸屏 |
游戏手柄控制 |
触摸控制 |
Lua 运行时 |
C++ 编译 |
OpenGL* |
OpenGL ES* |
结论
电子游戏的历史上有许多将游戏从一个平台移植到另一个平台的例子,其结果是保持游戏玩法体验保真度的挑战。几何体的简化、切换到纹理压缩格式、利用几何着色器处理粒子系统以及仔细的每顶点处理都为将高度成功的SSX游戏重新诠释到移动平板电脑环境做出了贡献。优势和限制迫使游戏开发者进行仔细的考虑和权衡,但最终,可以达成一种平衡,使玩家能够像他们期望从现代游戏系统中获得的那样,自然地体验新的环境可视化、游戏玩法和控制。
EA 的SSX拥有一大批忠实粉丝,他们很高兴得知现在可以在旅途中玩他们最喜欢的游戏了。这项工作为进一步移植更高端的游戏奠定了基础;想到我们下一步将走向何方,真是令人兴奋。
参考文献
- Bay Trail:http://ark.intel.com/products/codename/55844/Bay-Trail#@Mobile
- Intel 高清显示,Intel® Iris™ 图形:http://www.intel.com/content/www/us/en/architecture-and-technology/hd-graphics/hd-graphics-developer.html
关于作者
Benjamin A. Lieberman 是 BioLogic Software Consulting 的首席架构师。Lieberman 博士在各种软件开发主题方面提供咨询和培训服务,包括需求分析、软件分析与设计、配置管理和开发流程改进。Lieberman 博士在电信、航空旅行、网络电子商务、金融服务和生命科学等领域拥有超过十五年的软件设计、企业架构和信息技术经验。他的咨询服务基于软件开发的最佳实践,专注于面向对象的架构和分布式计算。特别是,基于 Java 的系统和分布式网站开发、面向服务架构 (SOA)、C#/.NET 和基于 C++ 的客户端-服务器系统。Lieberman 博士已为 United Launch Alliance、Comcast、EchoStar、On-Command、Cricket Telecommunications (Leap Wireless)、Level(3)、Galileo International、杜克大学和科罗拉多大学等公司提供了应用程序和企业架构服务。Lieberman 博士也是一位成就卓著的专业作家,著有书籍和许多软件相关文章。Lieberman 博士拥有科罗拉多大学健康科学中心(丹佛,科罗拉多州)的生物物理学和遗传学博士学位。
Cristiano Ferreira 是 Intel 开发者关系部门的一名图形应用程序工程师,他帮助游戏开发者在 Intel 硬件上为客户提供最佳体验。