在近期的全球移動開發者大會上,觸控發布了Cocos 3D引擎;而在差不多同時間,以安卓為主的OGEngine也發布了新版本,并宣布將支持跨平臺。
Cocos2d-x和OGEngine都是當前比較受開發者歡迎的開源免費手游開發引擎,而近期更是受到越來越多的游戲開發者關注。在國內,Cocos2d-x占有一定市場份額,然而從Android社區成長起來的OGEngine發展勢頭迅猛,受到越來越多開發者的關注。
有意思的是,Cocos2d-x和OGEngine的發展軌跡驚人的相似:Cocos2d-x和OGEngine都源于國外個人開發者的開源游戲引擎。Cocos2d-x源于由Cocos2d發展而來的Cocos2d-iphone,基于Cocos2d-iphone拓展跨平臺;而OGEngine源于個人開發者Nicolas Gramlich的開發的Android開源游戲引擎AndEngine,基于AndEngine拓展跨平臺。兩者都由中國公司進行優化和拓展,并受到國內甚至海外開發者的歡迎。
下面我們就來詳細對比下Cocos2d-x和OGEngine。
Cocos2d-x源于支持iOS游戲開發的Cocos2d-iphone; 而OGEngine則源于Android游戲開源引擎AndEngine. Cocos2d-x基于Cocos2d-iphone,拓展Cocos2d跨平臺;采用C++開發,目前支持的平臺有iOS,Android, Windows等。OGEngine是基于AndEngine,拓展AndEngine跨平臺;采用Java開發,支持的平臺有Android和iOS。
由于Cocos2d-iphone是以Objective-C為基礎開發的,Cocos2d-x支持的語言是C++。所以采用Cocos2d-x開發游戲的開發者必須使用C++。然而Java程序開發者占大多數,而且正不斷擴大,所以一款支持Java的跨平臺開源引擎是十分受歡迎的。OGEngine正是在這樣的背景下快速發展起來的。
Cocos2d-x入門難度相比于OGEngine要高。Cocos2d-x在插件兼容性方面較差,如果開發發者更改了引擎代碼,則可能導致不同的環境不兼容。
OGEngine主要使用Java語言開發,但是在大運算量耗時功能時,OGEngine試用了C/C++本地代碼進行開發,比如物理引擎及音頻處理。作為開發者,只需要關注Java就可以了,OGEngine已經將所有本地代碼封裝好了。OGEngine支持Android和iOS平臺,支持使用java直接編寫iOS游戲;更多平臺支持也在陸續拓展中。
Cocos2d-x和OGEngine的詳細對比如下:
對比項 |
OGEngine |
Cocos2d-x |
開發語言 |
Java |
C++ |
支持平臺 |
Android、iOS |
iOS、Android、Windows |
支持類型 |
2D |
2D |
授權方式 |
免費 |
免費 |
開源與否 |
開源 |
開源 |
插件支持 |
支持 |
不支持 |
開發成本 |
低 |
一般 |
Cocos2d-x和OGEngine各有特點,針對的開發者人群不同。對于開發者而言,意味著他們將擁有更多選擇,使得他們可以更加便捷地創作游戲。對于整個產業而言,OGEngine的崛起,會極大的降低手游開發的門檻,讓更多開發者,特別是Java程序員,投入到這個行業,創作更多優秀的作品。