当前主流开源游戏引擎简介
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。
box2d
“愤怒的小鸟”angry birds就是基于它开发的。最开始它是用C++写的,后来它被陆续转换为其他语言版本,当前就有action script, javascript,另外它还支持各种语言binding,例如python,也就是说我们也可以用phthon来基于它开发游戏。它最大的特点就是文档非常全面,包含一个60多页的用户手册(user manual),另外还有完整的API文档。缺点就是学习曲线非常陡峭,新手人门很难。另外一点也很郁闷,没有强大的社区支持,它确实建立了一个论坛,但是好像不怎么活跃。关于它的入门例也不多见,我找到一个http://codingowl.com/,可以试试。box2d的定位是物理模拟引擎,所以他不自带图像渲染系统,很难让新手很容易就看到游戏运行效果,只能让你看到一串运行时数据输出,非常没成就感。它提供了一个b2DebugDraw,我们可以用它植入绘图操作。最简单的就是用HTML5的canvas元素当画板了。如果这样子的话,那就真的只是提供debug功能了,如果游戏非常复杂,那就要命了;-),也就是说box2d只有跟一个提供丰富绘图操作的库一起用才能让你如鱼得水,事半功倍。在box2dweb的网站上,它给出了一个跟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写的。相关文章推荐
- flash开源游戏引擎pushButton学习笔记(1)----引擎简介HelloWorld
- 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程:简介及目录》(附上完整工程文件)
- 《Genesis-3D开源游戏引擎简介》-2014年1月17号版本
- Phaser开源2d引擎 html5游戏框架中文简介
- 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇:简介及目录》(附上完整工程文件)
- 开源游戏引擎KlayGE简介
- 目前三个主流的开源ESB项目简介
- 历数2013年优秀的开源游戏引擎与开源游戏项目
- Android 八款开源 Android 游戏引擎
- 记录一下八款开源 Android 游戏引擎
- 最先进的开源游戏引擎KlayGE 3.12.0发布
- 开源html3D/2D游戏引擎 Turbulenz USER GUIDE
- 八款开源Android游戏引擎(转)
- 八款开源 Android 游戏引擎 (巨好的资源)
- 为什么Cocos2D开源引擎最适合游戏创业团队?
- 8个优秀的Android开源游戏引擎
- 开源游戏引擎哪家强?八款知名引擎资料够你忙
- 八款开源 Android 游戏引擎 (巨好的资源)
- Android八款开源游戏引擎
- 八款开源 Android 游戏引擎 (巨好的资源)