Android研究之为基于 x86 的 Android* 游戏选择合适的引擎详解

摘要

游戏开发人员知道 Android 中蕴藏着巨大的机遇。 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中,它们所占的比例超过 90%)。 如要跻身该市场,开发速度非常关键。 一些刚起步的独立开发人员更愿意从零开始来开发自己的所有代码;但是为了达到更高的质量而不用花费数年的时间进行开发,其他人可能会选择已有的游戏引擎。上章研究了英特尔 Android*
开发人员指南上的对等应用详解,在选择引擎时,你可以考虑以下几个因素:

  • 成本 — 你计划支出多少费用?
  • 维度 — 你的游戏是二维还是三维?
  • 语言 — 你的开发人员了解哪些编程语言?
  • 艺术家管线(Artist pipeline) — 它与内容创建工具的集成情况如何?
  • 全部资源访问 — 你是否需要进行访问,以便对该引擎做出深层的更改?

目前可以使用的 Android 游戏引擎有很多,但是这些引擎在这些标准上有很大差别。 随着采用英特尔? 处理器的高性能 Android 设备越来越多地向市场普及,选择一款针对基于 x86 的 Android 设备进行优化的引擎比以往更重要。 本文将可帮助选择适合你的游戏的引擎,以便为你的 Android 客户提供最佳的性能。

最佳选择

本文对最佳备选引擎从以下三个方面进行了检测。



Epic Games 的 Unreal* Engine 自 1998 年首次发布起,长期以来一直占有重要地位,它在电脑、控制台和移动平台领域促成了大量的成功案例。 Unreal Engine 包含以下工具:

  • Unreal Editor (3D 内容编辑器)
  • 蓝图视觉脚本编辑(拖放编辑)
  • Persona 动画工具
  • 面向 AI 、光线和其他效果的编辑器和工具


Project Anarchy* 是 Havok 最近开发的一款引擎。 它将 Havok 业经证明的主要游戏技术与针对移动开发进行定制的引擎相结合。 Project Anarchy 包括以下组件:

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


Marmalade* 是一款跨平台软件开发套件,专为移动游戏的快速创建和构建。 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 无疑是最经济的选择,它只要求与你的游戏一起进行联合推广。

写这篇文章时,Marmalade 可供收入低于 500,000 美元,开发人员低于 3 人的团队免费使用 1 年的时间。 这是暂时的促销活动,获得许可一般需要支付 149 美元以上的税费。 更高的价位可提供更多的目标平台开发和直接的开发人员支持。

维度

3D 游戏的吸引力无可争辩,但是对于许多简单的游戏而言,2D 是更好的选择,它需要的时间和资源投资比 3D 少得多。 你的游戏维度与所选的引擎有密切的关系。

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 scripting)”功能,在该功能中,脚本组件(如动作)可形象化为拖放元素。

Unreal* Editor 中的蓝图编写(Blueprint scripting)功能

Project Anarchy 可提供一款相似的基于状态机的设计工具用于动画设计。

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

虽然 Marmalade 拥有一个大型社区,用于开发开源插件和工具来支持开发工作(其中的大部分可从该网站获取:http://github.com/marmalade),但是 Marmalade 官方套件并未针对非程序员提供任何资源。 凭借全面的工具套件,Project Anarchy 和 Unreal Engine 在该方面占有优势。

全部资源访问

从可能性方面而言,创建自己的引擎还有一个好处,即能够对其进行修改。 因为能够访问全部的源代码,所以你能够更改其中的任何内容,或在其他的新目标平台上添加自己的支持。

Unreal Engine 在这一方面最慷慨;如果你支付了Unreal Engine 4 注册费,便能够访问全部资源。

Project Anarchy 可提供一些组件的源,如果需要全部的源,需要支付更高的费用。 用户可随时访问低级别的资源,但是仅可对免费版本进行修改。

虽然 Marmalade 拥有大量开源插件,但是其本身为封闭源。 你能够访问最高层网,但是无法访问其他源。

大部分开发人员可能并不担心这一点,但是游戏引擎设计越复杂,你就越需要对每一个细节有更高的控制力。

特性比较

Marmalade Project Anarchy Unreal Engine

最低成本 免费促销/149 美元 + 增值税 免费 19 美元/月 + 5%
维度 3D 可实现 适用 适用
2D 最轻松 alpha 级工具集 可实现,示例
语言 C++、Obj-C、Lua、HTML5 C++、Lua C++
非程序员功能 第三 方 3D 编辑器,Animation Studio 3D 编辑器,Blueprint scripting
全源 不可以 部分,但都在最高层 可以

总结

此处进行比较的每款引擎都有其专长和一处独有优势。 如果需要考虑未来成本,则可以选择 Project Anarchy。 如果考虑到技能和深层修改和扩展引擎的需求,Unreal 是成本最低的方式。 对于快速开发 2D 游戏,Marmalade 是不二之选。 市场上还有许多其他的免费和开源引擎 ,这些引擎堪与本文中所比较的三款引擎相媲美,但是我们选择这三款引擎而非其他,是因为这些引擎的性能能够助力你的游戏在多种
Android 设备上绽放华彩。

Android研究之为基于 x86 的 Android* 游戏选择合适的引擎详解

时间: 2024-10-25 05:33:06

Android研究之为基于 x86 的 Android* 游戏选择合适的引擎详解的相关文章

Android研究之手PullToRefresh(ListView GridView 下拉刷新)使用详解

 群里一哥们今天聊天偶然提到这个git hub上的控件:pull-to-refresh ,有兴趣的看下,例子中的功能极其强大,支持很多控件.本篇博客详细给大家介绍下ListView和GridView利用pull-to-rerfesh 实现下拉刷新和上拉加载更多.对布局不清楚的可以看Android研究自定义ViewGroup实现FlowLayout 详解. 1.ListView下拉刷新快速入门 pull-to-refresh对ListView进行了封装,叫做:PullToRefreshList

为基于 x86 的 Android* 游戏选择合适的引擎

摘要 游戏开发人员知道 Android 中蕴藏着巨大的机遇. 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中,它们所占的比例超过 90%). 如要跻身该市场,开发速度非常关键. 一些刚起步的独立开发人员更愿意从零开始来开发自己的所有代码:但是为了达到更高的质量而不用花费数年的时间进行开发,其他人可能会选择已有的游戏引擎. 在选择引擎时,你可以考虑以下几个因素: 成本 - 你计划支出多少费用? 维度 - 你的游戏是二维还是三维? 语言 -

