手機遊戲最新技術選型之Flash AIR

文章不錯,自己留着慢慢看.

相信大家應該對Flash比較瞭解,但對於Flash AIR可能就不是那麼熟悉了,尤其前陣子Adobe宣佈將移動版Flash Player停止維護及開發,就讓大家誤認爲Adobe Flash將退出移動平臺。

但實際情況又是如何的呢?

Flash 並不只有Flash Player、Flash IDE等一些大家耳熟能詳的產品,實際上“Flash平臺”是一個統一的稱呼,它其實包括五個方面:運行時(Flash Player和AIR Runtime)、 語言(ActionScript 3和MXML)、框架(Flex、TLF、OSMF等)、開發工具(Flash Pro、Flash Builder等)、周邊方案(Alchemy等)。而Flash AIR正是Adobe對於移動平臺的定製的重頭策略。

Flash AIR最開始是Flash對於桌面應用的支持,在移動開發火熱之後,AIR開始轉變策略,轉而爲Flash內容的移動App打包進行支持,因爲 Android設備上允許安裝AIR運行時,所以採用AIR打包爲Android設備部署。Flash應用就變得順理成章(雖然和桌面相比,內在運作機制 還是很不同的)。當iOS拒絕了Flash Player進入之後,AIR又擔負起了將Flash應用部署到iOS設備的重任(因爲iOS不允許安裝運行時,AIR針對iOS的打包策略和 Android設備上又是完全不同的,需要直接編譯出本地可執行代碼,但爲了統一平臺起見,仍歸屬在AIR的範疇之內)。

現在,Flash AIR的核心策略顯然已轉變爲移動開發,而今年Adobe對AIR的開發支持更是空前的強力。加上Adobe在HTML層面對PhoneGap的投資,可 以看出Adobe在移動策略上採用了Adobe AIR(for Flash)和PhoneGap(for HTML、JavaScript Developer)的雙保險策略。

下面我就主要從開發時程、效能、跨平臺性來說來說一下Flash AIR對於遊戲開發的優缺點。

開發時程。Flash多年經驗積累下來,爲廣大開發者準備了一套非常完備的開發流程,從圖形動畫製作工具Flash Pro到編碼工具Flash Builder的每一點,無不體現出“可視化”、“便捷”等特點,讓使用者可以最少編寫代碼來達到想要得到的效果,更加上不可替代的動畫支持,讓整個開發 過程錦上添花。而AIR同樣享有這一切。隨便寫一個小特效的話,Flash可能只需要幾行代碼,而其他語言則可能需要幾倍的代碼量。

效能,對於Flash而言,效能一直是其非常褒貶不一的地方。事實上,Flash的效能完全取決於使用者的優化水平,因爲Flash爲使用者提供了儘可能多的圖 形圖片處理方式,這就需要使用者有能力去衡量每一種方式的適用情況。更加上Flash Stage3D已經可以在移動平臺調用GPU,Flash的效能就更加得以提高。在iOS平臺上,如果優化得當的話,是可以接近Open Canvas的效能的。

跨平臺性來講,Flash也是十分優秀的,PC、Android、IOS、BlackBerry、Windows Phone(未來支持),全都可以用同一個SWF文件去發佈,這意味着我做了一個應用就可以輕鬆發佈到其他平臺,也省去了移植的一些工作量。

對於以上的幾點綜合來看,我決定選擇使用Flash AIR技術。而對於Open Canvas與Java而言,雖然性能出衆,卻沒有很好的跨平臺性支持,而HTML5則由於還是新技術,可能存在許多隱患,製作流程上也顯得不夠成熟。

事實證明,我的選擇是對的,一個版本可以成功打包成很多平臺的應用這讓我欣喜若狂,而且對於遊戲來講,一般的2D遊戲AIR運行起來也是沒有壓力的,效能也不用很擔心。

下面說說關於優化方面需要注意的事情,前文說過,Flash AIR技術需要比較好的圖形優化能力,其實就是對於圖形圖像算法的理解能力,精確運用濾、顏色疊加、動畫、動畫層次以及內存等元素可能是需要開發者注意 的。此外還有關於內存的處理,Flash技術把內存做了很智能的處理,不需要用戶太關心內存回收,但是也因爲如此,內存回收變成了一個不可控的元素,我們 需要積極地將用不到的對象的引用消除以保證能夠儘快回收。

