我对Linux下游戏开发的浅见
实际上,我不算正式作过Linux的游戏开发,不过就我知道的一些知识,我想说说自己对Linux游戏开发的看法。
1. 棋牌类单机游戏:
如果没有什么特殊要求,gtk和qt库都很适合做这样的开发。这两个库有基本的窗体,几何绘制,贴图和文字功能。完全能满足这棋牌类的游戏开发。拿gtk来说,你要做一个纸牌游戏,只要掌握gtk的事件和基本的几何贴图绘制等功能,就能完成gui的开发,当然你自己可能还需要实现一下ai,这个看你的算法功底了。
其实这个也适合开发简单的RPG游戏。
2. 2D动作类单机游戏:
这类游戏,redraw相当的多,帧数要求比较高,画面变动很大,要求很多实时的图形变换等等,反而对标准菜单之类的要求不高(直接在游戏界面里面一起做了,一般不用标准的菜单)。这类游戏用SDL或者OPENGL比较方便,SDL是对OpenGL的上层封装(不单止,还封装了音频,键盘鼠标,fb的处理),基本上可以说是为游戏而开发的一个库。为了做好一个动作类单机游戏,先不说游戏情节等等的设置,尽管opengl有很好的坐标绘制和变换机制,但是还需要你对计算机图形学和相关的数学知识有比较好的基础。
3. 3D游戏:
要求你对线性代数更加的熟悉。好的数学基础是必须的。
4. 网络游戏:
还用说么?对网络协议的了解,要达到灵活运用的层次,用udp怎么样去实现等效tcp的应用?怎么样处理分布式的问题?单机游戏在变成网络游戏的时候,遇到相当多的问题,要怎么解决?
上面是我即兴想到的一些拙见,很多都没有实践作为基础,很定有很多很多错误,欢迎拍砖。