Android 遊戲引擎匯總
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-iphonecocos2d-xcocos2d-android
cocos2d-javascriptluaCocos2d
優點:採用開源協議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。
建議i: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,沒用過,也沒瞭解過