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

Android 平台:我应该选择哪些游戏引擎、库和 API?

2016 年 2 月 1 日

CPOL

8分钟阅读

viewsIcon

12502

本文介绍了用于游戏开发的最佳工具和引擎。

Intel® Developer Zone 提供用于跨平台应用程序开发的工具和操作指南、平台和技术信息、代码示例以及同行专业知识,以帮助开发人员创新并取得成功。加入我们的 Android物联网Intel® RealSense™ 技术Windows 社区,下载工具、访问开发套件、与志同道合的开发人员分享想法,并参加黑客马拉松、竞赛、路演和本地活动。

Android* 平台上有大量游戏。独立开发人员在开发游戏时,可能会发现难以选择要使用的工具、库或 API。本文介绍了用于游戏开发的最佳工具和引擎。

Google Play* Games Services

Google Play Games Services 提供了 Android SDK,其中包含所有工具和软件,可帮助开发人员制作相当成熟的游戏。Android SDK 旨在让开发人员打包 API,以便与 Google+ 服务集成。由于它是一个云连接的 SDK 和平台,开发人员可以将玩家数据、游戏进度、成就等信息存储在云端。

通过 Google+,开发人员可以获得 Google 的便捷工具,让他们的游戏更具社交性。要使用游戏服务,开发人员可以设置 Google Play 服务 SDK 并研究游戏服务示例,以了解如何使用 SDK 的主要组件。SDK 包含 Google Play 游戏服务的详细文档。为了在开发应用程序时快速访问,API 参考文档随时可用。

另一个有趣的特性是能够在 Web 和 Android 游戏之间同步游戏数据。这样,同一款游戏可以在多个平台上玩,数据可以存储在云端。所有运行 Android 2.2 及更高版本并拥有 Google Play 商店的 Android 设备都配备了 Play Games 功能。

Unity* 游戏引擎

平台之间的差异通常意味着必须使用不同的编程语言和单独的 API,并处理不同的行为。跨平台游戏引擎已成为首选工具。Unity 是 Android 开发人员中最受欢迎的游戏引擎之一。

Unity 可用于创建可在计算机、智能手机、iPhone*、PlayStation*3 甚至 Xbox* 上使用的游戏。Unity 为游戏开发提供了一个完整的生态系统。这个游戏开发工具包括一个强大的渲染引擎,与一套完整的直观工具和快速工作流程指南完全集成,用于创建交互式 3D 内容,轻松发布到多个平台,并在 Asset Store 中提供数千个高质量的现成资源。

提供的对象图像支持的资源非常多样,从最简单的 2D 资源到复杂的 3D 资源。此外,Unity 还可以导入 Autodesk 3ds Max*、Autodesk Maya*、Softimage*、Blender*、MODO*、ZBrush*、Cinema 4D*、Cheetah 3D*、Adobe Photoshop*、Adobe Fireworks* 和 Allegorithmic Substance* 等软件资源。

该游戏引擎还支持 C#、UnityScript*(JavaScript* 形式)等应用程序开发语言,并可以与 Boo Script Python 语言集成。在 Unity 中开发的游戏将能够支持多个平台,包括 iOS*、Android、Windows* 8、Windows Phone* 8、BlackBerry* 10、Mac*、Windows、Linux*、Web Player*、PlayStation 3、Xbox 360 和 Wii* U。

在 Unity Engine 上构建的一些著名游戏包括 Dead Trigger*Bad Piggies*Temple Run* 2Three Kingdoms Online*DreadOut*Galactic Rush*Roly Poly Penguin*Eyes On Dragon* 等。Unity 4 是免费的。

App Game Kit*

App Game Kit 是一个跨平台游戏开发语言和库。提供的工具允许通过无线方式将 AGK Basic 应用程序广播到设备进行测试。App Game Kit 社区非常乐于助人,开发人员除了常规文档外,还经常发布教程。可以通过 AGK IDE 中的 AGKBasic 开发游戏,或者将这些库与 C++ 或 Pascal 一起使用。使用 App Game Kit 制作的软件是用一种称为 AGK Script 的语言编写的。这种语言拥有强大的命令,包括用于 2D 图形、物理和网络的命令。这些命令利用平台的本地函数来提高性能。它们还旨在增强代码的可读性。AGK Script 命令拥有广泛的在线文档。它包含许多用于 OpenGL* 3D 图形和着色器部署的命令。使用此工具的一个问题是它有很多 bug。快速查看每个新版本的发行说明,会发现花费在修复现有命令集 bug 上的时间似乎比引入新功能和改进功能的时间更多。例如,最新版本存在一个严重 bug,导致 Android 应用程序在后台运行时,应用程序只显示一个黑屏。另一个问题是文档很少。

