Adobe Flash自誕生之日就與遊戲結下不解之緣。時至今日,無數遊戲通過Flash製作並傳播,Flash遊戲已經從最初的瀏覽器小遊戲,擴充到大型的用戶端單機遊戲、多人即時互動網頁遊戲、移動平台遊戲等等領域。
從本篇開始,將為大家介紹Flash遊戲相關的引擎、架構及實用API,方便開發人員快速的選擇適合自己項目的工具,建立精彩的Flash遊戲。 FLIXEL 位元影像引擎
Flixel是我非常喜歡的開源位元影像引擎。作者運用ActionScript的Bitmap建立了這個全位元影像引擎,所謂全位元影像,就是遊戲情境中所有元件最終均繪製在一個位元影像對象上,在遊戲過程中每幀進行重繪。也正因為如此,此引擎非常擅長處理同屏同時出現大量的遊戲元件,其高效的渲染會讓你激動不已。當你需要建立2D捲軸遊戲或者情境中需要大量運動元素的遊戲,Flixel引擎是你的首選。
Flixel還具有一些不錯的特性: 採用QuadTree的對象鏈,高效的碰撞檢測 位元影像動畫Sprite 通過文本及圖片建立Tiles地圖 簡單易用的粒子系統 高效的滾屏 自訂的滑鼠游標 方便的debug顯示終端
此外在引擎開發人員論壇中,還有使用者將此引擎移植到Android平台上。
官方網址: http://www.flixel.org/*
運行環境: ActionScript 3,Flash Player 9 及以上版本
開發環境: Flex(Flash)Builder,FlashDevelop及其他ActionScript開發環境。
典型案例: Canabalt ( http://adamatomic.com/canabalt/* ) 這個遊戲在作者的網站上每月會消耗2.5T的流量,可見流行的程度。遊戲中高速流暢的滾屏會讓你驚歎Flash的效率。此遊戲還移植到iOS上,並在App Store中銷量不菲。 Omega Crisis ( http://www.kongregate.com/games/lucidrine/omega-crisis* ) 這個塔防類遊戲,畫面、遊戲性與操作性都相當不錯。
更多採用此引擎的遊戲展示: http://flixel.org/games/* PUSHBUTTON ENGINE
PushButton是一個開源的Flash遊戲引擎,其實它更像一個遊戲架構。引擎由ActionScript 3開發,需要Flash Player 9及以上的運行環境。官方還提供與遊戲構建相關的組件,例如Box2D,Rendering2D等。同時在引擎中包含了資源管理、日誌、調試監控、線程及時間管理等功能。
開發人員可以運用這套架構按模組方式整合各種渲染模組、物理模組、網路通訊模組來建立遊戲。
官方網址: http://pushbuttonengine.com/*
運行環境: ActionScript 3,Flash Player 9 及以上版本
開發環境: Flash CS4及以上版本,Flex(Flash)Builder,FlashDevelop及其他ActionScript開發環境。
典型案例:
Social City ( http://pushbuttonlabs.com/games/social-city/* )
這個在Facebook上月活躍使用者超過一千萬的遊戲,採用了PushButton引擎。
The Incredible Machine Mega Pack (http://www.gog.com/en/gamecard/the_incredible_machine_mega_pack*)
不可思議的機器系列想必大家不陌生,這個版本的近400兆大小的單機遊戲也出自該引擎。 FLASHPUNK 引擎
FlashPunk同樣是個針對位元影像的開源引擎。它具有清晰的架構以及建立遊戲需要的動畫、碰撞等類庫,讓開發人員更專註與遊戲的設計與測試中。
其主要特性包括: 相對獨立與固定的幀頻時間步長控制 像素、矩形區及網格的碰撞檢測 高效的運動tweening Z-sorted的渲染列表,方便深度排序 高效的粒子系統
官方網址: http://flashpunk.net/*
運行環境: ActionScript 3,Flash Player 9 及以上版本
開發環境: Flex(Flash)Builder,FlashDevelop及其他ActionScript開發環境。
典型案例:
Tiny Hawk ( http://www.kongregate.com/games/pekuja/tiny-hawk* )
類似超級瑪麗,不過這次你腳下踩著的是滑板,一共32關。
Mr. Fat Snake ( http://www.kongregate.com/games/ReviveGames/mr-fat-snake?acomplete=mr+fat+snake* )
貪吃蛇的橫軸飛速版。
更多採用此引擎的遊戲展示: http://flashpunk.net/?p=games*
還有大量的開發人員運用Flash建立2.5D的遊戲,所謂2.5D,我們也稱之為Isometric,也就是遊戲視角採取傾斜視角(如斜45度角等),以平面的方式展現固定視角的3D效果。目前很多網頁遊戲均採用2.5D的方式。
需要注意的是,前面為大家介紹的位元影像2D引擎同樣可以用來開發2.5D遊戲。
接下來為大家介紹幾個專註於2.5D開發的引擎。運用這些引擎,你可以把一些煩人的2.5D相關的座標轉換交給引擎處理,專註在你的遊戲邏輯及設計上。 AS3ISOLIB - 開源的2.5D庫
As3isolib是一個基於ActionScript 3的 Isometric庫,開發人員運用它可以方便的開發2.5D的遊戲或應用。其主要特性包括: 簡易的2.5D情境建立方式 方便的於各種緩動(tween)引擎互動 增強2.5D元件深度排序 情境顯示渲染的效能最佳化
官方網址: http://code.google.com/p/as3isolib/*
運行環境: ActionScript 3,Flash Player 9 及以上版本
開發環境: Flex(Flash)Builder,FlashDevelop及其他ActionScript開發環境。
典型案例:
Zex Lex Duel ( http://apps.facebook.com/cp_zexlexduel/* )
Facebook上的一個機器對戰小遊戲 。
Down Town ( http://apps.facebook.com/downtowngame/* )
Facebook上的虛擬城市交友。
另外,還有開發人員將這個2.5D的庫製作成 PushButton引擎的一個組件。
http://code.google.com/p/pushbutton-ooo-extras/* OPENSPACE - 多人虛擬世界引擎
OpenSpace是一個非常不錯的引擎,使用者可以非常快速方便的建立2.5D遊戲。配合該公司的另外一款通訊伺服器SmartFoxServer,可以搭建多人即時互動的虛擬情境。
其特點包括: 完善的地圖編輯方式 可縮放的情境 自訂地圖滾屏方式 自訂的遊戲角色 地圖自動尋徑
官方網址: http://www.openspace-engine.com/*
運行環境: ActionScript 3,Flash Player 9 及以上版本 開發環境:Flex(Flash)Builder,FlashDevelop及其他ActionScript開發環境。
典型案例:
The Settlers – My City ( http://apps.facebook.com/tsmycity* )
殖民者的網頁版,你可以建立屬於自己的殖民國 。
Petpet Park ( http://www.petpetpark.com/* )
很可愛的寵物公園虛擬社區。
更多的案例展示: http://www.openspace-engine.com/showcase* THEOWORLDS – 快速開發2.5D遊戲的商業套件
TheoWorlds 除了包含Iso引擎之外,還包含聊天、地圖編輯器等組件,可以協助開發人員快速的開發2.5D的虛擬世界。
主要特性有: 8方向的運動角色 自訂角色形象 自訂角色動作 快速尋徑及自動滾屏 與SmartFox Server及ElectroServer等第三方即時通訊伺服器通訊 聊天歷史、表情表徵圖等
官方網址: http://www.theoworlds.com/*
運行環境: Flash Player 8 及以上版本
開發環境: Flex(Flash)Builder,FlashDevelop及其他ActionScript開發環境。
相關示範:
情境示範 ( http://www.theoworlds.com/labs/09/* )
地圖編輯器示範 ( http://www.theoworlds.com/mapeditor/* )
以上為大家介紹了一些流行的Flash 2D遊戲引擎,希望大家能在開發中獲益。後期將為大家介紹Flash遊戲相關的物理引擎、人工智慧、UI、音效等第三方API,請關注。