游戲向來是硬軟件性能、多樣輸入法以及圖形支持等技術發(fā)展的強勁推動力。以安卓平臺為例——在可預見的未來,相比其他應用,游戲及其玩家更能促進市場發(fā)展并帶動游戲設備升級。盡管安卓平臺已相當成熟,但發(fā)展的步伐還在邁進。除系統(tǒng)完善及應用廣泛的優(yōu)點之外,如今其設備的卓越性能已能匹敵新一代的控制臺系統(tǒng)。

不過安卓平臺最值得稱贊的一點是——從簡單的休閑小游戲到復雜的多人游戲,只有想不到的,沒有不可能成功的(比如:Flappy Bird)。而玩家年齡、性別和品味的多樣化將安卓市場劃分為不同的目標群體,讓大大小小的游戲開發(fā)公司都能有立足之地。
驀然回首,當年區(qū)區(qū)幾家游戲巨子獨占鰲頭的光景還歷歷在目——橫跨臺式電腦及控制臺兩個市場,以優(yōu)秀的開發(fā)者團隊和知名品牌授權作支撐,一手占據著寶貴資源來構建游戲平臺服務,一手掌握著高端技術來不斷開發(fā)運行穩(wěn)定、性能優(yōu)良的游戲……這種種將該產業(yè)那道門檻鑄造得高聳入天,不知名的小公司和獨立開發(fā)者如何能輕易跨越呢?
相比之下,移動市場對待開發(fā)者更公平一些。手機游戲開發(fā)之所以能在這產業(yè)急流中頂住風吹浪打,有兩個原因——一方面,龐大而復雜的用戶群體讓無名之輩也可以夾縫里求生存;另一方面,現成的移動開發(fā)工具和服務比以往更為豐富。
工具和服務即可顯現安卓手機游戲平臺身為王者的成熟風范。谷歌這一安卓開發(fā)核心和其合作伙伴為保證該平臺的繁榮費勁了心血。諸多工具、API 和服務旨在促進安卓項目順利完成,其中不乏專門服務于游戲開發(fā)者的項目。以下是一些范例:
開發(fā)者:不管是任何人,想進入移動市場從未這么容易過。安卓應用開發(fā)、上線可一氣呵成。安卓應用基本都用 Java 語言編寫——該語言憑借其自身優(yōu)越性廣為開發(fā)者追捧,同時也是全球高校計算機科學課程上最熱門的物件導向程式語言。
開發(fā)工具:安卓開發(fā)工具完全免費——既無昂貴的編譯器,也無許可證費用。Eclipse 集成開發(fā)環(huán)境為人熟知,安卓設計工作室前景看好,標準安卓工具功能齊全、不斷出新……英特爾作為開放手機聯盟成員之一,也推出了一些工具,幫助開發(fā)者在 x86 開發(fā)環(huán)境以及兼容 x86 的安卓設備上提高工作效率。
安卓 SDK:安卓 SDK 包含一套穩(wěn)定可靠且功能齊全的 API,Java 開發(fā)者使用起來會得心應手;Open GL ES(OpenGL for Embedded Systems)是服務于手機等嵌入式設備的開放式圖形庫,幫助開發(fā)者編寫圖形密集型應用;安卓的內置圖庫和動畫庫則使再簡單的游戲也能擁有超棒視覺效果。
本地開發(fā):各類游戲庫讓人眼花繚亂?偏愛C/C++游戲開發(fā)者可選擇安卓 NDK,可免去重新編碼之苦。
第三方游戲引擎:很多游戲引擎能幫助安卓開發(fā)者提升開發(fā)速度,省去了重新編寫代碼的麻煩,反響相當不錯。除了提高游戲可移植性之外,游戲引擎還包含大部分常見游戲設計模式以及生成游戲資產的工具,例如紋理和關卡。
游戲開發(fā)和第三方庫:第三方庫可以省去游戲開發(fā)者不少力氣。除了針對個別設備處理器進行了優(yōu)化從而節(jié)省算法開發(fā)時間之外,第三方庫比優(yōu)化編譯器能更好地優(yōu)化代碼。
游戲服務:谷歌(Google Play GameServices)和亞馬遜(Amazon GameCircle)已推出各自的系列游戲開發(fā)服務,幫助開發(fā)者專注于游戲的核心功能,并為游戲輕松添加社交功能。
游戲發(fā)布:各種各樣的分銷機制可供開發(fā)者選擇。
顯而易見,可供選擇的游戲開發(fā)工具實在不少。開發(fā)者完全可以專心編寫游戲的核心代碼,最大程度的優(yōu)化游戲。話說回來,何必浪費太多時間在沒法兒讓游戲脫穎而出、讓用戶眼前一亮的工作上呢? 不論個人開發(fā)者或是大型游戲工作室,預算緊缺或是預算充裕——成功的大門永遠敞開著。以下著重討論上文所提及的資源。
開發(fā)者、英特爾開發(fā)工具和安卓SDK
很多文章、書籍和大學課程都以熟悉安卓平臺為重點,這些就不多談了。 安卓開發(fā)者網站將會是入門者的好幫手。在這里你可以了解安卓更多信息、下載安卓 SDK 和工具,開始你開發(fā)者生涯的第一步。
另外英特爾開發(fā)者專區(qū)有一些針對安卓開發(fā)和調試的開發(fā)工具可供選擇。英特爾圖形性能分析器(Intel Graphics Performance Analyzers :Intel® GPA)提供圖形密集型游戲開發(fā)過程中的性能分析數據。英特爾硬件加速執(zhí)行管理器(Hardware Accelerated Execution Manager)可節(jié)省時間,加速安卓游戲或其他應用在主機上的模擬。
安卓NDK
安卓 NDK 可以將你的應用(仍然用 Java 編寫)和現成的C和 C++ 庫連接起來,從而使以往編寫過的非安卓平臺游戲代碼用于安卓應用開發(fā)。盡管其本身有局限性和性能上的小隱患,但是當你不想浪費時間編寫一大堆代碼的時候,安卓 NDK 不失為一個好選擇。(學習如何在英特爾架構下安裝 NDK 以及如何用它來開發(fā)應用)
第三方游戲引擎
游戲引擎堪稱游戲開發(fā)的核心。如今可供安卓游戲開發(fā)者的選擇又有哪些呢?即便是最簡單的游戲,從零開始也要在開發(fā)和功能上花費大量的時間和精力。不過吃力不一定討好,因為兩者都不足以創(chuàng)造脫穎而出——或者更恰當地說——一鳴驚人的效果。
游戲的功能和開發(fā)大同小異,設計框架也基本雷同。第三方開發(fā)者已經意識到了建立安卓游戲共享庫和共享引擎的必要性,開發(fā)者大可不必大費周折。
游戲引擎提供技術支持,簡化游戲開發(fā),從而使開發(fā)者專注于游戲架構的細節(jié)改良,節(jié)省大量的時間和精力。游戲開發(fā)者普遍選擇在簡歷上列出曾經使用過的游戲引擎從而為自己的開發(fā)能力升值。知名的引擎可以減少測試的麻煩,還具備針對性優(yōu)化等諸多優(yōu)勢。舉個例子來說,很多游戲引擎都提供針對英特爾設備的優(yōu)化。
游戲引擎種類繁多,各有優(yōu)勢,諸如提供完整的游戲插件,底層庫支持,2D/3D 等等。囊括所有功能的游戲引擎通常提供整套開發(fā)工具,從格式轉換器、關卡設計、映射工具、物理引擎到動畫控件。還有一些提供常用的游戲機制和任務比如 Avatar creation。
除安卓平臺游戲引擎之外,還有同時支持主機和手機的跨平臺引擎。安卓平臺游戲引擎實在多不勝數,比如:Unreal Engine 4、Unity 3D、Marmalade、Project Anarchy (Havok/Intel)、GameMaker: Studio、Corona Game Edition、Cocos2Dx、AppGameKit、libgdx、AndEngine 等。
游戲開發(fā)須選擇最合適的游戲引擎,這是必修課。功能較齊全的重量級游戲引擎通常比輕量級的小引擎更為復雜。另外,功能較齊全的引擎已擁有獨立的開發(fā)圈子。雇傭這些開發(fā)者,向他們尋求幫助就變得更容易。
還有一些使用單一代碼庫的游戲引擎專門提供跨平臺支持,其使用者通常會用腳本語言來編寫游戲。另外一些游戲引擎要求用針對不同平臺的本地代碼。總之游戲引擎選擇不同,許可費用也會不同。
如果游戲開發(fā)對用戶設備要求較高的話,那么針對不同處理器(比如英特爾 x86)最優(yōu)化的游戲引擎將是不二之選。
就算游戲適用于所有平臺,若運行起來馬馬虎虎可不行。針對處理器調試過的游戲引擎能保證游戲在所有平臺上都實現最佳性能,讓游戲開發(fā)者盡享優(yōu)質的新一代安卓設備才具備的尖端硬件功能。換句話說,這種引擎即使在廉價又遲鈍的傳統(tǒng)安卓設備上也可開發(fā)出廣泛兼容各種安卓設備的游戲.
不同種類的游戲引擎舉例如下,以供參考。來看看 Libgdx 和 Project Anarchy,兩者是游戲引擎中不同風格的典型代表。
Libgdx 是一款 2D/3D 游戲引擎,兼容多種平臺系統(tǒng),包括安卓、Windows、Linux、Mac OS、黑莓、iOS,甚至還適用于瀏覽器。跟諸多跨平臺環(huán)境不同的是,Libgdx 主要用簡便的 Java 語言來編寫。除了為 2D/3D 界面提供圖形 API 之外,還有 OpenGL、數學庫和物理庫等基本模塊。
Libgdx 支持音樂和音效,各種 API 都包含在內,涉及文件、參數選擇和文件格式解析。另外還有一些項目設置、字庫生成和粒子編輯的工具。Libgdx 游戲引擎是開源的,也一直受到悉心維護。Libgdx 項目非;钴S,具有相當完善的文檔數量,為眾多應用和游戲所用。如果你并不介意使用 Eclipse 和一款典型的開放源代碼環(huán)境來開發(fā)游戲的話,那么選擇 Libgdx 準沒錯。
Project Anarchy 是 Havok(英特爾公司旗下產業(yè))推出的一款移動游戲開發(fā)引擎,涵蓋從物理引擎到音頻 3D 定位,從代碼分析到地形編輯等相當齊全的功能。跟 Libgdx 不同的是,Project Anarchy 使用須有許可證。Project Anarchy 的免費許可證可以為移動應用提供諸多便利,功能齊全的 Havok 引擎則需要另外的許可證。
Project Anarchy 適用于安卓、ARM,x86 和 iOS 系統(tǒng)。經許可可支持 Windows、臺式電腦或者控制臺。其整套的工具可以滿足游戲開發(fā)者團隊的不同需要,包括設計、圖形、動畫和開發(fā)。
Project Anarchy 提供專業(yè)的解決方案,但更傾向于使用 Visual Studio 和 Perforce 源代碼控制一類的傳統(tǒng)商業(yè)開發(fā)工具,這便與一些獨立移動開發(fā)者所想的有所不同。如果你的游戲開發(fā)團隊更擅長使用傳統(tǒng)的游戲開發(fā)方法和工具,那么就選 Project Anarchy 吧。
以上只是眾多游戲引擎中的兩個典型代表,但是足以說明安卓游戲引擎廣泛的選擇余地。
游戲和處理器優(yōu)化的第三方庫
除了安卓 SDK 和谷歌服務之外,還有很多第三方庫可供選擇。舉個例子:英特爾提供了很多工具和第三方庫——尤其適用于那些對設備要求較高的游戲,開發(fā)者們一定不想錯過。
盡管搭載英特爾 x86 處理器的安卓設備在第三方庫上選擇有限,英特爾仍大力發(fā)展高度優(yōu)化過的第三方庫,使開發(fā)者——包括游戲開發(fā)者從中受益。
這些第三方庫針對特定英特爾技術進行了優(yōu)化,用起來比優(yōu)化編輯器更順手。不過,由于它們僅能為 x86 NDK 所調用,開發(fā)者必須提供適用于其他處理器的應用 NDK 實現接口,或者具備一個 Java 實現接口。
英特爾的高性能多媒體函數庫(Integrated Performance Primitives :Intel® IPP)提供媒體和數據算法,涵蓋過濾、變換、色彩空間轉換、統(tǒng)計等模塊,甚至適用于視覺計算軟件。
在如今的游戲開發(fā)中,高性能以及并行執(zhí)行能力(parallel execution)成為必備要素,以保持渲染管線高效運轉,動畫或音頻效果逼真或是改良人工智能和網絡等。
英特爾的線程構建模塊(Threading Building Blocks:Intel® TBB)庫為開發(fā)高性能和具備并行執(zhí)行能力的應用提供了一個框架。除了 SDK 以外,安卓也許還有其他工具可以提高并行執(zhí)行能力,但是卻不具備可移植性。有了 Intel® TBB,這個問題便迎刃而解,而且還附加了針對英特爾硬件的優(yōu)化。
移動和游戲服務
除了安卓 SDK、第三方游戲引擎和第三方庫,其他服務也同樣值得關注——游戲開發(fā)者定能發(fā)現日后派的上大用場的寶貴資源。
第三方,比如大名鼎鼎的谷歌,為安卓開發(fā)者提供著形式多樣、內容豐富的整套服務。對于開發(fā)者來說,Google Play GameServices 是個不錯的開端,這里為社交類游戲提供諸如排行榜、成就、云端儲存(cloud-saving)、回合制策略游戲和實時游戲模式等支持。
其他服務則非針對游戲本身——例如 Google Play 的應用程序內部付費機制(Google Play In-App Billing)和 Google 移動廣告服務(Google Mobile Ads)可以讓游戲賺錢;谷歌+服務(Google+ services)將社交網絡融入游戲中;需要云服務嗎?試試 Google Cloud 平臺(以谷歌廣受歡迎的移動引擎作支撐)和谷歌云端推送(Google CloudMessaging)吧;谷歌分析(Google Analytics)用來收集應用及其用戶的重要數據;想在亞馬遜上發(fā)布游戲?Amazon GameCircle 是開發(fā)者的不二選擇。
游戲發(fā)布
時間、精力、汗水和眼淚鑄造出來的游戲等待的不就是上線的那一刻嗎?安卓平臺為開發(fā)者提供多樣的游戲發(fā)布途徑。
大部分開發(fā)者都將游戲發(fā)布在諸如 Google Play 和亞馬遜 Appstore 這樣的知名市場上,且都遵循大同小異的程序:花點兒錢創(chuàng)立一個賬戶,等著谷歌或亞馬遜將游戲列入他們的應用清單,接著賣給終端用戶,然后收錢,扣除利潤,最后剩下的才會流入開發(fā)者的口袋。
大部分開發(fā)者都將游戲發(fā)布在諸如 Google Play 和亞馬遜 Appstore 這樣的知名市場上,且都遵循大同小異的程序:花點兒錢創(chuàng)立一個賬戶,等著谷歌或亞馬遜將游戲列入他們的應用清單,接著賣給終端用戶,然后收錢,扣除利潤,最后剩下的才會流入開發(fā)者的口袋。就是這么簡單。當然還有其他分銷渠道來發(fā)布游戲。如果你要推出 x86 應用,可以在英特爾開發(fā)者專區(qū)(Intel Developer Zone)找到一些靈感。
別忘了,分銷渠道會因不同的游戲引擎和第三方庫而受到限制,但若是免費和開源的游戲引擎就沒什么問題了。不過,我們所提及的某些商業(yè)游戲引擎將規(guī)模和知名度定為硬性指標,要求開發(fā)者只能在 Google Play、亞馬遜 Appstore 一類的知名應用商店里發(fā)布游戲。
另外,一些游戲引擎許可條款囊括了收入共享,對游戲定價、游戲內購買和貨幣化方法產生一定影響。在選擇游戲引擎之前,還是先把那些條條款款瀏覽一遍較好。
小結
如今游戲開發(fā)的門檻堪稱歷史最低,而安卓平臺所提供的工具和服務使得開發(fā)者能夠迅速將功能齊全的游戲推向市場。坐享最龐大的用戶群,安卓注定會吸引無數玩家的青睞。休閑風格?史詩題材的擬真角色扮演?選擇安卓平臺,創(chuàng)意不再只是創(chuàng)意。
引自:為什么說Android才是游戲開發(fā)者的樂土? 作者:流浪