351 lines
14 KiB
HTML
351 lines
14 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||
|
<HTML>
|
||
|
<HEAD>
|
||
|
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
|
||
|
<TITLE>Linux Quake HOWTO: Game Engines </TITLE>
|
||
|
<LINK HREF="Quake-HOWTO-4.html" REL=next>
|
||
|
<LINK HREF="Quake-HOWTO-2.html" REL=previous>
|
||
|
<LINK HREF="Quake-HOWTO.html#toc3" REL=contents>
|
||
|
</HEAD>
|
||
|
<BODY>
|
||
|
<A HREF="Quake-HOWTO-4.html">Next</A>
|
||
|
<A HREF="Quake-HOWTO-2.html">Previous</A>
|
||
|
<A HREF="Quake-HOWTO.html#toc3">Contents</A>
|
||
|
<HR>
|
||
|
<H2><A NAME="engine_"></A> <A NAME="s3">3.</A> <A HREF="Quake-HOWTO.html#toc3">Game Engines </A> </H2>
|
||
|
|
||
|
|
||
|
<P>
|
||
|
<A NAME="tyrquake_"></A> </P>
|
||
|
|
||
|
<H2><A NAME="ss3.1">3.1</A> <A HREF="Quake-HOWTO.html#toc3.1">TyrQuake </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>TyrQuake is a fairly complete project including OpenGL, Software Quake and
|
||
|
QuakeWorld clients, and
|
||
|
<A HREF="http://disenchant.net/utils.html">other tools</A> including the popular TyrLite. Tyrann's focus is on a fully featured
|
||
|
but minimalist cross-platform engine.</P>
|
||
|
<P>The latest version is 0.60, which now supports the Power PC platform, FreeBSD and
|
||
|
per-user configuration files. Other newish features include sophisticated
|
||
|
command line completion, and a cool console effect (gl_constretch).</P>
|
||
|
<P>Typing <B>make</B> will build all the clients. To compile only
|
||
|
the single player client, after unpacking the source code type:
|
||
|
<B> make prepare tyr-glquake </B>.
|
||
|
Tyrann has a nice clean build system, but if you wish to see compilation feedback, add <B>V=1</B> to the command line.</P>
|
||
|
|
||
|
<P>A patched TyrQuake binary is available
|
||
|
<A HREF="http://prdownloads.sourceforge.net/uhexen2/quake-lq-1.0.1.tgz?download">here</A>.</P>
|
||
|
<P>
|
||
|
<A HREF="http://disenchant.net/engine.html">http://disenchant.net/engine.html</A></P>
|
||
|
<P>
|
||
|
<A NAME="quakespasm_"></A> </P>
|
||
|
|
||
|
<H2><A NAME="ss3.2">3.2</A> <A HREF="Quake-HOWTO.html#toc3.2">QuakeSpasm </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>
|
||
|
<A HREF="http://www.celephais.net/fitzquake">FitzQuake</A> has long been
|
||
|
the defacto standard for the Quake mapping community, and this new project is
|
||
|
based on the
|
||
|
<A HREF="http://www.kristianduske.com/fitzquake">SDL Port</A>
|
||
|
of Fitz.</P>
|
||
|
|
||
|
<H3>Features</H3>
|
||
|
|
||
|
|
||
|
<P>As well as great FitzQuake features such as skyboxes, fog, coloured light, and support for huge maps,
|
||
|
QuakeSpasm includes:
|
||
|
<UL>
|
||
|
<LI>64 bit CPU support</LI>
|
||
|
<LI>Should work with most SDL platforms</LI>
|
||
|
<LI>Restructured sound driver</LI>
|
||
|
<LI>Custom console background</LI>
|
||
|
<LI>SDL CD audio</LI>
|
||
|
<LI>Tweaked command line completion, and a map name autocomplete</LI>
|
||
|
<LI>Alt+Enter toggles fullscreen</LI>
|
||
|
</UL>
|
||
|
</P>
|
||
|
|
||
|
<H3>Tips</H3>
|
||
|
|
||
|
|
||
|
<P>
|
||
|
<UL>
|
||
|
<LI> <B>scr_sbaralpha .99</B> - Give a nicer status bar</LI>
|
||
|
<LI> <B>maps</B> - List available maps</LI>
|
||
|
<LI> <B>game GAMENAME</B> - On-the-fly change of game</LI>
|
||
|
<LI> <B>./quakespasm -fitz</B> - Run game in FitzQuake mode</LI>
|
||
|
</UL>
|
||
|
</P>
|
||
|
<P>
|
||
|
<A HREF="http://quakespasm.sourceforge.net">http://quakespasm.sourceforge.net</A></P>
|
||
|
<P>
|
||
|
<A NAME="darkplaces_"></A> </P>
|
||
|
|
||
|
<H2><A NAME="ss3.3">3.3</A> <A HREF="Quake-HOWTO.html#toc3.3">Darkplaces </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>Darkplaces is an amazing Quake engine with a great range of visual
|
||
|
enhancements and options for colour, effects and sound. It uses the same Doom3
|
||
|
lighting features as Tenebrae and thus requires a more powerful computer than
|
||
|
GLQuake and QuakeForge.</P>
|
||
|
<P>It also supports many otherwise incompatible mods including
|
||
|
<A HREF="Quake-HOWTO-4.html#nehahra_">Nehahra</A> and
|
||
|
<A HREF="Quake-HOWTO-5.html#nexuiz_">Nexuiz</A>, and has improved support
|
||
|
for the official mission packs. Recent changes include improvements to the
|
||
|
menuing system, and speed increases, though there also appears to be some
|
||
|
mod compatability issues creeping in.</P>
|
||
|
<P>Havoc's
|
||
|
<A HREF="http://icculus.org/twilight/darkplaces/files/">file archive</A> can be a little confusing. The large "darkplacesengine"
|
||
|
tarballs include precompiled binaries and the game's source code in a second
|
||
|
tarball. To compile your own program uncompress the second tarball , type
|
||
|
<B>make</B> to see a list of possible targets (programs), and select one.
|
||
|
For example - to build the OpenGL engine with ALSA sound type <B>make
|
||
|
cl-release</B>, or to build with OSS sound, <B>make cl-release
|
||
|
DP_SOUND_API=OSS</B>.</P>
|
||
|
<P>Thanks to LordHavoc for this great project.</P>
|
||
|
<P>
|
||
|
<A HREF="http://www.icculus.org/twilight/darkplaces">http://www.icculus.org/twilight/darkplaces</A></P>
|
||
|
|
||
|
<H2><A NAME="ss3.4">3.4</A> <A HREF="Quake-HOWTO.html#toc3.4">Quore </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>From the Quore website:
|
||
|
<BLOCKQUOTE>
|
||
|
<EM>Quore is an atmospheric Quake engine running on GNU/Linux systems
|
||
|
with enhanced graphics, increased limits, configurable HUD and ambiences, and
|
||
|
different modes for changing the gameplay. It is based on JoeQuake with
|
||
|
additional effects from Qrack, ezQuake and engine's limits tweaking from
|
||
|
Fitzquake</EM>
|
||
|
</BLOCKQUOTE>
|
||
|
|
||
|
This game is great, and probably the most graphically modified Linux engine.
|
||
|
But it also has many niggling bugs.</P>
|
||
|
<P>
|
||
|
<A HREF="http://quore.free.fr/index.html">http://quore.free.fr/index.html</A></P>
|
||
|
<P>
|
||
|
<A NAME="qudos_"></A> </P>
|
||
|
|
||
|
<H2><A NAME="ss3.5">3.5</A> <A HREF="Quake-HOWTO.html#toc3.5">QuDos Quake Ports </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>QuDos has done much work with Quake engines for BSD and Linux. In the past he
|
||
|
has ported Nehahra , JoeQuake and others, but currently has only a
|
||
|
couple available at his website.</P>
|
||
|
<P>His excellent
|
||
|
<A HREF="Quake-HOWTO-4.html#nehahra_">NehQuake</A> port is still available at
|
||
|
<A HREF="http://linuxquake.org/index8.html">LinuxQuake.Org</A>
|
||
|
, but those after the source code may try contacting him.</P>
|
||
|
<P>
|
||
|
<A HREF="http://qudos.quakedev.com/linux/quake1">http://qudos.quakedev.com/linux/quake1</A></P>
|
||
|
|
||
|
<H2><A NAME="glquake_"></A> <A NAME="ss3.6">3.6</A> <A HREF="Quake-HOWTO.html#toc3.6">MFCN's GLQuake </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>Here you'll find some relevant documentation and trouble shooting tips, and a
|
||
|
basic version of OpenGL Quake for Linux. Fairly pain free by Linux standards,
|
||
|
it supports most Quake mods, but gamma (brightness) support is broken.</P>
|
||
|
<P>
|
||
|
<A HREF="http://mfcn.ilo.de/glxquake">http://mfcn.ilo.de/glxquake</A></P>
|
||
|
|
||
|
<H2><A NAME="ss3.7">3.7</A> <A HREF="Quake-HOWTO.html#toc3.7">Tenebrae </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>Tenebrae is a gorgeous Quake engine with lighting similar to that in Doom III.
|
||
|
It's is an old project requiring a good GPU, and may not be compatible with
|
||
|
all... the documentation is a fairly sparse.</P>
|
||
|
<P>There are several points of interest here...</P>
|
||
|
<P>
|
||
|
<UL>
|
||
|
<LI> Tenebrae has an "easter egg". In the quit game dialog press "d".</LI>
|
||
|
<LI> It includes the interesting "bumptest" and "zoo" maps.</LI>
|
||
|
<LI> A custom Tenebrae-1.0 engine is included with the atmospheric
|
||
|
<A HREF="http://industri.sourceforge.net">Industri</A> mod.</LI>
|
||
|
<LI> Tenebrae doesn't run user mods.</LI>
|
||
|
</UL>
|
||
|
</P>
|
||
|
<P>The Tenebrae
|
||
|
<A HREF="http://www.liflg.org/?what=dl&catid=6&gameid=12&filename=tenebrae.quake_1.04-english-2.run">installer</A>
|
||
|
will install the shareware Quake levels, and all fancy Tenebrae models
|
||
|
and textures, but is a 100 meg download. (Make sure to run the game in 32 bpp
|
||
|
mode - see below). Try
|
||
|
<A HREF="http://www.cynapses.org/tmp/tenebrae/">here</A>
|
||
|
for some binaries.</P>
|
||
|
<P>Compilation of the source code may not be straight forward. Firstly:
|
||
|
<PRE>
|
||
|
cd linux ; ln -s Makefile.i386linux Makefile ; make
|
||
|
</PRE>
|
||
|
|
||
|
If compilation fails with "../glquake.h:1137: conflicting
|
||
|
types for ....", lines 1137 and 1138 need
|
||
|
removing. You may also have to change the gethostname declaration in net_udp.c thus:
|
||
|
<PRE>
|
||
|
- extern int gethostname (char *, int);
|
||
|
+ extern int gethostname (char *, size_t);
|
||
|
</PRE>
|
||
|
</P>
|
||
|
<P>After compilation, copy the binary "debugi386.glibc/bin/tenebrae.run" and the
|
||
|
Tenebrae data files to your Quake folder. Finally, the game only runs in 32 bpp
|
||
|
colours (X11 colour depth 24), so restart X in this mode if you have to, and
|
||
|
execute the game with:
|
||
|
<B>tenebrae.run -basedir $PWD</B>.
|
||
|
Alternatively you can start a new X session with the command:
|
||
|
<PRE>
|
||
|
startx $PWD/tenebrae.run -basedir $PWD -- :1 -depth 24
|
||
|
</PRE>
|
||
|
</P>
|
||
|
<P>
|
||
|
<A HREF="http://tenebrae.sourceforge.net/">http://tenebrae.sourceforge.net/</A></P>
|
||
|
<P>
|
||
|
<A NAME="quakeforge_"></A> </P>
|
||
|
|
||
|
<H2><A NAME="ss3.8">3.8</A> <A HREF="Quake-HOWTO.html#toc3.8">QuakeForge </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>QF is a comprehensive Linux Quake project. It has elegant graphical enhancements,
|
||
|
numerous single player and
|
||
|
<A HREF="Quake-HOWTO-4.html#quakeworld_">QuakeWorld</A> clients and
|
||
|
Quake C tools. Amongst it's features are:
|
||
|
an overhauled menuing system, a new "heads up display", and in-game help.</P>
|
||
|
<P>Possibly because of it's size, QuakeForge hasn't been updated in years
|
||
|
and it's documentation was never quite finished.
|
||
|
The usual "configure && make && make install" will build the whole project,
|
||
|
but it does not appear to support a minimal single player build option.
|
||
|
QuakeForge's default directory is "/usr/local/share/games/quakeforge",
|
||
|
so ensure to link to your "id1" directory from here. (For example
|
||
|
<B>ln -s /usr/local/games/quake/id1 /usr/local/share/games/quakeforge/id1</B>).</P>
|
||
|
<P>For information about building QuakeForge on the BSD Unices, see the
|
||
|
<A HREF="Quake-HOWTO-9.html#freebsd_">FreeBSD</A> section.</P>
|
||
|
<P>Kudos to the QuakeForge team for a huge project which has provided much inspiration
|
||
|
for other open source games.</P>
|
||
|
<P>
|
||
|
<A HREF="http://www.quakeforge.net">http://www.quakeforge.net</A><BR>
|
||
|
<A HREF="http://sourceforge.net/projects/quake/">http://sourceforge.net/projects/quake/</A> </P>
|
||
|
<P>
|
||
|
<A NAME="nprquake_"></A> </P>
|
||
|
|
||
|
<H2><A NAME="ss3.9">3.9</A> <A HREF="Quake-HOWTO.html#toc3.9">NPRQuake </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>Another Quake engine which has been ported to Linux but, as far as I know,
|
||
|
hasn't been touched in a few years is NPRQuake. Notably, it has the ability
|
||
|
to load different renderers on the fly, which is pretty cool. The
|
||
|
<A HREF="http://www.geocities.com/coolguywithgun">Linux port</A> includes
|
||
|
support for the cartoon renderer
|
||
|
<A HREF="http://www.cs.unc.edu/%7Eadyilie/comp238/Final/Final.htm">ainpr</A>, and works really well for me.</P>
|
||
|
<P>The
|
||
|
<A HREF="http://www.tempestgames.com/ryan/">SDL version</A> has
|
||
|
rewritten mouse and video code, but the sound APIs have not been ported to SDL,
|
||
|
and it is not a fully portable engine.</P>
|
||
|
<P>
|
||
|
<A HREF="http://www.cs.wisc.edu/graphics/Gallery/NPRQuake/">http://www.cs.wisc.edu/graphics/Gallery/NPRQuake/</A></P>
|
||
|
|
||
|
<H2><A NAME="ss3.10">3.10</A> <A HREF="Quake-HOWTO.html#toc3.10">Twilight Project </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>The Twilight Project "is a set of rather minimalist NQ and QW engines that
|
||
|
focus on insane rendering speed, it is however a bit unstable at the moment."</P>
|
||
|
<P>This game is ~quick~, with a plain looking, but useful menu system, so users
|
||
|
with a slow computer should definitely give this a go. It also has some unique graphical
|
||
|
effects and an unusual user interface.</P>
|
||
|
<P>To compile version 0.2.2 of this project, you'll need the python scripting
|
||
|
language installed, and perhaps to make this change to src/nq/pr_edict.c , line 1108:
|
||
|
<PRE>
|
||
|
- if (progs->ofs_strings + pr_stringssize >= com_filesize)
|
||
|
+ if (progs->ofs_strings + pr_stringssize >= (uint)com_filesize)
|
||
|
</PRE>
|
||
|
|
||
|
Executing <B>scons.py</B> will now (hopefully) build the binaries, and after copying the single
|
||
|
player client (twilight-nq) to your quake directory,
|
||
|
type <B>twilight-nq -basedir $PWD</B> to start the game.</P>
|
||
|
<P>If you're having trouble with compilation, version 0.2.01 uses the traditional
|
||
|
"configure && make && make install" method, so you may want to try it.</P>
|
||
|
<P>Game saves are an issue with this engine. There are no game save or load
|
||
|
menus, and this can only be done using the "F6" and "F9" keys to quicksave
|
||
|
and load. Additionally, this feature often won't work if you started with
|
||
|
the "map MAPNAME" command, so make sure you begin games in a normal fashion,
|
||
|
through the "Start Game" menu.</P>
|
||
|
<P>
|
||
|
<A HREF="http://icculus.org/twilight">http://icculus.org/twilight</A></P>
|
||
|
|
||
|
<H2><A NAME="ss3.11">3.11</A> <A HREF="Quake-HOWTO.html#toc3.11">Audio Quake </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>This engine is for visually disabled people, and uses sound to help with navigation.
|
||
|
It includes OpenGL and SDL clients.</P>
|
||
|
<P>
|
||
|
<A HREF="http://www.agrip.org.uk/">http://www.agrip.org.uk/</A></P>
|
||
|
<P>
|
||
|
<A NAME="sdlquake_"></A> </P>
|
||
|
<H2><A NAME="ss3.12">3.12</A> <A HREF="Quake-HOWTO.html#toc3.12">SDL Quake </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>This basic version of Quake is not really of interest to Linux users as it uses a very old code base, and has few features. It's main
|
||
|
feature is the use of the SDL programming API for sound, video and mouse
|
||
|
handling, and should run on all SDL supported operating systems without major changes.</P>
|
||
|
<P>SDL Quake does have a bug relating to music: running the game with an audio
|
||
|
CD in the drive will limit the game's speed. To avoid this simply remove
|
||
|
the CD, or use the <B>-nocdaudio</B> option.</P>
|
||
|
<P>The game runs at a fixed resolution; the width and height can't be changed.
|
||
|
To play in fullscreen mode, use the <B>-fullscreen</B> option.</P>
|
||
|
<P>
|
||
|
<A HREF="http://www.libsdl.org/projects/quake">http://www.libsdl.org/projects/quake</A></P>
|
||
|
|
||
|
<H2><A NAME="ss3.13">3.13</A> <A HREF="Quake-HOWTO.html#toc3.13">wmQuake </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P>WindowMaker is a window manager for X11, and this tiny version of Quake fits in
|
||
|
an 64x64 pixel dockable applet. You can test it out even if you don't have
|
||
|
WindowMaker, but the game will crash if it gets keyboard focus.<BR><BR>
|
||
|
For the curious, this game can be benchmarked with <B>timedemo demo1</B> after removing the "usleep" commands from
|
||
|
sys_linux.c.</P>
|
||
|
<P>
|
||
|
<A HREF="http://freshmeat.net/projects/wmquake/">http://freshmeat.net/projects/wmquake/</A></P>
|
||
|
|
||
|
<H2><A NAME="ss3.14">3.14</A> <A HREF="Quake-HOWTO.html#toc3.14">Software Quake </A>
|
||
|
</H2>
|
||
|
|
||
|
|
||
|
<P><EM>For a more in-depth treatment of Software Quake, see the
|
||
|
<A HREF="Quake-HOWTO-10.html#other_">previous version</A> of this how-to</EM>.</P>
|
||
|
<P>The
|
||
|
<A HREF="http://www.quakeforge.net/files/q1source.zip">original WinQuake source</A> also came with two pixelated versions of the game:</P>
|
||
|
<P>
|
||
|
<UL>
|
||
|
<LI> X Quake (quake.x11)</LI>
|
||
|
<LI> Svga Quake (squake)</LI>
|
||
|
</UL>
|
||
|
</P>
|
||
|
<P>but compiling them is no longer straight forward. It involves copying
|
||
|
<B>Makefile.linux</B> to <B>Makefile</B>, editing this file to remove the extra
|
||
|
targets , replacing <B>/usr/X11/lib</B> with <B>/usr/X11R6/lib</B> and typing
|
||
|
<B>make build_release</B>.</P>
|
||
|
<P>There are easier options though.
|
||
|
<A HREF="#tyrquake_">TyrQuake</A>
|
||
|
and
|
||
|
<A HREF="#quakeforge_">QuakeForge</A> have software clients, and there is
|
||
|
also an old
|
||
|
<A HREF="#sdlquake_">SDLQuake</A>
|
||
|
written by SDL's author, Sam Lantinga, which should work on all modern platforms.</P>
|
||
|
|
||
|
|
||
|
<HR>
|
||
|
<A HREF="Quake-HOWTO-4.html">Next</A>
|
||
|
<A HREF="Quake-HOWTO-2.html">Previous</A>
|
||
|
<A HREF="Quake-HOWTO.html#toc3">Contents</A>
|
||
|
</BODY>
|
||
|
</HTML>
|