Android基础入门教程——8.3.4 Paint API之—— Xfermode与PorterDuff详解(一)

Android基础入门教程--8.3.4 Paint API之-- Xfermode与PorterDuff详解(一) 标签(空格分隔): Android基础入门教程 本节引言: 不知道标题这两个玩意你熟不熟悉啦,如果自己实现过圆角或者圆形图片,相信对这两个名词 并不模式,一时半伙没想起来?没关系,下面这个图你可曾见过? PS:网上都说在:\samples\android-XX\legacy\ApiDemos\src\com\example\android\apis\graphics 下能找到这个

Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 这一章很多,但是很有趣,也是这书的最后一章知识点了,我现在还在考虑要不要写这个拼图和2048的案例,在此之前,我们先来玩玩Android5.X的新特性吧!

Android基础入门教程——8.3.7 Paint API之—— Xfermode与PorterDuff详解(四)

Android基础入门教程--8.3.7 Paint API之-- Xfermode与PorterDuff详解(四) 标签(空格分隔): Android基础入门教程 本节引言: 上节我们写了关于Xfermode与PorterDuff使用的第一个例子:圆角&圆形图片ImageView的实现, 我们体会到了PorterDuff.Mode.DST_IN给我们带来的好处,本节我们继续来写例子练练手, 还记得Android基础入门教程--8.3.2 绘图类实战示例给大家带来的拔掉美女衣服的实现吗? 当时我

Android四大组件之——Activity的开启:StartActivity()和StartActivityForResult()(图文详解)

            如需转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:[email protected]       [Android四大组件学习系列Activity篇]        1.Android四大组件之——Activity(一)定义.状态和后退栈(图文详解) 2.Android四大组件之——Activity的生命周期(图文详解) 3.Android四大组件之——Activity的开启StartActivit

Android基础入门教程——8.3.6 Paint API之—— Xfermode与PorterDuff详解(三)

Android基础入门教程--8.3.6 Paint API之-- Xfermode与PorterDuff详解(三) 标签(空格分隔): Android基础入门教程 本节引言: 上一节,我们学习了Xfermode中的三儿子:PorterDuffXfermode构造方法中的为一个参数: PorterDuff.Mode,我们在观看了16种图片混排模式后,又自己写代码来验证了一下文档中 18种不同的混排模式,18种是新增了ADD和OVERLAY两种模式!当然,仅仅验证知道是不够的, 本节我们来写个例子

Android基础入门教程——8.3.8 Paint API之—— Xfermode与PorterDuff详解(五)

Android基础入门教程--8.3.8 Paint API之-- Xfermode与PorterDuff详解(五) 标签(空格分隔): Android基础入门教程 本节引言: 好的,上一节中,我们又写了一个关于Xfermode图片混排的例子--擦美女衣服的Demo,加上前面的 利用Xfermode来实现圆角或圆形ImageView,相信大家对Xfermode已经不再像以前那么陌生了,或者 说有点熟悉了,嗯,本节我们来写Xfermode的最后一个例子,通过Xfermode的ProterDuff.

[转帖]基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解

基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解 不明觉厉 只要是人做的东西 就会有bug 就会有安全问题 就看发现bug 或者是发现安全问题 有没有收益了 会用linux的都是比较熟悉操作系统等概念的 不容易被钓鱼 反过来 很多用windows的能力会很差, 所以 windows上面显的更加脆弱. 这就好比开丰田车出事故的人 要比开众泰出事故的人要多很多一个道理. 众泰开的少 而且大家都可能会修车了.. https://www.freebuf.com/vuls/205516.h