我是一个相对较新的开发人员,我正在学习C++.我有使用java,javascript,actionscript和python编写代码的经验,但我想要一些足够快的东西来做一些高性能的2D和3D游戏.
当我最终学习基础知识(控制结构,课程等)时,我想开发一个2D游戏.我已经探索了各种2D图形库(cairo,sdl,openframeworks,clutter),但杂乱似乎是加速图形和矢量绘图最优化的.
混乱是否适合2D游戏?我意识到它与其他库不同,它维护着自己的场景图,但我过去开发了一个flash游戏,所以我应该习惯它.
我应该注意哪些性能问题?有没有其他人有经验做杂乱的重型图形?
我已经使用Clutter完成了很多嵌入式系统的工作,现在正在用它做一个桌面项目.基于桌面的2D游戏可能会很棒,但有一些警告:
该工具包的主线开发非常注重Linux.我不确定Windows,Mac或iOS("果味")端口的维护情况.
文档很少,而且没有书籍.(我想写一个.)
它是用C语言编写的,并且本地公开了C语言绑定.虽然包含C++在内的许多语言都有Clutter绑定,但您仍然需要了解C语言绑定.
它本身不使用C++对象.相反,它使用基于C的GObject系统用于单继承对象,即使你用C++绑定写它,你也需要了解一些GObject.
如果要将它与线程一起使用,则必须使用其线程系统 - 而不是 POSIX线程,或Boost线程,或其他任何东西.
它可以真正击败GPU中的焦油,所以如果你正在做一些花哨的事情,那么在廉价笔记本电脑和上网本中使用的一些低端英特尔芯片的帧率可能会平庸.
也就是说,你可以用它做出惊人的事情.我非常喜欢使用它,一旦你理解了如何做到这一点,与C++的混合和匹配就会很有趣.
此外,还有一个非常摇滚的开源会议,名为GUADEC,Clutter人员就在那里.如果你在2011年7月在柏林出现一个非常有趣的基于Clutter的游戏,人们会给你买很多饮料.