65.9K
CodeProject 正在变化。 阅读更多。
Home

为您的x86版Android*游戏选择正确的引擎

2014年9月16日

CPOL

7分钟阅读

viewsIcon

16510

本文将帮助您为您的游戏选择合适的引擎,使其在所有 Android 客户设备上都能达到最佳运行效果。

摘要

游戏开发者知道 Android 市场蕴藏着巨大的机遇。在 Google Play 商店排名前 100 的应用中,约有一半是游戏(排名前 100 的高收入应用中,游戏占比也超过 90%)。要打入这个市场,开发速度至关重要。一些初学者和独立开发者喜欢从头开始编写所有代码,但要达到高水平的质量而不花费数年时间开发,其他人则选择现成的游戏引擎。在选择引擎时,以下是一些需要考虑的因素:

  • 成本 – 您计划花费多少?
  • 维度 – 您的游戏是 2D 还是 3D?
  • 语言 – 您的开发者熟悉哪些编程语言?
  • 美术流程 – 与内容创作工具的集成效果如何?
  • 完整源代码访问 – 您是否需要访问以对引擎进行深度修改?

市面上有许多 Android 游戏引擎,但它们在这些标准上的差异很大。随着高性能 Android 设备(配备 Intel® 处理器)的市场渗透率不断提高,选择一款针对 x86 版 Android 设备优化的引擎比以往任何时候都更重要。本文将帮助您为您的游戏选择合适的引擎,使其在所有 Android 客户设备上都能达到最佳运行效果。

您的选择候选项

本文将根据这些类别,考察三个最佳候选引擎。

Epic Games 的 Unreal* Engine 自 1998 年首次发布以来,一直是业界的重量级选手,在 PC、主机和移动平台上的成功案例不计其数。Unreal Engine 拥有以下工具:

  • Unreal Editor(3D 内容编辑器)
  • Blueprint 可视化脚本(拖放式编辑)
  • Persona 动画工具
  • 用于 AI、光照和其他效果的编辑器和工具

Havok 的 Project Anarchy* 是一个较新的开发项目。它结合了 Havok 拥有良好记录的关键游戏技术,并将其定制为一个专门用于移动开发的引擎。Project Anarchy 包含以下组件:

  • Havok Vision Editor(3D 内容编辑器)
  • Havok Vision Engine(含 Havok Physics)
  • Havok Animation Studio(拖放式编辑)
  • Autodesk Scaleform*(UI 工具)
  • 用于 AI、光照和其他效果的编辑器和工具

Marmalade* 是一个为快速创建移动游戏而构建的跨平台 SDK。Marmalade 的技术比其他两者更新,它于 2011 年才作为游戏引擎发布。Marmalade 有以下几种形式:

  • Marmalade C++ SDK
  • Marmalade Quick(Lua)
  • Marmalade Juice(Obj-C)
  • Web Marmalade(HTML5/JavaScript*)

成本

许多引擎提供多个定价层级,具体取决于所需的功能。最常决定成本的因素是目标平台以及您的团队或公司的规模。

Unreal Engine 要求每月支付 19 美元的订阅费,并要求从所有基于其技术的产品中提取 5% 的总收入。此外,还提供定制定价方案、额外支持以及面向主机的开发选项。

Project Anarchy 对于任何规模的团队开发移动游戏都是免费的(并将继续免费)。另可购买一项服务,允许面向 PC 或主机的开发,并提供更深入的访问权限和更多工具。对于基本开发而言,Project Anarchy 绝对是最具成本效益的,仅需选择与您的游戏进行联合营销。

在撰写本文时,如果您的组织年收入低于 50 万美元,Marmalade 对最多 3 名开发者的团队免费使用 1 年。这是一项临时促销活动,正常许可证费用为 149 美元 + 税。更高的定价层级允许面向更多目标平台进行开发,并提供直接的开发者支持。

维度

3D 游戏的吸引力毋庸置疑,但对于许多简单的游戏来说,2D 更适合,并且所需的时间和资源也少得多。您的游戏的维度对您的引擎选择有很大影响。

Marmalade 确实支持 3D 图形,但 Unreal Engine 和 Project Anarchy 都是为此而构建的。这些引擎已经经过多次优化,以提供最佳的 3D 开发体验。

同样,这三者都可以用于 2D 游戏,但 Unreal Engine 和 Project Anarchy 可能有些大材小用。Project Anarchy 目前有一个 alpha 级别的 2D 工具集示例,而 Unreal Engine 和 Marmalade 都有 2D 示例代码。Marmalade 工具的一个子集,Marmalade Quick,专为快速开发而设计,且仅限 2D。

