Android研究之为基于 x86 的 Android* 游戏选择合适的引擎具体解释
摘要
游戏开发者知道 Android 中蕴藏着巨大的机遇。 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中。它们所占的比例超过 90%)。
如要跻身该市场,开发速度很关键。 一些刚起步的独立开发者更愿意从零開始来开发自己的全部代码;可是为了达到更高的质量而不用花费数年的时间进行开发。其它人可能会选择已有的游戏引擎。上章研究了英特尔 Android*
开发者指南上的对等应用具体解释,在选择引擎时,你能够考虑下面几个因素:
- 成本 — 你计划支出多少费用?
- 维度 — 你的游戏是二维还是三维?
- 语言 — 你的开发者了解哪些编程语言?
- 艺术家管线(Artist pipeline) — 它与内容创建工具的集成情况怎样?
- 所有资源訪问 — 你是否须要进行訪问,以便对该引擎做出深层的更改?
眼下能够使用的 Android 游戏引擎有非常多。可是这些引擎在这些标准上有非常大区别。 随着採用英特尔® 处理器的高性能 Android 设备越来越多地向市场普及,选择一款针对基于 x86 的 Android 设备进行优化的引擎比以往更重要。 本文将可帮助选择适合你的游戏的引擎。以便为你的 Android 客户提供最佳的性能。
最佳选择
本文对最佳备选引擎从下面三个方面进行了检測。
" src="http://www.cgzhw.com/wp-content/uploads/2014/08/16.jpg">
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)”功能,在该功能中,脚本组件(如动作)可形象化为拖放元素。
" src="http://www.cgzhw.com/wp-content/uploads/2014/08/5.jpg" style="">
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* 游戏选择合适的引擎具体解释的更多相关文章
- 为基于 x86 的 Android* 游戏选择合适的引擎
摘要 游戏开发者知道 Android 中蕴藏着巨大的机遇. 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中.它们所占的比例超过 90%). ...
- MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具
mybatis – MyBatis 3 | 日志 http://www.mybatis.org/mybatis-3/zh/logging.html MyBatis 内置日志工厂基于运行时自省机制选择合 ...
- Android研究之手PullToRefresh(ListView GridView 下拉刷新)使用具体解释
群里一哥们今天聊天偶然提到这个git hub上的控件:pull-to-refresh ,有兴趣的看下,样例中的功能极其强大,支持非常多控件.本篇博客具体给大家介绍下ListView和GridVi ...
- Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK
原文:Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- 拥抱 Android Studio 之一:从 ADT 到 Android Studio
http://kvh.io/cn/embrace-android-studio-migration.html 1. 拥抱变化,拥抱新事物 Android Studio(IntelliJ IDEA)vs ...
- 基于 VLC 的 Android 多媒体解决方案
前段时间项目中需要在 Android 中播放视频.流媒体.查看监控,就研究了一下 Android 多媒体解决方案. 查找了一下,大致有如下几种: Android MediaPlayer FFmpeg ...
- Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建(转)
一.引言 本套学习笔记的开发环境是Windows 10 专业版和Android Studio 的最新版1.3.1. Android Studio 是一个Android开发环境,基于Intelli ...
- 基于tcpdump的Android智能移动终端数据包捕获完整解决方案
如何在Android智能手机上捕获数据包? 本文由CSDN-蚍蜉撼青松[主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 当前Android系统越来越流行,无 ...
- android 研究的环境搭建、高效工具、网站资源
================= 2015 年 10 月 14 号 更新 著名的android开源社区xda有一个帖子,详细描述了android开发和研究环境的初始搭建过程: http://for ...
随机推荐
- Redis 锁的实现方案
开发中不可避免的是碰到并发请求,在数据严谨性的要求不高时,我们也不需要做什么处理,但如果碰到数据严谨性非常高的时候(例如:用户金额,秒杀产品的库存...),我们就需要慎重处理了. 解决方案多种多样,下 ...
- vmware10上三台虚拟机的Hadoop2.5.1集群搭建
由于官方版本的Hadoop是32位,若在64位Linux上安装,则必须先重新在64位环境下编译Hadoop源代码.本环境采用编译后的hadoop2.5.1 . 安装参考博客: 1 http://www ...
- 内功心法 -- java.util.LinkedList<E> (1)
写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------下文主要对java.util ...
- visual stuidio2010 在iis中调试。
1 你的电脑装好IIS. 这是必须的. 2.更改.NET Framework 版本为你的项目所用的版本. 应用程序池对应的.NET Framework 版本也都要对应. 3将你电脑的默认网站目录定位到 ...
- CentOS 6.9/7通过yum安装指定版本的Redis
一.安装 // 安装依赖 # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && ...
- HDU 4493 Tutor (水题)
Tutor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submi ...
- 简化delegate写法
标准的写法 空 简化后的宏 /**************************************************************/ // delegate 托付 /* #de ...
- [Android Studio] Android Studio底边栏选项不见了,如何调出来
转载:http://blog.csdn.net/hyr83960944/article/details/38067785 Android Studio底边有一个选项栏,包含了Run,Android等等 ...
- POJ 2046 Gap 搜索- 状态压缩
题目地址: http://poj.org/problem?id=2046 一道搜索状态压缩的题目,关键是怎样hash. AC代码: #include <iostream> #include ...
- 在JavaScript文件中读取properties文件的方法
假设有JavaScript文件叫做:readproperties.js,这个文件需要读取config.properties这个配置文件,步骤如下: 1. 下载插件jquery.i18n.proper ...