1、为什么有那么多游戏引擎还要自己写一个游戏引擎?
我本身并不是学图形学的,只是一个有三年游戏开发经验的客户端程序员。我的工作经历告诉我,如果不自己写一个游戏引擎(即便最终不能有实际应用)那么就不会真正使用一个游戏引擎。在处理普通逻辑的时候还没有关系,但是碰到需要对性能进行优化,或者要实现特殊效果的时候就无从下手了。对于底层知识的了解可以在方向上起指导作用。
并且,虽然有如此多的开源游戏引擎,但是没有一个是符合我“审美观”和需求的游戏引擎。无论是cocos2d-x, ogre还是sdl等等,虽然他们都非常成功,并且有大批的使用者以及庞大的开源社区。但是用的时候总有各种不爽。就好像Mac下有如此多的git客户端,但是我需要的不是漂亮的界面效果,而是像windows下的totorisegit一样好用的工具,而不是提交的文件一多就慢的跟乌龟一样的Tower。
2、现有的一些游戏引擎让我不爽的地方
不爽只是个人喜好,或者是个人见解。并不一定是缺点,或许只是使用时的一点点束手束脚,或许仅仅是不知道如何正确的使用,或许仅仅是不知道如何扩充。
cocos2d-iphone算是objective-c语言的“唯一”游戏引擎。其很多设计非常巧妙的把UIKit和cocos2d结合起来,充分发挥了objective-c的语言优势。这个没有太多可以吐槽的地方。唯一要说的或许就是,正因为他使用了objective-c,所以限制了ios和mac平台。
cocos2d-x,是cocos2d-iphone的跨平台版本,使用的是c++语言。但是它用了c++语言的核去模拟objective-c的形。而且过分兼容cocos2d-iphone的接口和设计。这就让这个游戏引