主流HTML5游戲框架的分析和對比(Construct2、ImpactJS、CreateJS、Cocos2d-html5)

jopen 11年前發布 | 102K 次閱讀 HTML5 前端技術

本文主要選取了Construct2、ImactJS、LimeJS、GameMaker、CreateJS、lycheeJS、Crafty、 three.js、melonJS、Turbulenz、Quintus、Cocos2d-html5等進行了簡要介紹和對比,主要是根據網上的資料整理 而成。

主流框架對比


Construct2

Construct 2是一個運行于Windows平臺的游戲制作工具,它可以讓沒有任何編程基礎的用戶在短時間內不寫一行代碼快速開發出一款可運行于所有平臺 (Windows、Mac、Linux、Android、iOS等)的游戲。免費版可以將游戲導出成HTML5。收費版本分為個人版(79英鎊)和企業版 (259英鎊),可以導出所有平臺的版本,同時提供了更多的特效和音樂。如果使用該工具盈利超過5000美元,需要升級到企業版。


優點:

1. 簡單易用,可實時運行游戲

  1. 強大的事件系統,可以不通過寫代碼來控制游戲邏輯
  2. 提供了可編程擴展的接口
  3. 提供了大量特效,支持物理效果
  4. 支持所有平臺
  5. 完整的文檔以及社區支持
    </div>

    缺點:
    不如直接寫代碼靈活

    參考資料:
  6. Construct 2 vs. Javascript
    </div>

    ImpactJS

    ImpactJS是一個基于JavaScript的HTML5游戲引擎,同時支持PC和移動平臺瀏覽器。它是目前除了Construct2之外最受歡迎的HTML5游戲引擎,使用需要支付99美元。

    優點:
  7. 提供了靈活的關卡編輯器,可以快速構建游戲地圖
  8. 提供了強大的調試工具
  9. 提供了Ejecta可以將JavaScript的執行結果通過OpenGL渲染出來,可以在iOS平臺上獲得與原生應用相近的效率
  10. 文檔齊全,有兩本專門介紹ImpactJS開發的書
  11. 支持物理效果
  12. 支持自己編寫插件來擴展

    App Store游戲
  13. Biolab Disaster
  14. Drop JS
    </div>

    LimeJS

    LimeJS是一個基于Google Closure Library開發的HTML5游戲框架,繼承了Closure代碼易讀易懂、架構清楚的特性。同時提供了游戲中各種通用實體的封裝,如 Director、Scene、Layer、Event和Animation等,與Cocos2d的API類似。它是由Digital Fruit公司創建。

    優點:
  15. 基于Apache協議的開源框架
  16. 功能強大,文檔齊全,與ImactJS類似
  17. 支持物理效果
  18. 與Cocos2d的API類似,容易上手

    缺點:
    依賴于Google Closure</div>

    GameMaker

    GameMaker與Construct 2類似,都是一個游戲制作工具,可以導出到各個平臺運行,分為免費版、標準版(49.99美元)、專業版(99.99美元)和大師版(799.99美 元)。其中免費版只能導出Mac和Windows版本,導出HTML5需要大師版或者專業版(再額外支付99.99美元)。

    優點和缺點:
    優勢與Construct2類似,但性價比不如Construct2高

    CreateJS(EaselJS)

    CreateJS是Adobe官方贊助的開源開發框架,它大部分 API都是基于Flash原有的API來模仿實現的,并且官方提供了直接把Flash動畫轉成JS數據包的工具,調用起來很方便。CreateJS提供了 若干開發套件及工具,分別是:EaselJS(負責圖形、事件、觸控、濾鏡等功能)、TweenJS(補間動畫)、SoundJS(音頻控制)、 PreloadJS(文件加載)和Zo?(生成圖片精靈及動畫數據)。

    優點:
  19. Flash開發者很容易上手
  20. 提供了Flash轉html5的工具,可以將部分Flash代碼進行轉換再修改
  21. 基于MIT協議的開源框架
  22. 類庫設計非常獨立,包含不同的模塊,可選擇性使用
    </div>

    lycheeJS

    lycheeJS是一個環境獨立的JavaScript游戲引擎,可以在任何支持JavaScript的環境中運行。它的理念是做最快的JavaScript游戲引擎。

    優點:
  23. 同時支持PC(Firefox、Chrome、Opera、Safari、IE)和移動平臺(WebKit、Chrome、Firefox、Safari)的瀏覽器
  24. 提供了CDN、WebSockets、SPDY、HTTP2.0以及游戲截圖的支持
  25. 提供了可以直接導出第三方(非死book、AppStore、Google Play Store)資源包來發布
  26. 基于MIT協議的開源框架
    </div>

    Crafty

    Crafty是一個體積小、簡單、輕量級的2D的HTML5游戲引擎,它提供了通過Canvas或DOM來繪制實體,提供了精靈Map以及SAT高級碰撞監測支持。它是由個人(Louis Stowasser)創建,同時由Github上的一些開發者共同開發。

    優點
  27. 體積小
  28. 輕量級引擎,不會受到框架的太多束縛
  29. 同時支持PC和移動平臺瀏覽器
    </div>

    three.js

    Three.js是一個輕量級的JavaScript庫,用于在瀏覽器上創建和顯示3D圖形。它可以同時使用Canvas、SVG或WebGL進行繪制。

    優點和缺點:
    支持3D,但是不適合做2D游戲

    melonJS

    melonJS是melonJS團隊對Javascript熱情以及開發經驗的結晶,是一個簡單、免費、而且獨立的類庫。

    優點
  30. 輕量級的2D引擎
  31. 支持所有主流的PC和移動平臺瀏覽器
  32. 支持使用Tiled map editor來創建和編輯地圖
  33. 支持多聲道音頻
  34. 基于MIT協議的開源框架
    </div>

    Turbulenz

    Turbulenz是一個開源的HTML5游戲引擎,提供了可以 運行在Windows、MacOS、Linux上的SDK,允許開發人員創建高質量和硬件加速的2D、3D游戲。包括以下功能:異步資源加載、進行特效和 粒子渲染、支持物理效果、碰撞檢測以及動畫、3D音效支持、支持網絡交互以及社交網絡分享、場景和資源的管理。

    優點:
  35. 功能強大,同時支持2D和3D
  36. 基于MIT協議的開源引擎
    </div>

    Quintus

    Quintus是一個容易上手、輕量級、且模塊化的HTML5游戲引擎。它引用面向對象的思想來進行HTML5游戲開發,同時依賴于jQuery來提供事件處理機制和元素選取操作。

    缺點
  37. 依賴于jQuery
  38. 目前引擎仍處于初級階段,還很不成熟</div>

    Cocos2d-html5

    Cocos2d-html5是一款基于Cocos2d-x API的2D開源免費HTML5游戲引擎。它目前通過canvas進行渲染,將來會支持WebGL。它由國內Cocos2d-x核心團隊主導開發和維護, 行業領袖、HTML5大力推動者Google為這個項目提供支持。同時,Zynga、Google等大公司的工程師也參與到它的設計工作中。

    優點:
    1. 與Cocos2d的API類似,容易上手
  39. 中文文檔齊全,資料豐富
  40. 基于MIT協議的開源引擎
    </div>

    各框架具體參數對比

    1. 各HTML5游戲框架對比HTML5 Game Engines
  41. List of JS Game Engines
  42. 對于Crafty、Lime、Frozen、Melon、Impact、Quintus框架,可以在Breakouts上查看用這些引擎開發同一個游戲的效果以及代碼風格。Breakouts中使用到的特性包括碰撞檢測、精靈動畫、音效、地圖、場景切換、交互、文字渲染、移動平臺支持。
  43. 以上各引擎中,除了Construct2、ImpactJS、GameMaker是收費的之外,其他引擎都是免費并且開源的。對于開源引擎,我們可以從 Github上面的關注度了解到該引擎的流行程度,關注的人越多,遇到問題越容易解決。同時一般來說,項目開發者越多,版本更新越快;項目的進行時間越長 則越成熟。下面將對各開源引擎的開發者人數、項目啟動時間、關注度進行對比。
    </div>
    Game Engine Github commits Github contributors Start time Github Star Github Fork
    LimeJS 532 22 2011.1.19 1091 187
    EaselJS 784 15 2011.1.23 2758 650
    lycheeJS 4 1 2012.9.5 110 20
    Crafty 1182 67 2010.11.5 993 225
    three.js 6409 198 2010.3.23 12691 2816
    melonJS 1287 15 2011.4.11 643 137
    Turbulenz 736 12 2013.4.26(最近才開源) 1522 207
    Quintus 118 11 2012.8.4 450 89
    Cocos2d-html5 2706 39 2012.1.28 735 303

    總結

    以上各引擎中,Construct2、ImpactJS、 GameMaker三個是收費的,其中Construct2與GameMaker更像一個游戲開發工具,可以實現不用寫一行代碼來制作游戲,更適合于沒有 編程基礎的人使用。而ImpactJS作為一個高質量的框架,且易于擴展,雖然是收費的,但是物有所值。

    開源引擎中,three.js是最火的,但是僅限于開發3D游戲。其次是 CreateJS,由Adobe官方贊助且采用Flash類似的API以及模塊化開發,是Flash開發者以及將Flash游戲轉換成html5不可多得 的選擇。Turbulenz雖然開源時間比較晚,但頗有后來者居上的趨勢,由于其對2D和3D的同時支持,是同時開發2D和3D游戲的最佳選擇。 LimeJS與Crafty相比的優勢在于有一個公司進行維護,相比個人要更穩定,但是需要依賴于Google

Closure,也使之成為一個重量級的框架。Crafty體積小、輕量級,更適合于小游戲的開發。Cocos2d-html5作為國產框架的一個優勢在 于中文文檔和教程多,且得到了Google的支持,但相比ImpactJS、CreateJS仍不夠成熟。melonJS、Quintus、 lycheeJS的開發者和使用者都較少,相關文檔和教程也相對少,還有待觀察。</div>


參考資料


來自:http://blog.csdn.net/zhaoxy_thu/article/details/11867123

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!