Quake3引擎的源码已经公开了,研究过的人都认为虽然它年代比较久远,但是代码写得非常漂亮,非常值得一探究竟。
Quake3引擎的源码是完全开源的,但是Quake3这款游戏的资源(声音、图片等)并非免费,所以,如果想要运行这款游戏还是必须要购买发行版CD。实际上可以参考这个基于Quake3引擎的完全开源的仿制游戏:http://www.openarena.ws/
比较郁闷是国内外的研究者虽然并不少,但是网上能找到的资料却少得可怜,比较有价值的更是少之又少。可能是当时的互联网环境没有今天那么活跃。
step1.首先,我们要做的是下载完整的游戏并确保能够运行起来。
1.原始游戏光盘提取出来的安装文件:http://yun.baidu.com/share/link?shareid=2140437282&uk=1865178665 这个可以执行setup.exe安装到硬盘上也可以直接执行quake.exe运行游戏(但是要挂载原始光盘http://pan.baidu.com/s/1kTv70H5)。由于下一步要打补丁,所以这里选择安装到硬盘。使用默认的路径就好。
2.官方放出来的升级补丁:http://yun.baidu.com/share/link?shareid=2142493317&uk=1865178665 直接安装到上一布=步相同的位置下。如果上一步不更改安装路径,这里也默认就可以了。为什么要打补丁呢?因为我们的源码是1.32b版的,所以游戏资源和配置文件也应该相应的进行版本升级,防止出错。
进入安装目录,双击运行quake3.exe应该可以顺利运行游戏。顺便说一句,虽然默认的设置使得游戏画质很差,但是在setup里面进行一下分辨率等参数的设置,会有惊喜的。十几年前的作品做到这种程度简直就是神作。
step2.接下来,我们要开始编译源码了。
这个就是引擎的源码文件:http://yun.baidu.com/share/link?shareid=2141708827&uk=1865178665 进入code目录直接调用VS打开quake3.sln,我使用的是VS2012,会提示进行升级和移除源代码管理绑定。设置为release直接F7进行build。编译好的文件都在code\Release目录下。
step3.使用自己编译的引擎。
先准备一下环境变量,将 code\win32\mod-sdk-setup\bin 这个路径加入到 path 中,因为需要用到 lcc 和 q3asm 两个编译工具。然后打开 code\intallrelease.bat 这个文件,注释掉最后一行和倒数第三行,并且将倒数第二行中的 "_ta" 和 "g:" 去掉,使得最后三行变为这样:
rem call closefilescopy release\quake3.exe \quake3\quake3.exerem call installvms
保存好,执行一下这个文件,待结束后根目录下,多了一个 quake3 的目录,这里面包含了一些游戏需要的一些文件。
完成后,打开code\runrelease.bat,将里面的内容修改为:
release\quake3 +set fs_basepath \quake3 +set fs_cdpath "C:\Program Files\Quake III Arena" + %1 %2 %3 %4 %5 %6 %7 %8 %9
其中,运行时参数 +set fs_basepath \quake3 是指定quake运行时根目录,即上面在多出来的那个 quake3 的目录; +set fs_cdpath 即指定加载资源的目录,也就是安装好的游戏的目录。保存并执行即可。