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