搭建你的跨平台游戏开发环境

虽然目前大部分游戏都是闻都死(windows)平台的,但是毕竟是商业游戏居多,独立游戏普遍都是跨平台的,或者说并不是为了跨平台而去跨平台,而是由于其他各种因素决定,至于跨平台的好坏那就仁者见仁智者见智,这里不讨论,下面开始讲解如何搭建你的跨平台游戏开发环境(这里的跨平台指闻都死和牛克死(Linux),其他类Unix和移动平台游戏机平台什么的不管)

首先,选择一款开发语言,当然是有IDE的最好,这里只说C/C++,跨平台的IDE有很多,比如Eclipse、NetBeans、Dev-cpp、CB(Code::Blocks)等等,我个人推荐使用CB,关于他的介绍什么的详见官网 Code::Blocks 。

然后,选择一个图形SDK或者引擎,跨平台的不是很多,OpenGL 这是最底层的,必须学习,我们重点看看在他之上包装的SDK或引擎。几乎开源的引擎都是跨平台的,比如SDL(Simple DirectMedia Layer ),Irrlicht,Ogre 3D,OSG(OpenSceneGraph )等等,这里我个人推荐2D使用SDL,3D使用OGRE。SDL 包含了大部分常用的功能,从显示到音乐,从输入到视频回放等等,Ogre 3D 则因为结构化美,插件式,底层无关性等特点而被诸多使用,比如搜狐的《天龙八部》。

现在来看看其他游戏开发需要用到的SDK,开源为主。

音视频:推荐 FMoD和FFmpeg,FMoD 音频SDK用于非商业游戏可自由使用,FFmpeg 则是包含音视频的著名开源方案,暴风影音、KMP、QQ影音什么都是用他编解码(这三个软件已经被列为FFmpeg的耻辱 = =b),觉得前两种太大的话,可以选择Ogg Vorbis和Theora ,一个处理音频,后一个处理视频。
输入控制:一般输入控制键盘啊鼠标啊手柄啊什么的用系统API就可以,当然,想省事的话也有OIS(Object Oriented Input System) ,凡是输入设备基本都支持了。
GUI:一般 GUI都是自己设计的,当然,也有偷懒用的,推荐CEGUI 和MyGUI 。
网络:惭愧,网络接触的少,除了自己设计,只推荐RakNet ,要想实行更大规模的网络连接,可以看看 TrinityCore2 。
物理:一个完整的游戏是少不了物理支持的,可以供我们免费使用的物理模块不少,但是以Havok 和PhysX 为最多使用的,所以我们这里只需其中一个。Box2D 愤怒的小鸟用的就是这个。

游戏开发套件:
Torque 3D - 国外独立或小型制作者工作室等最多使用的套件,包含游戏用到的所有功能和内嵌编辑器,工具 ,新的T3D可以开发Web 3D,特别是购买完全版还能获得源代码。
Unity 3D - 新兴的游戏套件,同样包含游戏用到的所有功能和内嵌编辑器,工具 ,使用类C#的语言(mono)作为脚本,他的主攻方向是Web 3D,可以开发出在网页运行的3D游戏,对于独立开发可以免费使用。
Unreal Development Kit - Epic公司新近推出的,基于Unreal 3的游戏开发包,包括Unreal 3的所有功能和编辑器 ,工具等,对于独立开发可以免费使用。嘛,这个就不能跨平台了。

基本上游戏开发的都已经列出来的,善用谷歌,其他资料工具什么的都能很容易找到。

下面开始讲解CB+wxWidgets+Ogre 3D+FFmpeg +CEGUI+RakNet的教程,与君共勉!

1.下载CB。进入http://www.codeblocks.org/downloads/5 选择codeblocks-8.02mingw-setup.exe并下载安装,如果你是在闻都死平台,那么还要进入 http://forums.codeblocks.org/index.php/board,20.0.html 选择最新一期的unicode windows wxWidget dll和 mingw10m.dll,还有下方的build下载并覆盖原文件,mingw10m.dll放在 CB文件夹/MinGW/bin 下面。

2.下载wxWidgets。这是用来开发跨平台GUI的库,比如窗口,控件什么的,进入http://www.wxwindows.org/downloads/ 选择wxMSW下载并解压,为了后续方便解说,我把它解压到 CB文件夹/Projects/ wxMSW。

3. 下载Ogre 3D,FFmpeg,CEGUI,RakNet。
Ogre 3D:进入 http://www.ogre3d.org/download/source 下载(CB文件夹/Projects /Ogre )。还要下载 MinGW Precompiled Dependencies 。进入 http://sourceforge.net/projects/ogrescenebuilde/files/ 下载地图编辑器 (CB文件夹/Projects /Ogre/Ogitor ,进入 http://www.ogremax.com/downloads 下载对应的用来导出3D建模软件的模型到 OGRE的工具 (CB文件夹/Projects/OGRE/Ogre Max
FFmpeg 使用任一Subversion客户端(比如 TortoiseSVN )从 svn://svn.ffmpeg.org/ffmpeg/trunk(CB文件夹/Projects/ FFmpeg 检出完整源代码。
CEGUI:分别进入 http://www.cegui.org.uk/wiki/index.php/CEGUI_Downloads_0.7.1 (CB文件夹/Projects /CEGUI/CEGUI ,http://www.cegui.org.uk/wiki/index.php/CELayoutEditor_Downloads_0.7.1 (CB文件夹/Projects /CEGUI/LayoutEditor ,http://www.cegui.org.uk/wiki/index.php/CEImagesetEditor_Downloads_0.7.1 下载(CB文件夹/Projects/CEGUI/ImagesetEditor
RakNet:进入http://www.jenkinssoftware.com/ 下载(CB文件夹/Projects/RakNet

4.准备工作已经完成,下面开始逐个编译。
wxWidgets:参考http://blog.csdn.net/joliny/archive/2008/12/12/3505566.aspx
Ogre 3D:参考http://www.ogre3d.org/wiki/index.php/Building_Ogre_With_CMake ,Ogitor 参考http://wiki.ogitor.org/Building+Ogitor&structure=Development
FFmpeg:参考http://ffmpeg.org/general.html
CEGUI:拿来后可以直接编译。
RakNet:拿来后可以直接编译。
Havok/PhysX:拿来后不用编译。

到此,我们已经有了可以使用图形,音视频,用户界面,编辑器,网络各种库文件,可以开始我们的游戏开发之旅了~民那,钢巴列!(也许会写个游戏开发教程,再说吧 >.<)

angel-engine
http://code.google.com/p/angel-engine/
由前EA员工带队制作

OpenLayer
http://developer.berlios.de/projects/openlayer/
Dev-C++等GNU界推荐

phoenixgl
http://code.google.com/p/phoenixgl/

Haaf's Game Engine
http://hge.relishgames.com/
较为出名的HGE

PopCap Games Framework
http://sourceforge.net/projects/popcapframework/
这个看名字就知道了,《植物战僵尸》《宝石迷阵》都用的它。

Scrolling Game Development Kit (SGDK2)
http://sgdk2.sourceforge.net/
一个综合的游戏开发工具

你可能感兴趣的:(游戏,subversion,dependencies,跨平台,tortoiseSVN,游戏开发包)