開源遊戲引擎Cocos2d-x,OGEngine對比分析
在近期的全球移動開發人員大會上,觸控發布了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的詳細對比如下:
Cocos2d-x和OGEngine各有特點,針對的開發人員人群不同。對於開發人員而言,意味著他們將擁有更多選擇,使得他們可以更加便捷地創作遊戲。對 於整個產業而言,OGEngine的崛起,會極大的降低手遊開發的門檻,讓更多開發人員,特別是Java程式員,投入到這個行業,創作更多優秀的作品。
本文連結:http://www.oschina.net/news/54366/cocos2d-x-compare-with-ogengine