两大开源游戏引擎Cocos2d-x及OGEngine对比分析

简介:

image

在近期的全球移动开发者大会上,触控发布了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的详细对比如下:

image

Cocos2d-x和OGEngine各有特点,针对的开发者人群不同。对于开发者而言,意味着他们将拥有更多选择,使得他们可以更加便捷地创作游戏。对于整个产业而言,OGEngine的崛起,会极大的降低手游开发的门槛,让更多开发者,特别是Java程序员,投入到这个行业,创作更多优秀的作品。

相关文章
|
存储 Linux 数据安全/隐私保护
安装部署milvus单机版(快速体验)
安装部署milvus单机版(快速体验)
3407 0
|
数据采集 缓存 算法
算法优化的常见策略有哪些
【10月更文挑战第20天】算法优化的常见策略有哪些
|
7月前
|
网络协议 安全 API
skynet.dispatch 使用详解
skynet.dispatch 使用详解
288 2
|
边缘计算 负载均衡 网络协议
B站千万级长连接实时消息系统的架构设计与实践
本文将介绍B站基于golang实现的千万级长连接实时消息系统的架构设计与实践,包括长连接服务的框架设计,以及针对稳定性与高吞吐做的相关优化。
360 9
|
存储 Android开发 iOS开发
指导:大量联系人电话号码怎么导入iphone苹果手机通讯录?
想有没有简单的办法能帮我来快速批量操作完成,在网上查了很多方法都很复杂,搞了半天精疲力尽,在我快要放弃的时候遇到了一个网上常见简便的软件工具,金芝号码提取导入助手。它很轻松就解决了我的问题:大量联系人电话号码怎么导入iphone苹果手机通讯录?当然了安卓手机也是可以导入的,通用。我写了一个详细的图文教程。
3316 0
指导:大量联系人电话号码怎么导入iphone苹果手机通讯录?
四种创建单链表的方法
四种创建单链表的方法
482 0
|
程序员
带你读《电路基础》之一:基本概念
本书内容采用简明易懂的风格,介绍了六步解决问题的方法,并在实践中的问题和实践问题,结合了超过468个新的或改变家庭作业问题。涵盖了全面的线性电路分析的方法,并保留了“设计一个问题”的功能,这有助于学生发展他们的设计技能,有学生发展的问题,以及解决方案。
|
Java 程序员
【面试问题】happens-before 是什么?
【1月更文挑战第27天】【面试问题】happens-before 是什么?
|
缓存 Rust 前端开发
esbuild + swc 能有多快?
前端工具层出不穷,之前有常用的打包工具webpack,现在有了速度更快的vite。 vite的开发模式是基于esBuild编译的,打包又是基于rollup,启动项目是很快的。
953 0
esbuild + swc 能有多快?
|
存储 Java
netty框架的学习笔记 + 一个netty实现websocket通信案例
一、前言 1.什么是netty? 2.netty的使用场景。 3.学习目录 二.java io通信 三.netty入门 四.websocket入门 五.netty实现websocket通信案例。 1.
420 0