天天看點

兩大開源遊戲引擎Cocos2d-x及OGEngine對比分析

兩大開源遊戲引擎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程式員,投入到這個行業,創作更多優秀的作品。