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