glest是一个基于opengl的开源RTS游戏,官网http://www.glest.org
一个牛人使用说明 http://blog.csdn.net/yaoyansi/archive/2008/03/19/2195610.aspx
推荐一款开源3D即时战略游戏(Glest)
Books are the ever-burning lamps of accrmulated wisdom.
好书乃积累智慧之长明灯.
An hour in the morning is worth two in the evening.
一日之计在于晨
Glest 是一款开源3D即时战略游戏, 具有华丽的效果和高级的人工智能, 可运行在多种平台的操作系统上. 可以使用游戏配置工具或通过直接修改XML配置文件改变游戏的性能参数等. 游戏中主要有两大完全不同的种族, 人类和魔法师.
主要技术及特点: 使用标准C++可以支持GCC和VS.NET编译. OpenGL跨平台渲染API, DX(部分实现中). DirectSound和OpenAL可以播放静态或流式声音, 支持OGG, WAV等. 除单机对战电脑外还可以使用局域网联机对战, 最多支持4玩家联机. 使用多种优化的人工智能技术.
两大种族都有强大的科技树, 这些设置都是在XML文件中定义, 你可以很容易的修改这些设定. 并附有模型查看工具, 地图编辑器, 和MAX导出插件.
以下主要介绍如何成功编译 Glest, 调试环境 Windows XP SP2 Build 2600 + Microsoft Visual C++ 2003 .
首先在本站下载Glest3.12工程, 工程中已包含需要链接的静态库和头文件, 先编译 shared_lib 中的 LibGlest 工程生成静态库 LibGlestD.lib 和 LibGlest.lib, 他们将分别在游戏主程序的调试版本和发布版本中使用. 再打开 Src 目录下的 Glest_2003.sln 工程, 编译即可. 要运行或调试程序还需要下载游戏程序. 当然你也可以直接到官方网站下载相应版本及依赖文件~
以下为该游戏的一些相关截图:
glest实时策略游戏 3.2.2 版vs 2003下的编译
原文地址:http://hi.baidu.com/nvlijiao/blog/item/08a5710bfcd9c037b1351d55.html
简介:
小游戏中的策略游戏极品,一款类似于魔兽争霸的游戏,但是魔兽争霸的容量是300MB左右,GLEST只有不到40MB.而且这款游戏是免费的!!!这款游戏不仅有windows操作系统的版本,linux也可以玩这个游戏。
画 面:
3D游戏画面,不比同类的大游戏差,人物角色还有游戏背景都是细致的。攻击时的效果绚烂,多样变化的游戏地图,河流、森林等等,游戏画面好。
声 音:
根据不同的游戏进度或者游戏场面,背景音乐也会有不同,双方交战时音乐是激烈的,而游戏准备时轻松的,多种不同的游戏音效。
上手度:
如果你玩过魔兽,那么对这款游戏的操作一定是不成问题的,用鼠标可以全程操作,微操作的键盘快捷方式也很多,这就要靠玩家在游戏中掌握了。
创 意:
虽然游戏在很多地方是和同类的策略游戏相似的,但游戏本身还是有很多值得关注的地方,比如人物升级系统,不是级别和经验的提高,而是从种类上改变。
可玩性:
可以自己编辑地图;还有两个不同的种族,并非别拥有他们不同的人物系统。喜欢策略游戏的朋友不要错过了。
Glest是一个free自由的实时策略游戏,你可以控制两种不同军事派系的军队:技术Tech,主要由战士和机械设备组成;魔法Magic,在战场上更喜欢魔法师和召唤生物。
Glest不只是一个游戏,也是一个建立策略游戏的引擎,基于XML和工具集。几个模块已经存在。
http://glest.org/en/index.php)可下载最新版,当前最新版为 3.2.2 版。在此是对此版本的编译http://download.csdn.net/source/1522860 (缺少libglest和game工程文件)。
(1)下载源码glest_source_ 3.2.2 .zip和此处提供的VisualStudio2003的项目文件。
(2)分别解压缩两个文件,将glest_source_322中的文件复制到相应的目录即可。
(3)编译此项目需要一些依赖库:
libogg 1.1.3 http://downloads.xiph.org/releases/ogg/libogg-1.1.3.zip
libvorbis 1.2.0 http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.zip
xerces 2.8.0 http://labs.xiaonei.com/apache-mirror/xerces/c/2/binaries/xerces-c_2_8_0-x86-windows-vc_7_1.zip
lua5.1 http://www.lua.org/ftp/lua-5.1.4.tar.gz
(4)其中deps目录为Glest的windows下的依赖文件,可以从Glest Advanced Engine的SourceForge上的项目可在其中下载。http://glest.codemonger.org/home_page.php其中提供了更多的信息及相应的下载。
Glest322.sln
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B 4A -11D0-8D11 -00A 0C 91BC942}") = "glest_game", "glest_game/glest_game.vcproj", "{4BBC24BE-9475-4928-9369 -97F 6085056ED}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B 4A -11D0-8D11 -00A 0C 91BC942}") = "configurator", "configurator/configurator.vcproj", "{ 20F 931CA-702B -4C 6C -BCAA -1C 9673499F 59}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B 4A -11D0-8D11 -00A 0C 91BC942}") = "g3d_viewer", "g3d_viewer/g3d_viewer.vcproj", "{8E906845-B7FD -454C -8831-C6E679093DA0}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B 4A -11D0-8D11 -00A 0C 91BC942}") = "glest_map_editor", "glest_map_editor/glest_map_editor.vcproj", "{8BD9CD7D-0E34-4149-93D3-699CA 7A 43945}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{4BBC24BE-9475-4928-9369 -97F 6085056ED}.Debug.ActiveCfg = Debug|Win32
{4BBC24BE-9475-4928-9369 -97F 6085056ED}.Debug.Build.0 = Debug|Win32
{4BBC24BE-9475-4928-9369 -97F 6085056ED}.Release.ActiveCfg = Release|Win32
{4BBC24BE-9475-4928-9369 -97F 6085056ED}.Release.Build.0 = Release|Win32
{ 20F 931CA-702B -4C 6C -BCAA -1C 9673499F 59}.Debug.ActiveCfg = Debug|Win32
{ 20F 931CA-702B -4C 6C -BCAA -1C 9673499F 59}.Debug.Build.0 = Debug|Win32
{ 20F 931CA-702B -4C 6C -BCAA -1C 9673499F 59}.Release.ActiveCfg = Release|Win32
{ 20F 931CA-702B -4C 6C -BCAA -1C 9673499F 59}.Release.Build.0 = Release|Win32
{8E906845-B7FD -454C -8831-C6E679093DA0}.Debug.ActiveCfg = Debug|Win32
{8E906845-B7FD -454C -8831-C6E679093DA0}.Debug.Build.0 = Debug|Win32
{8E906845-B7FD -454C -8831-C6E679093DA0}.Release.ActiveCfg = Release|Win32
{8E906845-B7FD -454C -8831-C6E679093DA0}.Release.Build.0 = Release|Win32
{8BD9CD7D-0E34-4149-93D3-699CA 7A 43945}.Debug.ActiveCfg = Debug|Win32
{8BD9CD7D-0E34-4149-93D3-699CA 7A 43945}.Debug.Build.0 = Debug|Win32
{8BD9CD7D-0E34-4149-93D3-699CA 7A 43945}.Release.ActiveCfg = Release|Win32
{8BD9CD7D-0E34-4149-93D3-699CA 7A 43945}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal
Glest322.vcproj
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="Glest322"
ProjectGUID="{768D6E1B-3241-4769-AF02-FF43D883BE22}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="5"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/Glest322.exe"
LinkIncremental="2"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/Glest322.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
RuntimeLibrary="4"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/Glest322.exe"
LinkIncremental="1"
GenerateDebugInformation="TRUE"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="源文件"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC 737F 1-C 7A 5-4376-A066 -2A 32D 752A 2FF}">
</Filter>
<Filter
Name="头文件"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
</Filter>
<Filter
Name="资源文件"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800 -4c 08-8B 7A -83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>