这三者都可以用于 3D 和 2D 游戏,但 Marmalade 更适合 2D,而 Project Anarchy 和 Unreal Engine 则最适合 3D。

语言

如果您的团队中的开发者熟悉,甚至更擅长使用引擎中的编程语言,那么学习曲线将更容易接受。

在 Unreal Engine 4 之前,Unreal Engine 中的游戏编程是使用 UnrealScript 完成的,这是 Epic 自有的、具有类 C++ 语法的脚本语言。随着 Unreal Engine 4 的发布,C++ 成为主要的开发语言。

Project Anarchy 基于 C++,并使用 Lua 进行脚本编写。许多引擎尽可能使用轻量级脚本语言(如 Lua)来最小化对内存管理等低级任务的风险。

Marmalade 拥有多个工具集,取决于所需的语言。基础 SDK 使用 C++,Marmalade Juice 使用 Objective-C*,Marmalade Quick 使用 Lua,而 Web Marmalade 专为 HTML5/JavaScript 开发而设计。

在语言选项的多样性方面,Marmalade 表现出色。您的开发者很有可能能够使用某种形式的 Marmalade 与他们喜欢的开发方式结合。这一属性与它“一次编写,随处运行”的抽象层特性密切相关。

美术流程

开发团队仅由程序员组成的日子早已一去不复返。如今,游戏工作室(无论大小)在程序员和美术师之间的比例相当均衡。与内容创作工具紧密集成的引擎比竞争对手更具优势。

Unreal Engine 和 Project Anarchy 都拥有用于布局、关卡设计、资源操作等的 3D 编辑器。这些对于 3D 美术师尤为有用,因为它们的界面与许多 3D 美术工具相似(这些工具也将与引擎编辑器结合用于资源创建)。

Unreal* Editor(左)和 Havok Vision Editor(右)

Unreal Engine 具有“Blueprint 脚本”功能,其中脚本组件(如操作)被可视化为拖放式元素。

Unreal* Editor 中的 Blueprint 脚本

Project Anarchy 拥有一个类似的、基于状态机的动画设计器。

Project Anarchy* 分层状态机动画工具

尽管 Marmalade 拥有一个庞大的社区,开发了用于辅助开发的开源插件和工具(其中许多可在 http://github.com/marmalade 上找到),但官方 Marmalade 工具包中不包含面向非程序员的内容。Project Anarchy 和 Unreal Engine 在这方面凭借其相当全面的工具套件而领先。

完整源代码访问

就无限的可能性而言,仅次于创建自己的引擎的就是拥有修改引擎的能力。通过访问完整的源代码,您可以更改其中的任何内容,或添加对其他新目标平台的支持。

Unreal Engine 在这方面最为慷慨;在支付 Unreal Engine 4 的订阅费后,即可获得完整源代码访问权限。

Project Anarchy 提供部分组件的源代码,并在较高投资级别提供完整源代码。低级别访问始终可用,但在免费版本中修改受到限制。

尽管 Marmalade 拥有大量开源插件,但 Marmalade 本身是闭源的。最高级别的付费可获得针对性支持,但没有额外的源代码访问权限。

这对于大多数开发者来说不是什么大问题,但您的游戏的引擎设计越复杂,您可能就越需要对每一个细节进行控制。

功能对比

  Marmalade Project Anarchy Unreal Engine
最低成本 免费促销/149 美元+ 免费 每月 19 美元 + 5%
维度 3D 可行 专为 3D 设计 专为 3D 设计
二维 最简单 工具集处于 Alpha 阶段 可行,有示例
语言 C++、Objective-C、Lua、HTML5 C++、Lua C++
非程序员功能 第三方 3D 编辑器、动画工作室 3D 编辑器、Blueprint 脚本
完整源代码 部分,最高级别可获得全部

摘要

此处比较的每个引擎都有其优点和特定的长处。如果未来成本是一个考虑因素,那么 Project Anarchy 是最佳选择。考虑到修改和扩展引擎的技能和意愿,Unreal 是成本最低的选择。对于快速开发 2D 游戏,Marmalade 很难被超越。市面上还有许多其他免费和开源的引擎,它们可以满足此处比较的引擎的许多功能,但这些引擎在各种 Android 设备上让您的游戏闪耀的能力,将这三款引擎置于许多列表的顶端。

参考文献

关于作者

Brad Hill 是 Intel 开发者关系部门的一名软件工程师。Brad 在 Intel 硬件上研究新技术,并通过 Intel® Developer Zone 和开发者大会与软件开发者分享最佳实践。他还担任学生黑客马拉松的工程总监,在全国各地的大学和学院举办“为善而编码”黑客马拉松。

© . All rights reserved.