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的详细对比如下: