1. 程式人生 > >為基於 x86 的 Android* 遊戲選擇合適的引擎

為基於 x86 的 Android* 遊戲選擇合適的引擎

文章 開源 版本號 操作 ani android uic 摘要 方法

摘要

遊戲開發者知道 Android 中蘊藏著巨大的機遇。 在 Google Play 商店的前 100 款應用中,約一半是遊戲應用(在利潤最高的前 100 款應用中。它們所占的比例超過 90%)。 如要躋身該市場,開發速度很關鍵。 一些剛起步的獨立開發者更願意從零開始來開發自己的全部代碼;可是為了達到更高的質量而不用花費數年的時間進行開發,其它人可能會選擇已有的遊戲引擎。 在選擇引擎時,你能夠考慮下面幾個因素:

  • 成本 — 你計劃支出多少費用?
  • 維度 — 你的遊戲是二維還是三維?
  • 語言 — 你的開發者了解哪些編程語言?
  • 藝術家管線(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 設備上綻放華彩。

參考文獻

  • Unreal Engine https://www.unrealengine.com/
  • Project Anarchy http://www.projectanarchy.com/
  • Marmalade https://www.madewithmarmalade.com/
  • Google Play 商店統計數據http://www.appannie.com/apps/google-play/top/

關於作者

Brad Hill 眼下擔任英特爾開發者關系部門的軟件project師。 Brad 負責調研關於英特爾硬件的新技術,並通過英特爾? 開發者專區以及在開發者會議上與軟件開發者分享最佳方法。 此外,他還擔任學生黑客松的project總監。負責為全美範圍內高等院校的優秀黑客松提供代碼執行支持。

為基於 x86 的 Android* 遊戲選擇合適的引擎