近听闻不少08的同学都选择了游戏这个主题,于是不少人在为选择游戏引擎苦恼。于是根据自己的经验写这片博,希望能够给绝望中的同学提供一丝光亮。
说到游戏,说难也难,说简单也简单,想必大家经过了c++这门课程的大项目之后应该有所了解。难就难在需要花心思去设计,对媒体设计的依赖程度极大,所在这里给大家的忠告是 一旦决定了做游戏,就赶紧去找一个媒体设计高手,如果找到这样一个人,你的成功就完成了一半;游戏简单就简单在,只要设计好了(游戏策略和媒体),不像应用程序那样,通常有很多比较恶心的核心技术难关要去突破,你唯一要做的就是在team里分配好职责,并且花大量的时间去完成,编码-测试-编码-测试...如此往复,最终一个优秀的游戏就诞生。
下面我介绍几个比较常用的iPhone游戏引擎,不是每一个我自己都用过,所以可能介绍的时候会说错话,但是这些都是目前比较可取的引擎。
#2D:
- Cocos2d(http://code.google.com/p/cocos2d-iphone/),作为首选的引擎,Cocos2D基于opengles 1.1并且采用OC编写的,开放源代码,而且文档很齐全,所以对于开发者是一个非常友好的引擎库。而且有粒子系统和物理引擎系统(物理引擎系统效率还可以)。如果是做2d游戏的话,这个很好用,我自己曾近用cocos2d做过一个游戏,唯一的遗憾就是感觉它的构架设计得不够handy,但是由于开源,所以当你自己觉得原库不够用得时候,你可以随心所欲地改写,直达符合自己地需求!
- opengles,即直接用opengles来编写自己的游戏。这个可能对很多同学来讲简直是不可思议,但是其实自己用opengles写可以带来很多灵活性,这个对于游戏来讲很重要,而且目前已经有很多帮助文档,实在不行可以直接借鉴Cocos2d的很多的源代码。但是可能唯一的风险就是你需要投入大量的时间来自己动手写,如果你没有这么大的时间和勇气还是采用游戏引擎。自己如果直接使用opengles来写,相比游戏引擎来讲,会有很大的收获,对于某些不满足的同学可以尝试。
下面是来自
cocoachina的opengles游戏开发教程:
http://www.cocoachina.com/gamedev/program/index.html 如果学习过程中遇到了问题,大家可以互相探讨!
3.
Torque(
http://www.garagegames.com/products/tge/iphone),这是一个跨平台的游戏引擎,移植到iPhone以后可以用来制作2D和3D游戏,最大的优势是拥有自家的product tool,可以很方便地制作游戏,也即使说基本上可以不写代码就可以做出游戏,只需要写一些脚本就可以了。个人不推荐...
#3D(总的来说,iPhone的3D性能还远不能和专业的游戏机相比,所以做出来的效果肯定没有预期的好。而且开发3D游戏的成本是很高的,如果之前没有开发3D游戏的经验,一下子要做3D游戏是比较没底的。并且目前的iPhone 3D游戏引擎只能做出一些比较简单的游戏,画面也远不够优秀,想做3D游戏的同学一定要做好心里准备!)
- Unity 3D(http://unity3d.com/) Unity目前是一个比较牛B的iphone 3d游戏制作工具套件,之前是制作一般电脑和web上的3d游戏的工具,但是iPhone出世以后,立马推出了iPhone的版本。我有试用过,相比其它引擎来讲,还是比较可以的,但是也是一个不需要写代码的游戏制作工具,只需要通过脚本完成,另外一个要命的问题是,这个东西不是免费的,而且价格不菲!但是据说学院图形图像实验室巨资引进了一套,不知道有想法的同学能不能够说服贾老师也给我们实验室使用。。。
- SIO2(http://www.sio2interactive.com/)一个免费的开源的3d游戏引擎,目前已经有不少的游戏使用这个引擎了,它必须使用Blender(http://www.blender.org/)来制作模型和动画。但是还是仅限于制作比较简单的3d游戏。
- Oolongengine(http://oolongengine.com/)Google出来的,为使用过,但是ms评价不错。有兴趣的同学可以关心一下。
PS这里有一个关于游戏引擎比较的文章:
http://blog.csdn.net/wave_1102/archive/2009/06/10/4259082.aspx