Android 遊戲引擎分類彙總

Web開發者發表於2012-07-16

1.AndEngine

  簡介:AndEngine 基於libGDX框架開發,使用OpenGL ES進行圖形繪製。同時繼承了BOX2D物理引擎,因此能實現一些較為複雜的物理效果。在Rokon停止更新以後,AndEngine 成為Android 最為流行的2D遊戲引擎。

  優點:
  (1)高效:在大運算量好事情況下,使用C/C++原生程式碼進行開發。比如物理引擎或者音訊處理。
  (2)AndEngine是開源專案,開發者可對原始碼進行修改,它的原始碼在github上託管。
  (3)擁有Particle System (粒子系統),能製作雨雪流水等效果,另外還有Streak(動態模糊),Ratial Bule(徑向模糊)等
  (4)使用JNI封裝了BOX2D的C++端,使得執行效率提高。如果遊戲中使用物理引擎,則優先考慮使用該引擎。

  缺點:沒有官網文件,網上文件教程少,學習難度大。但是網上可收集到較多原始碼。

  語言:java

  最低執行環境:不詳

2.Rokon

  簡介:是一款Android 2D遊戲引擎,基於OpenGL ES技術開發,物理引擎為Box2D,因此能夠實現一些較為複雜的物理效果,該專案最新版本為 2.0.3 (09/07/10)。

  優點:

  (1)開發文件相當之完備,並且專案作者對反饋Bug的修正非常之神速,所以該框架的使用在目前也最為廣泛,有人乾脆將它稱為Cocos2d-iPhone引擎的Android版(業務邏輯和編碼風格上也確實很像)。

  語言:java

  最低執行環境要求為Android 1.5。

3. LGame

  簡介:是一款國人開發的Java遊戲引擎,有Android及PC(J2SE)兩個開發版本,目前最高版本同為0.2.6(31/07/10)。

  優點:

  (1) 層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics API(PC版採用Graphics2D封裝,Android版採用Canvas模擬實現),所以能夠將J2SE或J2ME開發經驗直接套用其中,兩版本 間主要程式碼能夠相互移植。

  (2)Android版內建有Admob介面,可以不必配置XML直接硬編碼Admob廣告資訊。

  (3)該引擎還內建有按照1:1實現的J2ME精靈類及相關元件,可以將絕大多數 J2ME遊戲平移到Android或PC版中

  缺點:

  (1)該引擎除了基本的音效、圖形、物理、精靈等常用元件以外,也內建有Ioc、xml、http等常用Java元件的封裝,代價是jar體積較為龐大,PC版 已突破1.2MB,Android版有所簡化也在500KB左右。

  (2)唯一遺憾的是,該專案作者是個極其懶惰的傢伙,開發文件從去年說到今年依舊沒有提供,只有遊戲示例可供下 載。

  最低執行環境要求為Android 1.1。

  語言:java

4.Cocos2d

  版本cocos2d-iphone\cocos2d-x\cocos2d-android \cocos2d-javascript\luaCocos2d

  優點:採用開源協議BSD,網站提供大量的測試例子,程式設計指南、教學視訊等。也是當前最流行的一種開發引擎。

  cocos2d-android:它是cocos2d的java實現,並能夠在android上執行,使用BSD協議釋出。

  cocos2d-android-1:由國內自身開發者建立發展的,他認為android發展太慢,所以建立了一個新的android 實現,以實現最新的cocos2d-iphone的版本。使用bsd協議釋出,該分支目前有俄羅斯人維護。

========================以下是兩種3d遊戲引擎===============

Libgdx和jpct可以製作不太高效的3D遊戲

1.Libgdx

  簡介:Libgdx是一款基於OpenGL ES技術開發的Android遊戲引擎,支援Android平臺下的2D遊戲開發,物理引擎採用Box2D實現。單就效能角度來說,堪稱是一款非常強大的 Android遊戲引擎,

  缺點:

  (1)精靈類等相關元件在使用上不夠簡化

  (2)而且文件也較為匱乏。

  (3)僅支援2的次方的圖片尺寸。

2.jpct

  jpct是一款體積非常之小的Android 3D遊戲引擎,基於OpenGL ES技術開發。為了壓縮體積,它根據不同功能採用多jar方式釋出(包括alien3d-engine.jar,alien3d- tiled.jar,alien3d-sprites.jar,alien3d-shapes.jar,alien3d- particles2d.jar,),事實上它的核心檔案大約只有40KB,所有相關jar的總和也不足150KB。

 建議:AndEngine是比較流行的引擎,底層的openGl封裝的比較好,我的一些在北京的同學的公司多在用這個開發。還有一些在使用cocos2d-android,有點是成熟的引擎,例子多,教程多。缺點是cocos2d-android是執行在java平臺上面的,執行速度不如使用C/C++用JNI封裝的速度快,在處理消耗資源很大的運算的時候,對手機的配置要求比較高。

  另,3D引擎比較推薦unity3D,優點是成熟的開發引擎,有自己獨立的開發客戶端,採用指令碼式開發而非編碼式開發,並且unity經過這幾年的發展,已經可以和Unreal、Cry這種國際頂級引擎效果相媲美,跨平臺,wp7、ios、pc、mac、xbox360等終端都可以使用,語言較C類語言更容易學習,更貼近java(JS、c#).缺點是中文的教程比較少,網上有一些視訊教程,比如教你10個小時就可以做出憤怒的小鳥的視訊,都是收費的。並且unity3d的售價不菲,我記得好像是1200刀。雖然在學習的過程中可以使用破解版的unity3d,但是破解版的打包出來的軟體貌似通不過app store的稽核(google pay的不清楚了),而且破解版的打包出來的軟體比未破解打包出來的軟體大了接近10倍的大小。

  我原來看過一個調查,在遊戲開發者中,用unity3d開發的大約有40%+,cocos2d大約有16%+,因此在學習階段,儘量還是使用知名的遊戲引擎來進行開發。並且近幾年移動網際網路發展速度太快,那麼使用跨平臺的引擎,在以後的移植和團隊合作方面會有很大的優勢。

  引擎推薦排名:

  2D cocos2d-x>AndEngine>cocos2d-android

  3D unity3d(大型的3D遊戲只推薦指令碼類引擎)

  其他的,像roken,其作者因為考上了類似於中國的研究生的這種學位,已經一年多沒有更新了。雖然roken可以算是開源引擎裡面最棒的,但是因為沒有作者的更新,且引擎還存在一些小BUG沒有解決。所以現在使用roken的也越來越少了。不建議LGGame,沒用過,也沒了解過

來源:http://hp.dewen.org/?p=924

相關文章