您的位置:首页 > 其它

当前主流开源游戏引擎简介

2012-11-24 16:08 288 查看
最近想做一个类似与切西瓜的游戏。第一步是选一个主流的开源游戏引擎。所以本文想借此机会比较下他们的特点。

box2d

“愤怒的小鸟”angry birds就是基于它开发的。最开始它是用C++写的,后来它被陆续转换为其他语言版本,当前就有action script, javascript,另外它还支持各种语言binding,例如python,也就是说我们也可以用phthon来基于它开发游戏。它最大的特点就是文档非常全面,包含一个60多页的用户手册(user manual),另外还有完整的API文档。缺点就是学习曲线非常陡峭,新手人门很难。另外一点也很郁闷,没有强大的社区支持,它确实建立了一个论坛,但是好像不怎么活跃。关于它的入门例也不多见,我找到一个http://codingowl.com/,可以试试。box2d的定位是物理模拟引擎,所以他不自带图像渲染系统,很难让新手很容易就看到游戏运行效果,只能让你看到一串运行时数据输出,非常没成就感。它提供了一个b2DebugDraw,我们可以用它植入绘图操作。最简单的就是用HTML5的canvas元素当画板了。如果这样子的话,那就真的只是提供debug功能了,如果游戏非常复杂,那就要命了;-),也就是说box2d只有跟一个提供丰富绘图操作的库一起用才能让你如鱼得水,事半功倍。在box2d
web的网站上,它给出了一个跟IvanKLib的集成演示,效果出奇的好,下面是模拟海面的一个例子,



当然它优点也很多的,比如,非常稳定,尤其对于各种极端情况,比如一个物体速度很快,在一帧时间的中间就飞出了屏幕之外;另外它的碰撞检测系统也非常稳健,就算两个物体在一帧时间的中间就碰撞了,也不会出现物体重叠的情况。还有其他优点比如,所有对象都由b2World来创建,这样简化了开发人员内存管理策略,交由引擎自己完成内存管理。还有,它支持很多中刚体(rigid body)连接器(joint),这样非常方便实现齿轮联动的效果,或者是定义一个人的骨骼模型,让这个模型在运动时更真实。

当前,还有一个box2d的精简版box2d Lite,有一些其他游戏引擎基于它开发的,比如,chipMunk。

ChipMunk

很小,很轻,包含了游戏引擎最常用的功能,比如,多种形状之间的碰撞检测,光线跟踪算法,碰撞筛选等。它的文档也很齐全。强大的cocos2d也引用了chipmunk。

Cocos2d

很多App Store里面的游戏都是用cocos2d开发的,当前它有很多的针对不用平台的衍生版本,cocos2d-iphone是做apple平台游戏开发的,cocos2d-x是用C++写的可以运行在很多平台上,iphone, android, linux, windows, blackberry等。 cocos2d-android用java写的是针对android平台,cocos2d-html5是用javascript写的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: