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