(未完成)
我是做游戏客户端的,所以介绍的内容会偏重游戏,偏重c++,这里不会出现分布式集群服务器,也不会出现node.js。会出现在这里的是那些非常经典的开源游戏、游戏引擎项目。
如果你想成为一个游戏开发者的话,先找本入门教材了解下什么是游戏开发,可以不会directx、opengl,但是一定要了解。 然后就可以进入开源的世界,不需要加入游戏公司就会有大量的游戏开发经验(我真希望我大学的时候能够看到这篇文章,那样我就不会浪费4年的大学时光,并且会少走很多弯路)。
即便你已经成为一个游戏开发者,从中依然可以汲取到很多营养。
一、通用库: 这里列举一些我们会经常用到,但是无法归类到游戏或者游戏引擎的开源项目。
1、boost (boost) 准标准库,不多介绍了
二、开源游戏: 能出现在列表中的绝对不是一个demo或者是一个大方砖,他们都经过几年时间开发和检验,拥有不逊于大型客户端游戏的品质。
1、O.A.D (http://play0ad.com/) 一个仿帝国时代的3d即时战略游戏,对想做rts游戏或策略游戏的人非常有参考价值
2、PlaneShift (http://sourceforge.net/projects/planeshift/) 一个3d mmo游戏客户端,本身游戏没有太大意思,但是整体客户端架构对于想做一个mmo的人来说,极具参考性
三、开源游戏引擎: 检验一个游戏引擎的标准是看有没有人使用,这些游戏引擎都是拥有大量拥护者和庞大社区的成熟开源游戏引擎。当然开源永远是开源,与商业游戏引擎比还是有一定差距的。否则的话谁还会花几百万美元去买u3
1、OGRE (http://www.ogre3d.org/) 算是最出名的3d渲染引擎了,其架构非常值得学习(但是个人并不喜欢)
2、KlayGE (http://www.klayge.org/) 国内大牛的3d渲染引擎,如果想学习最新图形技术,就必须要研究这个引擎。很多高级图形技术比商业引擎还要牛。
3、Torque3D (https://github.com/GarageGames/Torque3D) 最近开源的一个3d引擎(本身作为商业引擎也算久负盛名了),比较完整
4、Panda3D (https://www.panda3d.org/) 迪斯尼使用的商业级别的开源3d引擎,也比较完整,比起其他开源作品更加注重稳定和效率
5、Clanlib (http://clanlib.org/wiki/Main_Page) 感觉作者跑偏了,这个东西gui很酷,非常适合做direct ui软件,但是作为游戏引擎没有太大优势(但是也没有什么特别的劣势)
6、Cocos2d-x (http://www.cocos2d-x.org/) 最近最出名的2d游戏引擎
7、SDL (http://www.libsdl.org/) 开源社区一直非常普及的2d渲染库,附加组件很多,包括网络等附加库
8、PixelLight (http://sourceforge.net/projects/pixellight/) 一个还算不错的3d引擎
四、GUI、物理引擎等附加组件:
1、CEGUI (http://www.cegui.org.uk/wiki/index.php/Main_Page)
2、MyGUI (http://sourceforge.net/projects/my-gui/)