Java可以同時開發(fā)安卓和iOS
在近期的全球移動開發(fā)者大會上,Unity發(fā)布了2D引擎,觸控在同時發(fā)布了Cocos 3D引擎;而在差不多同時間,以安卓為主的OGEngine也發(fā)布了新版本,并宣布將支持跨平臺。各大引擎頻頻大動作并不是巧合,這代表著移動游戲行業(yè)的戰(zhàn)火已經(jīng)從游戲本身蔓延到搬來不太受關(guān)注的底層技術(shù)引擎層面。
手游開發(fā)引擎主要以開源引擎、付費引擎以及自研引擎為主,在所有引擎中,這三類開發(fā)引擎特點各異,各有利弊。出于節(jié)約成本、縮短周期和降低風(fēng)險三方面考 慮,很多游戲廠商傾向于使用第三方的現(xiàn)成引擎制作游戲,這樣能將重心放在游戲的開發(fā)和設(shè)計上,不再受底層的技術(shù)及工具設(shè)計煩惱,這也是一個非常好的選擇。 另外,游戲引擎是游戲開發(fā)的核心,如果一直在技術(shù)上依附于他人,就難以擺脫受制于人的局面,所以越來越多的開發(fā)商會選擇一款優(yōu)秀程序開源免費的游戲引擎來 開發(fā)。
目前主流的游戲開發(fā)引擎包括:Cocos2d、Unity3d、OGEngine、Unreal等。其中Unity3d和Unreal是閉源收費的,授權(quán)費較高而且入門門檻相對較高。所以對于中小開發(fā)者,開源免費的Cocos2d和OGEngine是相對較好的選擇。
在國內(nèi),Cocos2d-x占有一定市場份額,然而從Android社區(qū)成長起來的OGEngine發(fā)展勢頭迅猛,受到越來越多開發(fā)者的關(guān)注。
正如iOS和Android兩個***的對立陣營一樣,源于iOS陣營的Cocos2d-x和源于Android陣營的OGEngine也將會在游戲引擎領(lǐng)域各據(jù)一方,相互廝殺。如同魔獸世界WOW里面的聯(lián)盟和部落,分別代表著不同的群體,屬于不同陣營。
下面我們就來詳細(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是以Objective-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ā),但是在大運算量耗時功能時,OGEngine試用了C/C++本地代碼進(jìn)行開發(fā),比如物理引擎及音頻處理。作為開發(fā)者,只需要關(guān)注Java就可以了,OGEngine已經(jīng)將所有本地代碼封裝好了。OGEngine支持Android和iOS平臺,支持使用java直接編寫iOS游戲;更多平臺支持也在陸續(xù)拓展中。
Cocos2d-x和OGEngine的詳細(xì)對比如下:
Cocos2d-x和OGEngine各有特點,針對的開發(fā)者人群不同。對于開發(fā)者而言,意味著他們將擁有更多選擇,使得他們可以更加便捷地創(chuàng)作游戲。對于整個產(chǎn)業(yè)而言,OGEngine的崛起,會極大的降低手游開發(fā)的門檻,讓更多開發(fā)者,特別是Java程序員,投入到這個行業(yè),創(chuàng)作更多優(yōu)秀的作品。
本文鏈接:http://www.oschina.net/question/1994573_163871