Java可以同時開發安卓和iOS
在近期的全球移動開發者大會上,Unity發布了2D引擎,觸控在同時發布了Cocos 3D引擎;而在差不多同時間,以安卓為主的OGEngine也發布了新版本,并宣布將支持跨平臺。各大引擎頻頻大動作并不是巧合,這代表著移動游戲行業的戰火已經從游戲本身蔓延到搬來不太受關注的底層技術引擎層面。
手游開發引擎主要以開源引擎、付費引擎以及自研引擎為主,在所有引擎中,這三類開發引擎特點各異,各有利弊。出于節約成本、縮短周期和降低風險三方面考 慮,很多游戲廠商傾向于使用第三方的現成引擎制作游戲,這樣能將重心放在游戲的開發和設計上,不再受底層的技術及工具設計煩惱,這也是一個非常好的選擇。 另外,游戲引擎是游戲開發的核心,如果一直在技術上依附于他人,就難以擺脫受制于人的局面,所以越來越多的開發商會選擇一款優秀程序開源免費的游戲引擎來 開發。
目前主流的游戲開發引擎包括:Cocos2d、Unity3d、OGEngine、Unreal等。其中Unity3d和Unreal是閉源收費的,授權費較高而且入門門檻相對較高。所以對于中小開發者,開源免費的Cocos2d和OGEngine是相對較好的選擇。
在國內,Cocos2d-x占有一定市場份額,然而從Android社區成長起來的OGEngine發展勢頭迅猛,受到越來越多開發者的關注。
正如iOS和Android兩個***的對立陣營一樣,源于iOS陣營的Cocos2d-x和源于Android陣營的OGEngine也將會在游戲引擎領域各據一方,相互廝殺。如同魔獸世界WOW里面的聯盟和部落,分別代表著不同的群體,屬于不同陣營。
下面我們就來詳細對比下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/question/1994573_163871