Quantcast
Channel: 英特尔开发人员专区文章
Viewing all articles
Browse latest Browse all 583

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

$
0
0

有许多游戏都适用于 Android* 平台。 独立开发人员发现,开发游戏时,很难选择使用哪种工具、库或 API。 本文将介绍最适合进行游戏开发的工具和引擎。

Google Play* 游戏服务

Google Play 游戏服务提供 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 引擎构建而成,比如 Dead Trigger*Bad Piggies*Temple Run* 2Three KingdomsOnline*DreadOut*Galactic Rush*Roly Poly Penguin*Eyes On Dragon*等。 Unity 4 免费提供。

应用游戏套件*

应用游戏套件是交叉平台游戏开发语言和库。 它提供的工具可支持 AGK Basic 应用无线广播至设备,以供测试。 应用游戏套件社区非常便利和实用,而且开发人员除定期发布文档外,还会经常发布教程。 可通过 AGK IDE 使用 AGKBasic 开发游戏,库也可搭配 C++ 或 Pascal 使用。 借助应用游戏套件开发的游戏使用 AGK Script 语言编写而成。 该语言拥有功能强大的命令,包括面向 2D 图形、物理特征和网络的命令。 命令使用平台的本机功能提高性能。 它们经过设计,可显著提高代码的可读性。 关于 AGK Script 命令的在线文档非常丰富。 它包含许多面向 OpenGL* 3D 图形和着色器部署的命令。 使用该工具面临的一个问题是,它有许多漏洞。 速览有关新版本的版本说明可看出,借助现有命令修复问题,比推出新特性和改进特性更加耗时。 例如,最新版存在一个比较严重的漏洞,由于该漏洞,放在后台的 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 — 全新的 Cocos Studio 开发套件(可选),以及针对新技术(比如骨骼动画系统 Spine* 和 Adobe DragonBone*)的支持。 该工具支持 Lua 和 JavaScript,而且是全功能支持。 尤其借助 Cocos2d-JS,开发人员可开发交叉网页和本机游戏,而且本机解决方案因包含 JS 绑定,具备出色的性能,显然优于使用混合解决方案。 遗憾的是,该工具并不太受 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 是一种简单易学、面向对象、模块化、静态类型、可进行垃圾回收的语言。 语言特性包括类、继承、泛型、界面、反射、异常、预处理器指令和原生代码支持。

作为一种应用游戏套件,有关该工具的文档比较缺乏。 文档包含相对比较详细的语言简介,并列出了所包含的模块、类和方法。 模块描述比较马虎,但通常更新。 方法描述比较简短,大部分不包含使用片段;大多数参数几乎没有介绍。 除 GitHub 外,没有其他社区协作来对它进行改进。

Godot*

Godot 是一款全功能、开源、获 MIT 认证的游戏引擎。 它主要提供出色的工具和视觉导向型工作流,可轻松导出至 PC、移动设备和 Web 平台。 其编辑器、语言和 API 功能丰富、简单易学,可显著提高开发人员的工作效率。

Godot 有其自己的脚本编写语言,名为“GDscript”。 该脚本编写语言简单易学,其格式与 Python 类似,但不是 Python, 而是 JavaScript、PHP 和 C++ 的混合体。 它的功能非常强大,而且由于它面向一种用途设计,因此针对性很强,可省去许多不必要的操作。

它可以通过脚本编写而实现扩展,并将内置编辑器用于语法突显和代码完成,从而为任意对象添加自定义行为。

下载 PDF

可以使用带有断点和步进的内置调试器,并查看可能包含瓶颈的图形。

结论

本文介绍了面向游戏开发的几种引擎和工具。 所有工具都具有非常强大的功能。 如欲快速开发移动游戏,开发人员应选择最易于使用的工具。 开发人员还需确定哪些工具最能够满足任务的需求。 

相关文章与资源

关于作者

Vitaliy Kalinin 任职于英特尔公司的软件和服务事业部。 他是罗巴切夫斯基州立大学(俄罗斯诺夫哥罗德)的一名博士研究生。 他获得了经济与数学专业的学士学位,以及应用经济学与信息学专业的硕士学位。 他主要专注于移动技术和游戏开发领域。


Viewing all articles
Browse latest Browse all 583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>