Cocos2D*

Cocos2d-x 是一个用 C++/JavaScript/Lua 编写的开源跨平台游戏框架。它可以用于构建游戏、应用程序和其他交互式程序。Cocos2d-x 允许开发人员利用他们现有的 C++、Lua 和 JavaScript 知识进行跨平台部署到 iOS、Android、Windows Phone、Mac OS X*、Windows 桌面和 Linux,从而节省时间、精力和成本。Cocos2d-x 速度快、易于使用,并具有强大的功能。

Cocos2d-x 不仅是开源的,还得到中国和美国的触控科技的支持。该框架定期更新,并为最新的技术定期添加支持。2014 年已经发布了 3.0 版本、新的 Cocos Studio 开发工具包(可选),以及对 Spine* 和 Adobe DragonBone* 等骨骼动画系统的支持。此工具支持 Lua 和 JavaScript,并提供全面的功能支持。特别是使用 Cocos2d-JS,开发人员可以开发跨 Web 和原生游戏,而原生解决方案通过 JS Bindings 具有出色的性能,比使用混合解决方案好得多。不幸的是,此工具在 Android 开发人员中并不受欢迎,因此用户无法在 Google Play 中找到大量使用此引擎的游戏。

Monkey* X Pro

Monkey 引擎是一种下一代游戏编程语言。开发人员可以轻松地在多个平台上创建应用程序。该引擎通过在编译时将 Monkey 代码翻译成多种语言之一来工作,包括 C++、C#、Java*、JavaScript 和 ActionScript*。可以用一套代码为包括 iOS、Android、Windows Phone、HTML5、Flash*、Windows、OS X*、Linux 等在内的多个平台编写代码。开发可以在 Windows、OS X 或 Linux 上进行。

Monkey X 拥有一系列出色的内置模块:图形、音频、输入、数据和文件系统、网络、数学、文本和字符串、集合以及在线服务。

开发人员不限于仅使用官方发布版本中提供的模块。他们甚至可以构建一个“应用程序”模块。感觉是无限的。与其他跨平台解决方案相比,使用 Monkey X,开发人员实际上可以获得翻译后的源代码,并可以对其进行修改。

Monkey 是一种易于学习的语言,它是面向对象的、模块化的、静态类型的,并且是垃圾回收的。语言特性包括类、继承、泛型、接口、反射、异常、预处理器指令和原生代码支持。

与 App Game Kit 一样,此工具的文档很差。文档包含一个相对详细的语言概述和一个生成的包含模块、类和方法的列表。模块描述相当随意,但通常存在。方法描述往往很短,并且大多数都没有使用示例;大多数参数的描述都很少。除了 GitHub,没有社区协作功能来帮助改进它。

Godot*

Godot 是一个功能齐全、开源、MIT 许可的游戏引擎。它专注于提供出色的工具和面向视觉的工作流程,可以轻松导出到 PC、移动和 Web 平台。编辑器、语言和 API 功能丰富,但易于学习,使开发人员能够在几小时内提高生产力。

Godot 有自己的脚本语言,称为 GDscript。这种脚本语言易于学习,采用类似 Python 的格式,但它不是 Python。相反,它是 JavaScript、PHP 和 C++ 的混合体。它非常强大,并且因为它只有一个目的而没有不必要的复杂性。

通过使用内置的编辑器,通过脚本扩展对象,可以使用语法高亮和代码完成来为任何对象添加自定义行为。

下载 PDF

可以使用带有断点和单步执行的内置调试器,并可以检查可能成为瓶颈的图表。

结论

在本文中,我们介绍了几个用于游戏开发的引擎和工具。所有工具都功能强大。对于快速开发手机游戏,开发人员应选择最易于使用的工具。开发人员还需要确定最能满足其任务需求的工具。

相关文章与资源

关于作者

Vitaliy Kalinin 在英特尔公司软件与服务部门工作。他是俄罗斯下诺夫哥罗德洛巴切夫斯基国立大学的博士生。他拥有经济学和数学学士学位,以及应用经济学和信息学硕士学位。他的主要兴趣是移动技术和游戏开发。

© . All rights reserved.