自從ActionScript出現以後,Flash便成爲了小遊戲的最佳選擇,快 速的製作流程以及豐富的動畫支持變成了Flash技術的利刃。這麼多年下來,衆多Flasher創造了不計其數的Flash小遊戲,後來還有很多優秀的遊 戲轉移到了其他大型平臺,並且銷量非常好。這些年,Flash積累了無數的經驗及產品,而這些所有的東西都會直接移植到AIR技術上,就讓AIR製作遊戲 更加如虎添翼。

選擇何種技術很重要嗎?

很多遊戲製作者都喜歡關注遊戲使用了哪些技術、用了什麼框架等,但事實上玩家完全不會在乎哪一款遊戲是用了什麼引擎、框架、設計模式,甚至不是很在乎到底是誰製作了這款遊戲。

作爲遊戲開發者,我們要把時間更多地投入在如何讓遊戲更受大家喜歡,如何讓遊戲更有內涵或者更耐玩,而對於收費遊戲來講,我們可能要考慮如何讓大家很開心的付費。要知道,技術不怎麼樣但很賣座的遊戲其實是不在少數的。

對於技術而言,不用非要追求最好,而是恰當就好,選擇最適合的最利於目前開發的項目的技術是最佳選擇。

千萬不要小看市場

經常有人說:“《Angry Birds》很簡單,我們也能做!”之後就幾個人開始做一款山寨的小鳥、《Fruit Ninja》,又或是一些別的什麼遊戲。我個人對於這種嘗試還是比較贊成的,因爲一旦做了就會獲得經驗,這樣對開發者個人而言是隻有好處沒有壞處的。

但我想說的是,千萬不要小看市場,我們的市場很挑剔,每一個作品都追求精益求精,並不是隨便哪個遊戲都能夠賺錢,不是隨便憑藉山寨一個什麼產品就能夠成爲 “高富帥”。這個圈子裏的賺到錢的人都是在非常努力地做產品,當然不排除有些開發商採用一些投機的方法去謀利,但如果想要真正在市場站住腳的話,還是需要 一定的積累跟實力的。

事實上,有很多開發者連每年支付給蘋果的開發者授權費都賺不回來,因此做遊戲別太沖動,一切三思而後行。

精準把握玩家行爲

我覺得我們需要花費精力去分析玩家行爲,這樣我們就能對玩家對於某些操作或遊戲模式的反應做出正確的判斷,也能幫助我們設計出更人性化的遊戲,增加遊戲的用戶黏性,從而讓更多的玩家不僅能夠接受我們的遊戲,還能夠長期玩我們的遊戲,這樣自然也就帶給我們想要的利潤。

踏實做遊戲

很多團隊做遊戲時就會想到以後會賺多少錢、如何發達等,但只要一旦這樣想,就容易走入某些奇怪的誤區裏,我們還是需要冷靜去面對遊戲製作的每一個部分,這樣纔有更多的機會脫穎而出。

團隊向心力

團隊向心力是比較不好處理且經常出問題的環節,它可能包含了比較多的可能性,例如分配不均,或者內部分裂,又或是由於成員能力不足等原因帶來的問題。可能任何一點小小的問題都會導致整個團隊分崩離析。

3D加速技術

Flash AIR技術雖然到處可見,但其實大家對這個技術並不是很瞭解,網上的評論更是曲解的離譜,實際上Flash的發展非常迅速,加上Adobe對3D的投入就 更加讓所有開發者欣喜,遺憾的是,在我們的獨立遊戲《被錯過的天堂》中,並沒有使用3D加速技術,主要是因爲遊戲製作時3D加速技術還沒有被應用在移動平 臺,但在將來的遊戲開發中,相信我一定會嘗試3D加速技術的。

作者德義,從2007年畢業開始,先後製作了20餘款Flash單機遊戲,2011年創建獨立遊戲團隊“3000GAME”,其首個獨立遊戲《被錯過的天堂》一度奪得臺灣App Store付費榜榜首。

原文:http://www.programmer.com.cn/13584/

發佈了26 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章