2447 lines
73 KiB
Plaintext
2447 lines
73 KiB
Plaintext
Linux Quake HOWTO
|
|
Stevenaaus
|
|
v2.09, 2010-03-01
|
|
|
|
This document is a modern guide to id Software's Quake game, with some
|
|
information about Quake's sequels and Linux gaming in general.
|
|
______________________________________________________________________
|
|
|
|
Table of Contents
|
|
|
|
|
|
|
|
1. Introduction
|
|
1.1 Preamble
|
|
1.2 About
|
|
1.3 Notation
|
|
|
|
2. General Info
|
|
2.1 Getting Started
|
|
2.2 Command Line Options
|
|
2.3 Game Console Commands
|
|
|
|
3. Game Engines
|
|
3.1 TyrQuake
|
|
3.2 QuakeSpasm
|
|
3.2.1 Features
|
|
3.2.2 Tips
|
|
3.3 Darkplaces
|
|
3.4 Quore
|
|
3.5 QuDos Quake Ports
|
|
3.6 MFCN's GLQuake
|
|
3.7 Tenebrae
|
|
3.8 QuakeForge
|
|
3.9 NPRQuake
|
|
3.10 Twilight Project
|
|
3.11 Audio Quake
|
|
3.12 SDL Quake
|
|
3.13 wmQuake
|
|
3.14 Software Quake
|
|
|
|
4. Mods
|
|
4.1 About
|
|
4.2 Single Player Mods
|
|
4.3 Commercial Mods
|
|
|
|
5. Multiplayer
|
|
5.1 Nexuiz
|
|
5.2 EzQuake
|
|
5.3 FTE QuakeWorld
|
|
5.4 ProQuake
|
|
5.5 ZQuake
|
|
5.6 Other Game Types
|
|
5.6.1 Deathmatch
|
|
5.6.2 Capture the Flag
|
|
5.6.3 Rocket Arena
|
|
5.6.4 Rune Quake
|
|
5.7 Other Multiplayer Mods
|
|
5.8 Bots
|
|
5.9 Servers
|
|
|
|
6. Quake Sequels
|
|
6.1 Hexen II
|
|
6.2 Quake II
|
|
6.3 Quake III Arena
|
|
6.4 Quake IV
|
|
|
|
7. Mapping Tools
|
|
7.1 World Editors
|
|
7.2 Tools
|
|
7.3 Tools needing Wine
|
|
7.4 Other Utilities
|
|
7.5 Links
|
|
|
|
8. Trouble-shooting
|
|
8.1 Bash Won't Start the Program
|
|
8.2 Program Dies at Startup
|
|
8.3 Program Dies Loading Level
|
|
8.4 Game Runs Slowly
|
|
8.5 Sound Problems
|
|
8.6 Compilation Issues
|
|
8.6.1 GCC-4.x
|
|
8.6.2 64 Bit CPUs
|
|
8.7 Other Issues
|
|
8.8 Sound Drivers
|
|
|
|
9. Other
|
|
9.1 Nvidia
|
|
9.1.1 XOrg AGP Issues
|
|
9.1.2 Tweaks
|
|
9.2 3Dfx
|
|
9.3 FreeBSD
|
|
9.4 QNX
|
|
9.5 Transparent Water and VisPatch
|
|
9.6 Quake Inspired XTerms
|
|
9.7 Launching maps and demos
|
|
9.8 Interest
|
|
9.9 Quotes
|
|
9.10 Glossary
|
|
9.11 Links
|
|
|
|
10. Administrative
|
|
10.1 Credits
|
|
10.2 Todo
|
|
10.3 Changelog
|
|
10.4 License
|
|
10.5 Other Formats
|
|
10.6 Author
|
|
|
|
|
|
______________________________________________________________________
|
|
|
|
1. Introduction
|
|
|
|
1.1. Preamble
|
|
|
|
|
|
Linux Quake sits at the crossroads of two computing revolutions;
|
|
GNU/Linux - the popular free operating system, and GLQuake - the first
|
|
"first person shooter" to use OpenGL. Thanks to John Carmack
|
|
releasing the software under the GPL we are able to enjoy it on non-
|
|
proprietary platforms. And, despite it's age, great new maps are
|
|
still regularly released.
|
|
|
|
|
|
1.2. About
|
|
|
|
|
|
This document is a guide to installing Quake and it's many related
|
|
games and modifications. It includes compilation notes, tips and
|
|
pointers to the best web resources, as well as some information about
|
|
Quake II, III and IV. You'll also find many issues relevant to Linux
|
|
gaming in general.
|
|
|
|
|
|
1.3. Notation
|
|
|
|
|
|
In some places, a shorthand is used to represent changes to a
|
|
program's source code. This is of the form:
|
|
|
|
- code to be removed
|
|
+ code to be inserted in its place
|
|
|
|
|
|
and is similar to the output of the GNU "diff" program when generating
|
|
unified patches.
|
|
|
|
Where the term "$PWD" is used, the user should already have executed
|
|
the command cd {Linux Quake directory}, and have this as their current
|
|
directory.
|
|
|
|
|
|
|
|
2. General Info
|
|
|
|
|
|
|
|
2.1. Getting Started
|
|
|
|
|
|
Installing Quake requires a few basic steps.
|
|
|
|
|
|
|
|
Get the Game Data Files
|
|
Getting the game data files is normally done by installing the
|
|
game <http://www.idsoftware.com/games/quake/quake> (or game demo
|
|
<ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip>) using
|
|
Microsoft Windows, or an emulator such as Wine or Dosbox, and
|
|
then copying the id1 directory of the installed game to your
|
|
Linux Quake directory - making sure all files are in
|
|
``lowercase''.
|
|
|
|
Alternatively, you can use the lha utility
|
|
<http://freshmeat.net/projects/lhaforunix/> to extract the data
|
|
files. For early CDs, you must first
|
|
|
|
________________________________________________________________
|
|
cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1
|
|
________________________________________________________________
|
|
|
|
|
|
Once you have the resource.1 file, then type
|
|
|
|
___________________________________________________________________
|
|
cd /usr/local/games/quake
|
|
lha e {some directory}/resource.1
|
|
___________________________________________________________________
|
|
|
|
|
|
|
|
Later versions of the game, including WinQuake, come with the data
|
|
files in an uncompressed form and the id1 directory can be directly
|
|
copied from the CD.
|
|
|
|
|
|
|
|
Install a Quake Executable
|
|
The program you execute to run Quake is known as the ``game
|
|
engine''. There are several to choose from, but the simplest
|
|
choice is either TyrQuake
|
|
<http://prdownloads.sourceforge.net/uhexen2/quake-
|
|
lq-1.0.1.tgz?download>, or the more enhanced ``QuakeSpasm''.
|
|
After downloading or compiling a game engine, place this binary
|
|
in your Quake directory alongside the id1 directory.
|
|
|
|
|
|
Summary
|
|
Finally, you should have a directory structure similar to this,
|
|
with all files being in ``lowercase'':
|
|
|
|
|
|
/usr/local/games/quake +- quakespasm (or another game engine)
|
|
|
|
|
+- progs.dat
|
|
|
|
|
+- id1 -+- pak0.pak
|
|
|
|
|
+- pak1.pak
|
|
|
|
|
|
Now, from an xterm window, type (for example)
|
|
|
|
___________________________________________________________________
|
|
./quakespasm -fullscreen -width 800 -height 600
|
|
___________________________________________________________________
|
|
|
|
|
|
to start the game.
|
|
|
|
|
|
|
|
Help
|
|
This sounds simple, but if you are new to Linux and you are not
|
|
familiar with the command line, try one of these links for more
|
|
information:
|
|
|
|
|
|
· ``Trouble-shooting'' section
|
|
|
|
· The ``old version'' of this how-to
|
|
|
|
· Linuxgamers Quake How-To <http://www.linux-
|
|
gamers.net/modules/wfsection/article.php?articleid=42>
|
|
|
|
· Quake wiki <http://wiki.quakesrc.org/index.php/HomePage>
|
|
|
|
· The Linux Game Tome <http://www.happypenguin.org>
|
|
|
|
|
|
|
|
2.2. Command Line Options
|
|
|
|
|
|
Command Line Options are extra parameters that are typed on the Linux
|
|
command line following the program's name. Quake has a large number
|
|
of them, some of which vary from engine to engine. The most
|
|
useful/common ones are:
|
|
|
|
|
|
-window
|
|
Run the game in windowed mode
|
|
|
|
-fullscreen
|
|
Run the game in fullscreen mode
|
|
|
|
-game NAME
|
|
Load the mod NAME.
|
|
|
|
-mem N
|
|
Reserve N megabytes of memory for the internal heap. This
|
|
generally defaults to 8 or 16 meg, but must be increased when
|
|
playing larger mods.
|
|
|
|
|
|
-width WIDTH
|
|
window/fullscreen width
|
|
|
|
-height HEIGHT
|
|
window/fullscreen height
|
|
|
|
-basedir DIRECTORY
|
|
Use this directory by default
|
|
|
|
-sndspeed MHz
|
|
Set sound sampling rate (eg. 44100, 22050, 11025)
|
|
|
|
-sndbits N
|
|
Set sound bits to N = 8 or 16
|
|
|
|
-nosound
|
|
Disable sound. Necessary when sound is absent/unconfigured to
|
|
stop the game from crashing.
|
|
|
|
-nomtex
|
|
Disable GL multitextures.
|
|
|
|
-listen N
|
|
Allow a maximum of N players/bots to join multiplayer games.
|
|
|
|
-cddev DEVICE
|
|
Use DEVICE for playing the cd music
|
|
|
|
-nocdaudio
|
|
Disable cd audio
|
|
|
|
You can also append Quake commands to the Linux command line by
|
|
prefixing them with a plus sign. For example, to automatically start a
|
|
new game at hard skill, use
|
|
|
|
______________________________________________________________________
|
|
quakespasm +skill 2 +map e1m1
|
|
______________________________________________________________________
|
|
|
|
|
|
|
|
2.3. Game Console Commands
|
|
|
|
|
|
For more info see
|
|
<http://www.planetquake.com/console/commands/quake.html>
|
|
|
|
The console is an in-game command line at which you can issue
|
|
commands, change variables and cheat. It is toggled by pressing the
|
|
tilde "~" key when in a game. The main commands include -
|
|
|
|
|
|
|
|
god
|
|
Invulnerability
|
|
|
|
noclip
|
|
Walk through walls
|
|
|
|
notarget
|
|
Enemies won't attack player
|
|
|
|
timedemo DEMO
|
|
Play DEMO (eg. "demo1") at top speed and show frame rate
|
|
|
|
impulse N
|
|
Issue "impulse N"
|
|
|
|
These are in-game commands which can be given special uses. A
|
|
few usefull ones are:
|
|
|
|
· impulse 9 Give all weapons
|
|
|
|
· impulse 12 Select previous weapon (eg bind MWHEELUP "impulse
|
|
12")
|
|
|
|
· impulse 10 Select next weapon
|
|
|
|
· impulse 255 Give Quad damage
|
|
|
|
|
|
bind key
|
|
Bind a key to perform a command
|
|
|
|
map MAP
|
|
Load MAP
|
|
|
|
changelevel MAP
|
|
Load MAP without resetting player settings
|
|
|
|
quit
|
|
Exit to system
|
|
|
|
skill VALUE
|
|
value = 0 (easy) - 3 (impossible)
|
|
|
|
Degree of difficulty. Level must be restarted to take effect
|
|
|
|
|
|
r_wateralpha VALUE
|
|
value = 0.0 - 1.0
|
|
|
|
Opacity of water in maps with transparent water support (See
|
|
``Watervis'')
|
|
|
|
|
|
_snd_mixahead VALUE
|
|
value = 0.1 - 1.0
|
|
|
|
Raising this value is a good way to speed up the game at the
|
|
expense of some sound lag. I use 0.3 on my slower computers
|
|
|
|
|
|
gl_texturemode VALUE
|
|
value = gl_nearest | gl_nearest_mipmap_nearest |
|
|
gl_linear_mipmap_nearest | gl_linear_mipmap_linear
|
|
|
|
Worst to best texture quality.
|
|
|
|
|
|
r_shadows FLAG
|
|
flag = 0 | 1
|
|
|
|
Display model shadows
|
|
|
|
|
|
vid_wait FLAG
|
|
flag = 0 | 1
|
|
|
|
Sync video output with screen refresh
|
|
|
|
chase_active FLAG
|
|
flag = 0 | 1
|
|
|
|
Show player from third person perspective
|
|
|
|
|
|
|
|
3. Game Engines
|
|
|
|
|
|
|
|
3.1. TyrQuake
|
|
|
|
|
|
TyrQuake is a fairly complete project including OpenGL, Software Quake
|
|
and QuakeWorld clients, and other tools
|
|
<http://disenchant.net/utils.html> including the popular TyrLite.
|
|
Tyrann's focus is on a fully featured but minimalist cross-platform
|
|
engine.
|
|
|
|
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).
|
|
|
|
Typing make will build all the clients. To compile only the single
|
|
player client, after unpacking the source code type:
|
|
make prepare tyr-glquake . Tyrann has a nice clean build system, but
|
|
if you wish to see compilation feedback, add V=1 to the command line.
|
|
|
|
|
|
A patched TyrQuake binary is available here
|
|
<http://prdownloads.sourceforge.net/uhexen2/quake-
|
|
lq-1.0.1.tgz?download>.
|
|
|
|
<http://disenchant.net/engine.html>
|
|
|
|
|
|
|
|
3.2. QuakeSpasm
|
|
|
|
|
|
FitzQuake <http://www.celephais.net/fitzquake> has long been the
|
|
defacto standard for the Quake mapping community, and this new project
|
|
is based on the SDL Port <http://www.kristianduske.com/fitzquake> of
|
|
Fitz.
|
|
|
|
|
|
3.2.1. Features
|
|
|
|
|
|
As well as great FitzQuake features such as skyboxes, fog, coloured
|
|
light, and support for huge maps, QuakeSpasm includes:
|
|
|
|
· 64 bit CPU support
|
|
|
|
· Should work with most SDL platforms
|
|
|
|
· Restructured sound driver
|
|
|
|
· Custom console background
|
|
|
|
· SDL CD audio
|
|
|
|
· Tweaked command line completion, and a map name autocomplete
|
|
|
|
· Alt+Enter toggles fullscreen
|
|
|
|
|
|
3.2.2. Tips
|
|
|
|
|
|
|
|
· scr_sbaralpha .99 - Give a nicer status bar
|
|
|
|
· maps - List available maps
|
|
|
|
· game GAMENAME - On-the-fly change of game
|
|
|
|
· ./quakespasm -fitz - Run game in FitzQuake mode
|
|
|
|
<http://quakespasm.sourceforge.net>
|
|
|
|
|
|
|
|
3.3. Darkplaces
|
|
|
|
|
|
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.
|
|
|
|
It also supports many otherwise incompatible mods including
|
|
``Nehahra'' and ``Nexuiz'', 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.
|
|
|
|
Havoc's file archive <http://icculus.org/twilight/darkplaces/files/>
|
|
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 make to see a list of possible targets (programs), and select
|
|
one. For example - to build the OpenGL engine with ALSA sound type
|
|
make cl-release, or to build with OSS sound, make cl-release
|
|
DP_SOUND_API=OSS.
|
|
|
|
Thanks to LordHavoc for this great project.
|
|
|
|
<http://www.icculus.org/twilight/darkplaces>
|
|
|
|
|
|
3.4. Quore
|
|
|
|
|
|
From the Quore website:
|
|
|
|
Quore is an atmospheric Quake engine running on GNU/Linux
|
|
systems with enhanced graphics, increased limits, config-
|
|
urable 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
|
|
|
|
|
|
This game is great, and probably the most graphically modified Linux
|
|
engine. But it also has many niggling bugs.
|
|
|
|
|
|
<http://quore.free.fr/index.html>
|
|
|
|
|
|
|
|
3.5. QuDos Quake Ports
|
|
|
|
|
|
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.
|
|
|
|
His excellent ``NehQuake'' port is still available at LinuxQuake.Org
|
|
<http://linuxquake.org/index8.html> , but those after the source code
|
|
may try contacting him.
|
|
|
|
<http://qudos.quakedev.com/linux/quake1>
|
|
|
|
|
|
3.6. MFCN's GLQuake
|
|
|
|
|
|
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.
|
|
|
|
<http://mfcn.ilo.de/glxquake>
|
|
|
|
|
|
3.7. Tenebrae
|
|
|
|
|
|
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.
|
|
|
|
There are several points of interest here...
|
|
|
|
|
|
· Tenebrae has an "easter egg". In the quit game dialog press "d".
|
|
|
|
· It includes the interesting "bumptest" and "zoo" maps.
|
|
|
|
· A custom Tenebrae-1.0 engine is included with the atmospheric
|
|
Industri <http://industri.sourceforge.net> mod.
|
|
|
|
· Tenebrae doesn't run user mods.
|
|
|
|
The Tenebrae installer
|
|
<http://www.liflg.org/?what=dl&catid=6&gameid=12&filename=tenebrae.quake_1.04-english-2.run>
|
|
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 here
|
|
<http://www.cynapses.org/tmp/tenebrae/> for some binaries.
|
|
|
|
Compilation of the source code may not be straight forward. Firstly:
|
|
|
|
cd linux ; ln -s Makefile.i386linux Makefile ; make
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
- extern int gethostname (char *, int);
|
|
+ extern int gethostname (char *, size_t);
|
|
|
|
|
|
|
|
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: tenebrae.run
|
|
-basedir $PWD. Alternatively you can start a new X session with the
|
|
command:
|
|
|
|
startx $PWD/tenebrae.run -basedir $PWD -- :1 -depth 24
|
|
|
|
|
|
|
|
<http://tenebrae.sourceforge.net/>
|
|
|
|
|
|
|
|
3.8. QuakeForge
|
|
|
|
|
|
QF is a comprehensive Linux Quake project. It has elegant graphical
|
|
enhancements, numerous single player and ``QuakeWorld'' clients and
|
|
Quake C tools. Amongst it's features are: an overhauled menuing
|
|
system, a new "heads up display", and in-game help.
|
|
|
|
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 ln -s
|
|
/usr/local/games/quake/id1 /usr/local/share/games/quakeforge/id1).
|
|
|
|
For information about building QuakeForge on the BSD Unices, see the
|
|
``FreeBSD'' section.
|
|
|
|
Kudos to the QuakeForge team for a huge project which has provided
|
|
much inspiration for other open source games.
|
|
|
|
<http://www.quakeforge.net>
|
|
<http://sourceforge.net/projects/quake/>
|
|
|
|
|
|
|
|
3.9. NPRQuake
|
|
|
|
|
|
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 Linux port <http://www.geocities.com/coolguywithgun>
|
|
includes support for the cartoon renderer ainpr
|
|
<http://www.cs.unc.edu/%7Eadyilie/comp238/Final/Final.htm>, and works
|
|
really well for me.
|
|
|
|
The SDL version <http://www.tempestgames.com/ryan/> has rewritten
|
|
mouse and video code, but the sound APIs have not been ported to SDL,
|
|
and it is not a fully portable engine.
|
|
|
|
<http://www.cs.wisc.edu/graphics/Gallery/NPRQuake/>
|
|
|
|
|
|
|
|
3.10. Twilight Project
|
|
|
|
|
|
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."
|
|
|
|
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.
|
|
|
|
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:
|
|
|
|
- if (progs->ofs_strings + pr_stringssize >= com_filesize)
|
|
+ if (progs->ofs_strings + pr_stringssize >= (uint)com_filesize)
|
|
|
|
|
|
Executing scons.py will now (hopefully) build the binaries, and after
|
|
copying the single player client (twilight-nq) to your quake direc-
|
|
tory, type twilight-nq -basedir $PWD to start the game.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
<http://icculus.org/twilight>
|
|
|
|
|
|
3.11. Audio Quake
|
|
|
|
|
|
This engine is for visually disabled people, and uses sound to help
|
|
with navigation. It includes OpenGL and SDL clients.
|
|
|
|
<http://www.agrip.org.uk/>
|
|
|
|
|
|
3.12. SDL Quake
|
|
|
|
|
|
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.
|
|
|
|
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 -nocdaudio option.
|
|
|
|
The game runs at a fixed resolution; the width and height can't be
|
|
changed. To play in fullscreen mode, use the -fullscreen option.
|
|
|
|
<http://www.libsdl.org/projects/quake>
|
|
|
|
|
|
|
|
3.13. wmQuake
|
|
|
|
|
|
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.
|
|
For the curious, this game can be benchmarked with timedemo demo1
|
|
after removing the "usleep" commands from sys_linux.c.
|
|
|
|
<http://freshmeat.net/projects/wmquake/>
|
|
|
|
|
|
3.14. Software Quake
|
|
|
|
|
|
For a more in-depth treatment of Software Quake, see the ``previous
|
|
version'' of this how-to.
|
|
|
|
The original WinQuake source
|
|
<http://www.quakeforge.net/files/q1source.zip> also came with two
|
|
pixelated versions of the game:
|
|
|
|
|
|
· X Quake (quake.x11)
|
|
|
|
· Svga Quake (squake)
|
|
|
|
but compiling them is no longer straight forward. It involves copying
|
|
Makefile.linux to Makefile, editing this file to remove the extra
|
|
targets , replacing /usr/X11/lib with /usr/X11R6/lib and typing make
|
|
build_release.
|
|
|
|
There are easier options though. ``TyrQuake'' and ``QuakeForge'' have
|
|
software clients, and there is also an old ``SDLQuake'' written by
|
|
SDL's author, Sam Lantinga, which should work on all modern platforms.
|
|
|
|
|
|
|
|
4. Mods
|
|
|
|
4.1. About
|
|
|
|
|
|
Quake has hundreds of user created levels - known variously as "mods",
|
|
"total conversions" or simply "maps". To run new maps, place the bsp
|
|
file into the "quake/id1/maps" subdirectory, and start Quake with the
|
|
+map MAPNAME option.
|
|
|
|
Installing mods is simply a matter of creating a subdirectory DIR and
|
|
extracting the contents of the mod zipfile/tarball into this
|
|
directory. It is then loaded by using the -game DIR command line
|
|
option and, sometimes, +map MAPNAME where MAPNAME is the mod's start
|
|
map.
|
|
|
|
For both maps and mods, all files should be in ``lowercase''.
|
|
|
|
|
|
4.2. Single Player Mods
|
|
|
|
|
|
There has recently been an effort to archive many Quake maps at
|
|
Quaddicted. Maps <http://www.quaddicted.com/spmaps.html>, Mods
|
|
<http://www.quaddicted.com/spmods.html>.
|
|
|
|
|
|
Some of the more notable mods are:
|
|
|
|
|
|
|
|
Travail
|
|
This recent mod is a must have. It includes 15 single player
|
|
levels, stunning bosses, and a couple of twisting spider
|
|
infested caverns. Distrans has also contributed a professional
|
|
quality soundtrack
|
|
<http://www.quaddicted.com/filebase/travail_soundtrack.zip>
|
|
composed of moody and interesting electronic vibes. Link
|
|
<http://www.quakeone.com/travail>
|
|
|
|
|
|
Quoth
|
|
Quoth began life as a sequel to the draw-dropping mod, Contract
|
|
Revoked <http://kell.spawnpoint.org/convoked.html>, but has
|
|
recently gained much support from mappers, as is becoming the
|
|
defacto extension of Quake I.
|
|
|
|
It's new features include numerous crazy enemies with strong AI,
|
|
destructable environments, and other items including ladders and
|
|
flashlights. Link <http://www.planetquake.com/necros/quoth/>
|
|
|
|
|
|
W a r p s p a s m
|
|
A huge atmospheric Quoth mod by Ijed. The latest and greatest.
|
|
Link <http://gimme.badsectoracula.com/warpspasm-readme.html>
|
|
|
|
|
|
Soul of Evil
|
|
Gorgeous medieval themed mod with two single player episodes, a
|
|
melee style arena mode and nice documentation. Many thanks to
|
|
Tronwyn, Fat Controller and their co-authors. Link
|
|
<http://www.planetquake.com/tronyn/soul>
|
|
|
|
|
|
Nehahra
|
|
Epic. Ambitious. Otherwordly. Nehahra is the definitive Quake
|
|
mod, supported in Linux by LordHavoc's ``Darkplaces'', and
|
|
``QuDos''' port of the NehQuake engine. It has some great models
|
|
and maps, uses fog effects well, and has an (optional) two hour
|
|
movie/demo which ties-in well with the original Quake "story-
|
|
line" but is also in desperate need of an edit.
|
|
|
|
Nehahra also features improved enemy AI - the grunts strafe
|
|
behind cover, and scrags in open space can be very hard to pin
|
|
down. New gamers may wish to disable this feature by typing
|
|
nomonsters 1 at the game console. Link
|
|
<http://www.planetquake.com/nehahra>
|
|
|
|
|
|
|
|
Zerst
|
|
Dark and bloody, with Doom's paranoiac atmosphere. A classic.
|
|
Zerst also has some good death match levels - Link
|
|
<http://www.quaddicted.com/zer.html>
|
|
|
|
|
|
Neil Manke's mods
|
|
Neil wrote the definitive Half-Life mod "They Hunger". The
|
|
quality and fun is in these maps too - alba01, alba02, sofsp1,
|
|
sofsp2, starshp2, Link <http://www.planethalflife.com/manke/>
|
|
|
|
|
|
|
|
Operation: Urth Majik
|
|
Oum is one of the few Quake 1 mods with a sci-fi feel. It has
|
|
five well made levels, with cut-scenes and many new weapons -
|
|
Download <http://disenchant.net/files/maps/oum.zip>, Link
|
|
<http://www.planetquake.com/fatty/oum/>
|
|
|
|
|
|
Scourge done Slick
|
|
SdS is a speed run through Mission Pack 1, Scourge of Armagon.
|
|
Hilarious and amazing. Link
|
|
<http://www.planetquake.com/QdQ/sds.html>
|
|
|
|
|
|
|
|
4.3. Commercial Mods
|
|
|
|
|
|
|
|
Mission Pack 1
|
|
Scourge of Armagon by Ritual Entertainment (formerly known as
|
|
Hipnotic Interactive).
|
|
After playing Armagon, you should also check out the Death's
|
|
Dominion <http://www.google.com.au/search?q=dd.zip> Level Pack.
|
|
|
|
|
|
Mission Pack 2
|
|
Dissolution of Eternity by Rogue Entertainment.
|
|
Both official mission packs are generally acknowledged as better
|
|
than the original game.
|
|
|
|
|
|
Malice
|
|
Very original Quake total conversion, with the greatest
|
|
(virtual) machine gun I've ever unleashed. Worth paying for.
|
|
|
|
|
|
Abyss of Pandemonium
|
|
Commercial mod now freely available: Link
|
|
<http://www.planetquake.com/impel>
|
|
|
|
|
|
Ravages of Apocalypse
|
|
Xmen mod! Great models. Shame about the game-play. ...When good
|
|
mods turn bad.
|
|
This mod has now been released free of charge, and can be found
|
|
here <http://www.zerogravity.com.au/xmen/>.
|
|
|
|
|
|
Shrak
|
|
One of the first commercial mods. It has well modelled and
|
|
totally new monsters, but the game-play doesn't cut it.
|
|
|
|
|
|
|
|
5. Multiplayer
|
|
|
|
|
|
|
|
5.1. Nexuiz
|
|
|
|
|
|
|
|
Nexuiz is a stand-alone game using the Darkplaces engine. The recently
|
|
released second version is a 200 meg download, and includes Linux and
|
|
Windows binaries, source code, and a new campaign mode.
|
|
|
|
This engine makes use of many advanced lighting features, so users
|
|
with less powerful video cards should try disabling these to run the
|
|
game at a decent speed.
|
|
|
|
<http://www.nexuiz.com>
|
|
|
|
|
|
5.2. EzQuake
|
|
|
|
|
|
This project now works for me, and is looking very nice.
|
|
|
|
As well and as GL, X11 and SVGA clients, it has serious graphical and
|
|
game-play enhancements and some nice documentation. It is definately a
|
|
project to keep up with.
|
|
|
|
Sound may be an issue. It defaults to ALSA but to start with OSS try:
|
|
"ezquake-gl.glx +set s_device /dev/dsp". To compile the GL client,
|
|
type "make glx". You may have to change the Makefile thus:
|
|
|
|
- LDFLAGS = -lm -lpthread
|
|
+ LDFLAGS = -lm -lpthread -L/usr/X11R6/lib
|
|
|
|
|
|
|
|
<http://ezquake.sourceforge.net>
|
|
|
|
<http://ezquake.sourceforge.net/forum/>
|
|
|
|
|
|
5.3. FTE QuakeWorld
|
|
|
|
|
|
An ambitious project, FTE Quakeworld <http://www.fteqw.com> aims to
|
|
offer support for multiplayer Quake as well as similar projects such
|
|
as Hexen II. GB reports: "The FTE engine also runs NQ stuff and even
|
|
Nehahra... even in software"!
|
|
|
|
|
|
|
|
5.4. ProQuake
|
|
|
|
|
|
From the ProQuake website: "...What you will find is a rock solid set
|
|
of enhancements to unmodified netquake. Things that quake should have
|
|
had from the get go.. like precise aim. Small, simple changes that
|
|
improve the quality of netplay enormously. ProQuake is fully
|
|
compatible with standard NetQuake. .... ProQuake is also fully
|
|
compatible with the advanced features of Clanring CRMod++ version
|
|
6.0."
|
|
|
|
ProQuake 4 <http://quakeone.com/proquake/>
|
|
|
|
Older ftp repository <ftp://ftp.runequake.com/quake/engines/proquake>
|
|
|
|
|
|
5.5. ZQuake
|
|
|
|
|
|
ZQuake is a QuakeWorld client with good multiplayer support.
|
|
|
|
|
|
<http://zquake.frag.ru>
|
|
|
|
|
|
5.6. Other Game Types
|
|
|
|
|
|
|
|
5.6.1. Deathmatch
|
|
|
|
|
|
|
|
5.6.2. Capture the Flag
|
|
|
|
|
|
|
|
5.6.3. Rocket Arena
|
|
|
|
|
|
|
|
5.6.4. Rune Quake
|
|
|
|
|
|
|
|
5.7. Other Multiplayer Mods
|
|
|
|
|
|
|
|
Painkeep
|
|
Popular deathmatch mod including new weapons.
|
|
|
|
|
|
Soul of Evil
|
|
``SoE'' in arena mode has some great melee action.
|
|
|
|
|
|
Battle Mech
|
|
Battle Mech is a top down Mechwarrior style mod. Make sure to
|
|
use the 1.1
|
|
<http://static.condemned.com/files/bmech_stuff/battlemech-1.1.tar.gz>
|
|
tarball.
|
|
|
|
<http://static.condemned.com/index.shtml>
|
|
|
|
|
|
|
|
5.8. Bots
|
|
|
|
|
|
Bots are computer generated players with artificial intelligence. Some
|
|
require "waypoints" to successfully navigate.
|
|
|
|
|
|
|
|
Frikbot
|
|
Popular bot designed for easy integration into mods.
|
|
|
|
|
|
Frogbot
|
|
Highly regarded as one of the best, hundreds of maps supported.
|
|
|
|
|
|
Omicron
|
|
Venerable mod by Mr. Elusive, who went on to create Gladiator
|
|
bot for Q2 and the Q3:Arena bots. Needs no waypoints.
|
|
|
|
5.9. Servers
|
|
|
|
|
|
|
|
XQF and QStat
|
|
XQF <http://www.linuxgames.com/xqf/index.shtml> is a feature
|
|
rich game server browser and launcher for Quake and many other
|
|
games. It is dependent on the separate program, QStat
|
|
<http://www.qstat.org/> , which displays information about
|
|
Internet game servers. You'll also need the Gnome Gtk and Gdk
|
|
toolkits.
|
|
|
|
|
|
<http://www.quakeone.com>
|
|
|
|
<http://www.quake1.net/servers.cgi>
|
|
|
|
|
|
|
|
6. Quake Sequels
|
|
|
|
|
|
|
|
6.1. Hexen II
|
|
|
|
|
|
Hexen II is a colourful adaption of the Quake engine, and in terms of
|
|
source code and theme is much closer than Quake II to the original
|
|
game. Unfortunately, Raven Software <http://ravensoft.com> released
|
|
the game with many rough edges... So beautiful, yet so cruel.
|
|
|
|
Hammer of Thyrion <http://uhexen2.sourceforge.net> is the main Linux
|
|
Hexen II port , and has had much work done towards squishing bugs and
|
|
enhancing the OpenGL graphics. While it is not as widely distributed
|
|
as Quake, the HoT demo includes some of the game's best levels and is
|
|
available from the Sourceforge project page
|
|
<http://sourceforge.net/projects/uhexen2>.
|
|
|
|
Mappers should note the Quest <http://quest-
|
|
ed.sourceforge.net/index.html> world editor, and HexenC compiler
|
|
FTEQCC <http://www.fteqw.com>.
|
|
|
|
|
|
6.2. Quake II
|
|
|
|
|
|
Quake II is the sci-fi themed sequel to Quake. Early Linux releases
|
|
weren't very solid, especially the mouse handling, but there is now a
|
|
few related projects to choose from.
|
|
|
|
|
|
|
|
Open Source Projects
|
|
QuDos' Quake II <http://qudos.quakedev.com/linux/quake2> is the
|
|
most notable. It is based on Icculus Quake II
|
|
<http://www.icculus.org/quake2/>, and includes some beautiful
|
|
graphical enhancements - including cell shading - and support
|
|
for FreeBSD and XMMS plugins. Another project still in
|
|
development is Quetoo
|
|
<http://jdolan.dyndns.org/jaydolan/home.html> which has speed
|
|
and security enhancements, but also a very stripped back
|
|
interface and a few bugs.
|
|
|
|
Yamagi Quake II <http://www.yamagi.org/quake2>, also based on
|
|
Icculus, is an active Q2 project focusing on single player game
|
|
and cooperative game modes.
|
|
|
|
Qfusion <http://hkitchen.net/qfusion/> appears an interesting
|
|
project... that's slipped under my radar till now. An advanced
|
|
multipurpose engine based on Quake II.
|
|
|
|
Older projects include Michael Olson's source
|
|
<http://www.cs.odu.edu/~olson/linux/quake2-0.12-1jag.src.rpm>
|
|
and binary
|
|
<http://www.cs.odu.edu/~olson/linux/quake2-0.12-1jag.i386.rpm>
|
|
rpms (which appear to be based on an old Icculus release) and
|
|
the QuakeForge Quake II
|
|
<http://www.quakeforge.net/files/quake2forge/quake2-0.3.tar.gz>
|
|
project with support for multiple operating systems. On a
|
|
slightly different note - the Jake2
|
|
<http://www.bytonic.de/html/jake2.html> project is a version of
|
|
Quake II written in Java.
|
|
|
|
|
|
Notes
|
|
A common command line option is:
|
|
which tells the game to start in OpenGL mode.
|
|
|
|
See the ``old version'' of this how-to for other Quake II
|
|
troubleshooting tips.
|
|
|
|
|
|
Mods
|
|
Digital Paint 2 <http://www.planetquake.com/digitalpaint/> is an
|
|
"original" multiplayer game based on the Quake II engine. It's
|
|
colourful and fun nature is a departure from the usual dark tone
|
|
of most Quake games. Being a totally remodeled game, it doesn't
|
|
require you to have the original Quake II ;->.
|
|
|
|
Argonium <http://www.planetquake.com/td/argonium/> is a slick
|
|
looking deathmatch mod which is also freely distributable.
|
|
|
|
|
|
|
|
6.3. Quake III Arena
|
|
|
|
|
|
Quake III was one of the first games to receive a full Linux
|
|
commercial release. It's a great game which more than survives. Mods
|
|
are numerous, and of better visual quality than Quake I or II. For
|
|
more info about installing the game, try idsoftware's Faq
|
|
<http://zerowing.idsoftware.com/linux/q3a/INSTALL>, or Linuxgamer's
|
|
Quake III How-To <http://www.linux-
|
|
gamers.net/modules/wfsection/article.php?articleid=30>.
|
|
|
|
The retail add-on Quake III Team Arena is supported and, despite
|
|
getting ordinary reviews, is a great game. Most user mods should work
|
|
with Linux. The Linux Gamers FAQ reports:
|
|
|
|
Yes, ... modifications work in Linux as long as they are compiled to the
|
|
Quake III ... VM bytecode as advised by id software. ... modifications
|
|
compiled to Windows library files will not work.
|
|
|
|
|
|
|
|
Open Source Projects
|
|
The Icculus Quake III Project which has recently moved to
|
|
IOQuake <http://ioquake3.org>. They are adding extra features,
|
|
including support for Star Trek Voyager: Elite Force Holomatch
|
|
(multiplayer).
|
|
|
|
Sourceforge Quake III - Cell Shading
|
|
<http://q3cellshading.sourceforge.net>
|
|
|
|
|
|
Mods
|
|
Warsow <http://www.warsow.net> is a cell-shaded cartoon style
|
|
total conversion using a heavily modified engine. It's interface
|
|
is very slick, graphics to die for, and gameplay is ok.
|
|
|
|
World of Padman <http://www.worldofpadman.com/> is a high
|
|
quality stand-alone conversion. It's set in a miniature suburban
|
|
world with a bizarre cartoon theme, and is currently multiplayer
|
|
only but with full bot support.
|
|
|
|
In Alien Arena <http://red.planetarena.org> you're matched
|
|
against pin headed martians in unbelievable OpenGL environments.
|
|
|
|
The Dark Conjunction <http://www.planetquake.com/tdc/> is an
|
|
atmospheric Q3 single player conversion.
|
|
|
|
|
|
Try the alien themed Tremulous <http://tremulous.net> for an
|
|
original multiplayer mod.
|
|
|
|
|
|
Links
|
|
The Zerowing installation
|
|
<http://zerowing.idsoftware.com/linux/q3a/INSTALL> and known
|
|
issues <http://zerowing.idsoftware.com/linux/q3a/> guides hosted
|
|
by id Software.
|
|
|
|
Linuxgamer's Quake III How-To <http://www.linux-
|
|
gamers.net/modules/wfsection/article.php?articleid=30>.
|
|
|
|
Linux Questions' Quake III forums for Sound
|
|
<http://www.linuxquestions.org/questions/history/260975> and
|
|
Mouse <http://www.linuxquestions.org/questions/history/225821>
|
|
problems.
|
|
|
|
All things Quake III at Planet Quake
|
|
<http://www.planetquake.com/quake3/q3aguide/>
|
|
|
|
|
|
|
|
6.4. Quake IV
|
|
|
|
|
|
Quake IV is an epic FPS from Raven Software <http://ravensoft.com>.
|
|
It is based on the Doom-III engine and has high hardware specs: A 2GHz
|
|
P4 (or AMD equivalent) and 512meg ram are the official minimum
|
|
requirements. It's a beautiful game which should really be played
|
|
with the graphical settings set to "medium" or "high". For this reason
|
|
the author recommends against using entry level cards such as the
|
|
FX5200.
|
|
|
|
The game runs well under Linux, but still has a couple of issues:
|
|
|
|
|
|
· Quake IV only runs in 32 bpp colours (X11 colour depth 24), so
|
|
restart X in this mode if you have to. Attempting to run in 16 bpp
|
|
colours will give you an error message like:
|
|
|
|
Couldn't find matching GLX visual ..... Sys_Error: Unable to
|
|
initialize OpenGL.
|
|
|
|
Alternatively you can start a new X session with the command:
|
|
|
|
startx `which quake4` -- :1 -depth 24
|
|
|
|
|
|
|
|
· The Alsa sound libraries are used by default. To start with OSS
|
|
sound , type:
|
|
|
|
quake4 +set s_driver oss
|
|
|
|
|
|
|
|
· The Quake IV DVD Edition comes with several promotional movies.
|
|
Although the movies appear to be Windows executables, they are in
|
|
fact Bink videos, and can be viewed with the Linux Bink Player
|
|
<http://www.radgametools.com/down/Bink/BinkLinuxPlayer.zip>.
|
|
|
|
|
|
|
|
Quake IV Links
|
|
The Official Linux Faq
|
|
<http://zerowing.idsoftware.com/linux/quake4/>
|
|
|
|
Linux Questions Quake IV bug forums
|
|
<http://www.linuxquestions.org/>
|
|
|
|
Quake IV demo
|
|
<ftp://ftp.idsoftware.com/idstuff/quake4/demo/quake4-linux-1.0-demo.x86.run>
|
|
|
|
Linux 1.4.2 SDK installer
|
|
<http://www.iddevnet.com/quake4/GettingStarted>
|
|
|
|
|
|
|
|
7. Mapping Tools
|
|
|
|
|
|
Creating mods is done with map editors and compilers, but also
|
|
involves .... texture creation, making pak files, modeling, skinning,
|
|
editing sound and graphics files, and writing your own progs.dat with
|
|
Quake C. Linux support is available, but is not comprehensive.
|
|
|
|
Quake C is Quake's own game language (it was the first game such), and
|
|
it allows mods to work seamlessly on all operating systems.
|
|
|
|
|
|
7.1. World Editors
|
|
|
|
|
|
|
|
GtkRadiant <http://www.qeradiant.com/>
|
|
The main map editor for Quake. It is based on id Software's own
|
|
editor, and requires OpenGL.
|
|
|
|
|
|
Quest <http://quest-ed.sourceforge.net/index.html>
|
|
A multi-game world editor. It has a stiff learning curve, but
|
|
is very efficient after you master it.
|
|
|
|
|
|
· keyboard shortcuts for effortless cut-and-paste operations on
|
|
multiple brushes and entities
|
|
|
|
· easy vertex manipulation using keyboard shortcuts and the
|
|
mouse
|
|
|
|
· edit the properties of multiple entities at once
|
|
|
|
· texture and align multiple faces
|
|
|
|
· texture locking function (crates)
|
|
|
|
· can rotate, stretch and mirror textures
|
|
|
|
· support for groups
|
|
|
|
· variable grid size down to 1 px
|
|
|
|
|
|
|
|
7.2. Tools
|
|
|
|
|
|
|
|
Bjptools <http://qexpo.tastyspleen.net/uploaded/157/bjp-
|
|
tools-090908.zip>
|
|
Linux port of the most used map compilers.
|
|
|
|
· includes treeqbsp, vis and light
|
|
|
|
· supports rotating entities
|
|
|
|
· doesn't support coloured lights
|
|
|
|
· modifications by Bengt Jardrup, Greg Lewis, and others
|
|
|
|
|
|
Tyrutils <http://disenchant.net/utils.html>
|
|
Tyrann's popular map compilers, including qbsp, vis and tyrlite.
|
|
Supports rotating entities and coloured lights.
|
|
|
|
|
|
Hmap2 <http://icculus.org/twilight/dark-
|
|
places/files/hmap2build20080616.zip>
|
|
LordHavoc's compiler. It can compile leaky or incomplete maps
|
|
(use only for testing!) and does a ton of other stuff, including
|
|
coloured lighting.
|
|
|
|
|
|
QEU <http://gamers.org/pub/idgames2/utils/bsp_pak_tools/qeu03.zip>
|
|
Command line tools to handle pak and wad files (source code
|
|
only).
|
|
|
|
|
|
FTEQCC <http://www.fteqw.com>
|
|
Comprehensive, advanced QuakeC compiler with gui and command
|
|
line versions. If this one can't compile it, nothing will!
|
|
|
|
|
|
FrikQCC <http://www.inside3d.com/frikbot/frikqcc>
|
|
QuakeC compiler
|
|
|
|
|
|
|
|
7.3. Tools needing Wine
|
|
|
|
|
|
Wine <http://www.winehq.org/> is a project that allows many Windows
|
|
programs to work with Linux.
|
|
|
|
|
|
|
|
Wally <http://www.telefragged.com/wally>
|
|
Multipurpose texture editing tool. Can batch convert BMP files
|
|
to Quake textures, etc. Also provides several paint functions,
|
|
and macros such as rivets and decals.
|
|
|
|
|
|
The Quake Army Knife <http://dynamic.gamespy.com/~quark/>
|
|
QuArK is a multipurpose Quake editing tool. It loads, edits and
|
|
exports multiple file formats, and has matured into a multi-
|
|
game, multi-format tool. Some functions are broken though, and
|
|
it may not work with all versions of Wine.
|
|
|
|
|
|
Q1Rad <http://icculus.org/homepages/riot/q1rad.zip>
|
|
Light tool that does radiosity-based lighting, like Quake II.
|
|
|
|
|
|
|
|
7.4. Other Utilities
|
|
|
|
|
|
|
|
· Gimp <http://www.gimp.org>. Graphics editor.
|
|
|
|
· Sweep <http://www.metadecks.org/software/sweep>, Audacity
|
|
<http://audacity.sourceforge.net>, Libsamplerate <http://www.mega-
|
|
nerd.com/SRC>, Normalize <http://normalize.nungnu.org>, Sox
|
|
<http://sox.sourceforge.net>. Sound editing tools.
|
|
|
|
|
|
7.5. Links
|
|
|
|
|
|
|
|
· Quake mappers' message board Func_Msgboard
|
|
<http://www.celephais.net/board/forum.php>
|
|
|
|
· Inside3D.com <http://inside3d.com> has lots of good stuff.
|
|
|
|
· Bengt Jardrup's homepage <http://user.tninet.se/~xir870k> is a
|
|
must read, with documents about engine errors, map limits, and the
|
|
like.
|
|
|
|
· Quake Terminus <http://www.quaketerminus.com/tools.htm> tools
|
|
section.
|
|
|
|
· ``QuakeForge'' includes some Quake C tools with their tarball.
|
|
|
|
· The Quake Wiki <http://wiki.quakesrc.org/index.php/HomePage> has
|
|
some relevant links for the windows platforms.
|
|
|
|
|
|
|
|
8. Trouble-shooting
|
|
|
|
|
|
Other trouble-shooting resources can be found at: The Linux Gamers
|
|
FAQ <http://www.icculus.org/lgfaq>, Jn's GLQuake Site
|
|
<http://mfcn.ilo.de/glxquake>, and the ``old version'' of this how-to.
|
|
|
|
Often, using an alternative game engine such as ``QuakeSpasm'' or
|
|
``Darkplaces'' will fix mouse and sound related problems.
|
|
|
|
|
|
8.1. Bash Won't Start the Program
|
|
|
|
|
|
"bash: ./glquake.glx: Permission denied"
|
|
|
|
|
|
· The binary may not have the executable bit set. Type chmod +x
|
|
glquake.glx to fix this.
|
|
|
|
· If the program is located on a windows partition, it is possible it
|
|
has been mounted with the noexec option.
|
|
Type (as root): mount -o remount,exec /mnt/windows
|
|
|
|
"bash: glquake.glx: command not found"
|
|
|
|
|
|
· Bash may not be including the current directory in it's path.
|
|
Type: "export PATH=$PATH:."
|
|
|
|
|
|
8.2. Program Dies at Startup
|
|
|
|
|
|
This is not good, but some simple options to try are:
|
|
|
|
|
|
· - use -nosound to test if sound is the problem.
|
|
Sound issues are covered in detail below.
|
|
|
|
· - use -noudp if network is unconfigured.
|
|
|
|
· - use -nocdaudio if cdrom is absent.
|
|
|
|
· - use -height, -width and -fullscreen command line options to
|
|
select a screen mode you know is properly configured.
|
|
e.g. glquake.glx -width 800 -height 600 -fullscreen -nosound
|
|
|
|
|
|
Files not lowercased or Data files missing.
|
|
|
|
Linux Quake requires (most) filenames to be in lowercase. If you get
|
|
an error similar to "Error: W_LoadWadFile: couldn't load gfx.wad" it
|
|
means the game can't find the data files, possibly because they are
|
|
not all lowercase.
|
|
|
|
|
|
· Make sure you have the subdirectory "id1" (not "ID1") containing
|
|
the files "pak0.pak" and "pak1.pak".
|
|
|
|
· For a comprehensive lowercase utility, download this utility
|
|
<http://prdownloads.sourceforge.net/uhexen2/lowercase?download> or
|
|
visit <http://filerenameutils.sourceforge.net>.
|
|
|
|
Missing libraries: "error while loading shared libraries: libGL.so.1:
|
|
cannot open shared object file"
|
|
|
|
A message like this means the program cannot run because it can't find
|
|
a system file it needs. Perhaps:
|
|
|
|
|
|
· File is not installed - Just check with your package manager and
|
|
install the correct package.
|
|
|
|
· Links aren't properly set-up. If you have (say)
|
|
/usr/lib/libGL.so.1.2, but get the above message, you should be
|
|
able to remedy this with ln -s /usr/lib/libGL.so.1.2
|
|
/usr/lib/libGL.so.1
|
|
|
|
Dynamic libraries (or DLLs as they are known to Windows users) can be
|
|
quite complex. For more information try the ldd and ldconfig man
|
|
pages.
|
|
|
|
|
|
"Memory overwrite in Sys_Printf"
|
|
|
|
|
|
· This error means you need to edit file sys_linux.c, procedure
|
|
Sys_Printf, and change text[1024] to text[4096] and recompile.
|
|
Many versions of Quake have what appear to be two versions of this
|
|
procedure, but one is always commented out. Obviously you'll need
|
|
to change the value in the correct procedure.
|
|
|
|
Problems with GCC 4
|
|
|
|
|
|
· If you're experiencing core dumps and are using version 4.0 of the
|
|
GNU compiler, see ``Compilation Issues'' below.
|
|
|
|
|
|
8.3. Program Dies Loading Level
|
|
|
|
|
|
|
|
· Many mods require extra memory. Use the -mem 64 option to allocate
|
|
64 meg of memory for the heap.
|
|
|
|
|
|
· In some cases, this problem can be sound related. Try some of the
|
|
tips in the sound section.
|
|
|
|
|
|
· A few newer mods just won't work with standard GLQuake, and need an
|
|
enhanced ``game engine''. ``Darkplaces'' has the best large map
|
|
support under Linux, but some are even too big for it, and are
|
|
unsupported under Linux.
|
|
|
|
|
|
8.4. Game Runs Slowly
|
|
|
|
|
|
Most Quake games rely on OpenGL (libGL.so) for their graphical
|
|
features. Setting up OpenGL is beyond the scope of this document.
|
|
Very slow performance means you're probably using Mesa GL instead of
|
|
proper hardware GL acceleration.
|
|
|
|
Performance gains can also be made by disabling fancy effects such as
|
|
light bloom, and by slowing sound mixing with the ``console command''
|
|
"_snd_mixahead .4"
|
|
|
|
Minor game slowdown's with Nvidia hardware can also be attributed to
|
|
the use of conflicting AGP drivers. For more info about this see
|
|
``Nvidia AGP Issues''
|
|
|
|
|
|
|
|
8.5. Sound Problems
|
|
|
|
|
|
For more information see the ``drivers'' section.
|
|
|
|
An error such as: "/dev/dsp: Device or resource busy" indicates some
|
|
program is already using your sound card, and you will have to halt
|
|
this program to get Quake sound effects.
|
|
|
|
|
|
· From the Linux command line, type killall artsd or pulseaudio -k to
|
|
terminate either of these popular sound daemons.
|
|
|
|
|
|
· Alternatively, to run Quake through the KDE sound daemon, type
|
|
artsdsp glquake.glx ...
|
|
|
|
"Quake engine games exit, and I see an error about mmap!"
|
|
|
|
|
|
· The Linux Gamers FAQ <http://www.icculus.org/lgfaq> recommends
|
|
"Your sound card/driver doesn't support this needed feature.
|
|
However, if you use KDE/arts you may be able to bypass this with
|
|
the -m switch to the artsdsp wrapper".
|
|
Make sure the artsd program is running by typing ps -A | grep artsd
|
|
and checking that this command returns at least one non-empty line.
|
|
Then type artsdsp -m glquake.glx.
|
|
|
|
· Try alternative sound drivers as outlined in the ``Sound Drivers''
|
|
section.
|
|
|
|
Sound stutters or is not very good.
|
|
|
|
|
|
· See the sound note in ``Compilation Issues''.
|
|
|
|
· Try using the -sndspeed or -sndbits option(s), or swapping sound
|
|
drivers.
|
|
|
|
SDL provides a simple way of changing the sound driver using the
|
|
SDL_AUDIODRIVER environment variable. Run the game using a command
|
|
line like:
|
|
SDL_AUDIODRIVER=xxx darkplaces-sdl
|
|
Valid values on linux are: dsp (uses OSS), alsa (uses ALSA), esd (uses
|
|
the ESD daemon), and maybe arts (uses the aRTs daemon)
|
|
|
|
|
|
|
|
8.6. Compilation Issues
|
|
|
|
|
|
The dynamic nature of GNU/Linux means compiling old software is often
|
|
hard work, and even small hurdles are impossible for people not
|
|
experienced in C programming. Below are a few relevant issues.
|
|
|
|
|
|
8.6.1. GCC-4.x
|
|
|
|
|
|
|
|
The GNU C compiler has recently had a major revision, and most
|
|
modern distributions now include GCC-4.1. (To find out which
|
|
version you are using, type gcc --version). The author generally
|
|
uses GCC-3.2.2 , and people using GCC-4.x may find extra problems
|
|
when compiling programs:
|
|
|
|
Warnings
|
|
GCC-4.x issues many more compilation warnings than 3.x. These
|
|
are small errors that can generally be ignored, but when the
|
|
compiler is given the "-Werror" flag, warnings will bring
|
|
everything to a halt. To fix this you can safely remove the
|
|
"-Werror" from the program's Makefile.
|
|
|
|
|
|
Slurred Sound
|
|
Yet another sound issue. This common problem is fixed by
|
|
altering snd_mix.c thus:
|
|
|
|
- snd_scaletable[i][j] = ((signed char)j) * i * 8;
|
|
+ snd_scaletable[i][j] = ((j < 128) ? j : j - 0xff) * i * 8;
|
|
|
|
|
|
|
|
Optimizations
|
|
GCC-4.0 in particular had a problem with "-O" flags breaking
|
|
some variable type-casting. If you are able to compile the
|
|
program , but it segfaults, try disabling these optimizations by
|
|
removing the "-O" options from any makefiles.
|
|
|
|
|
|
If you are having troubles compiling with GCC-4 which weren't there
|
|
previously, it's possible to install GCC-3.x alongside 4.x. Most
|
|
people will want to look for precompiled packages from their Linux
|
|
distribution.
|
|
|
|
Once GCC-3.x is installed, the program must then be told to compile
|
|
with this version rather than the default 4.x. Projects that come
|
|
with configuration scripts will often have options for defining which
|
|
compiler to use (type ./configure --help and look for hints), and
|
|
other times you be able to use export CC=gcc32 or edit the Makefile
|
|
and replace occurrences of "gcc" with "gcc32" (or "gcc-3.2.2", etc)
|
|
manually.
|
|
|
|
|
|
8.6.2. 64 Bit CPUs
|
|
|
|
|
|
Most of these legacy programs will probably not work as 64 bit
|
|
binaries. ``QuakeSpasm'' is an exception.
|
|
|
|
It is still possible, however, to compile 32 bit binaries on a 64 bit
|
|
operating system. To do so, edit Makefiles and add "-m32" to the load
|
|
and compile flags (LDFLAGS, CFLAGS). This tells GCC to build and link
|
|
a 32 bit program (if the 32 bit SDL and OpenGL libraries are also
|
|
installed). You may also have to disable the use of x86 assembly.
|
|
|
|
If you are having trouble running 32 bit apps, try using the linux32
|
|
command. For example: linux32 tyr-glquake.
|
|
|
|
|
|
8.7. Other Issues
|
|
|
|
|
|
|
|
Game is too dark
|
|
If changing the brightness setting in the options menu doesn't
|
|
work, you can use the xgamma program to brighten the whole
|
|
display.
|
|
|
|
|
|
· Type xgamma -gamma VALUE before running the game, where VALUE
|
|
is a number larger than 1. When you've finished, use xgamma
|
|
-gamma 1 to restore the brightness.
|
|
|
|
This tip will not work with poorly supported hardware. For
|
|
Voodoo 1/2 users, visit here <http://sourceforge.net/docman/dis-
|
|
play_doc.php?docid=28982&group_id=124987> for more information.
|
|
|
|
|
|
Mouse look
|
|
"This game won't let me look around properly. %$!$@"
|
|
|
|
|
|
· Bring down the game console with the "~" key and enter
|
|
+mlook.
|
|
|
|
|
|
Mouse doesn't work properly
|
|
Try the following -
|
|
|
|
|
|
· Start the game in fullscreen mode by using the -fullscreen
|
|
option.
|
|
|
|
· From the game console, type _windowed_mouse 1
|
|
|
|
· If still without success, try the ``QuakeSpasm'' or
|
|
``Darkplaces'' SDL clients. Typing export
|
|
SDL_VIDEO_X11_DGAMOUSE=0 before starting the game will
|
|
disable hardware dga mouse.
|
|
|
|
|
|
Game saves fail / Options not remembered
|
|
If you are running Quake as a normal user and experiencing these
|
|
problems it's probably due to having insufficient privileges to
|
|
write to the game directories. Solutions include:
|
|
|
|
|
|
· Run the game as super user: Type su and enter root's password
|
|
before typing glquake.glx ... to start the game.
|
|
|
|
· Change the game file permissions. Unix operating systems have
|
|
strong security preventing unauthorized or accidental file
|
|
changes. The simplest way to overcome this in a single user
|
|
environment is to become super user and change ownership of
|
|
the quake directory with (as root): chown -R USERNAME
|
|
/usr/local/games/quake. However it is recommended users read
|
|
the chmod and chown man and info pages to better understand
|
|
Unix file permissions.
|
|
|
|
· In full multi-user environments it is recommended using the
|
|
``Darkplaces'', ``TyrQuake >= 0.56'' or ``QuakeForge'' game
|
|
engines, which correctly place per-user data in their home
|
|
directory.
|
|
|
|
Quake uses a confusing method of saving and restoring game
|
|
options, especially when playing add-ons, and game options
|
|
sometimes have to be reinitialized even though file permissions
|
|
are not an issue. In such cases, the author can offer no simple
|
|
advice %-/.
|
|
|
|
|
|
Crazy polygons
|
|
Some mission-packs/mods for Quake can cause existing
|
|
player/monster models to be drawn with lines all over the place.
|
|
To fix this, delete the directory "quake/id1/glquake". When you
|
|
next run the game, it will remake this directory and everything
|
|
should be fine.
|
|
|
|
|
|
Lines on screen
|
|
A common problem with 3Dfx cards is a shower of flickering lines
|
|
on the screen.
|
|
|
|
|
|
· From the game console, type gl_ztrick 0.
|
|
|
|
|
|
White textures and other graphical anomalies
|
|
Some Quake engines use an OpenGL speed-up known as
|
|
multitexturing. This normally works fine, but if you are
|
|
experiencing glitches you can disable this feature with the
|
|
-nomtex option.
|
|
|
|
Older video cards may occasionally draw single models in white.
|
|
See the PlanetQuake command list
|
|
<http://www.planetquake.com/console/commands/quake.html> for in-
|
|
game GL variables to fine tune performance.
|
|
|
|
|
|
Glibc Problems
|
|
Some Linux software come as a Loki Installer shell archive with
|
|
a ".run" suffix. The following tip is from the Icculus Gamers
|
|
Faq:
|
|
|
|
Q: I'm using {random loki_setup based installer}, and it's telling me the "installation doesn't support glibc-2.1" or something
|
|
|
|
A: Just type the following before running setup.sh [or the installer]: export SETUP_LIBC=glibc-2.1.
|
|
|
|
|
|
|
|
Links
|
|
<http://www.x.org>
|
|
|
|
Linux Gamers ATI How-To <http://www.linux-
|
|
gamers.net/modules/wfsection/article.php?articleid=22>
|
|
|
|
Linux Gamers Nvidia How-To <http://www.linux-
|
|
gamers.net/modules/wfsection/article.php?articleid=31>
|
|
|
|
|
|
|
|
8.8. Sound Drivers
|
|
|
|
|
|
There are two major Linux sound systems - Open Sound System and ALSA.
|
|
If you are experiencing sound problems and the trouble-shooting
|
|
section hasn't helped, you may consider changing the sound driver.
|
|
This can be hard work, and is only for experienced users.
|
|
|
|
To ascertain which driver you are currently using, type lsmod to list
|
|
currently loaded kernel modules. The ALSA sound modules have verbose
|
|
names starting with "snd_", while the OSS modules have more terse
|
|
names. For example, the ALSA Sound Blaster Live module is
|
|
"snd_emu10k1", while the OSS module is "emu10k1". Since Linux kernel
|
|
2.6, ALSA has been the standard sound system, while 2.4 and earlier
|
|
were more likely to come with OSS sound.
|
|
|
|
Information about ALSA can be found at the Alsa Homepage
|
|
<http://www.alsa-project.org> and Linux Journal's Guide to ALSA
|
|
<http://www.linuxjournal.com/node/8234/print>.
|
|
|
|
For those already with ALSA wishing to try the OSS modules, a kernel
|
|
recompile <http://www.tldp.org/HOWTO/Kernel-HOWTO/> is probably
|
|
necessary.
|
|
|
|
|
|
|
|
9. Other
|
|
|
|
9.1. Nvidia
|
|
|
|
|
|
Nvidia's drivers for all of their modern video cards are not open
|
|
source. Because of this many distributions do not include them. If
|
|
your Nvidia card is running slowly this is probably the cause and you
|
|
should visit <http://www.nvidia.com> to download the Linux installer.
|
|
In the author's experience these drivers are great, but not all
|
|
versions work 100% with all cards and kernels. If you have a
|
|
misbehaving Nvidia video card, try a different driver.
|
|
|
|
|
|
9.1.1. XOrg AGP Issues
|
|
|
|
|
|
With Nvidia's proprietry drivers installed, Linux can use either
|
|
AGPGART or Nvidia's AGP drivers for AGP access. This option is set by
|
|
"NvAGP" in your /etc/X11/xorg.conf file.
|
|
|
|
From Nvidia's README:
|
|
|
|
______________________________________________________________________
|
|
Option "NvAGP" "integer"
|
|
|
|
Configure AGP support. Integer argument can be one of:
|
|
|
|
Value Behavior
|
|
-------------- ---------------------------------------------------
|
|
0 disable AGP
|
|
1 use NVIDIA's internal AGP support, if possible
|
|
2 use AGPGART, if possible
|
|
3 use any AGP support (try AGPGART, then NVIDIA's
|
|
|
|
Please note that NVIDIA's internal AGP support cannot work if AGPGART is
|
|
either statically compiled into your kernel or is built as a module and
|
|
loaded into your kernel.
|
|
______________________________________________________________________
|
|
|
|
|
|
In the author's experience, Nvidia's AGP is necessary in order to get
|
|
the linux kernel's suspend to ram working properly, and is also
|
|
slightly faster. Users with kernels with built-in AGPGART need to add
|
|
agp=off to their boot loader in order to use the NvAGP driver.
|
|
|
|
|
|
|
|
9.1.2. Tweaks
|
|
|
|
|
|
These tweaks are for users with a GeForce video card (or better) and
|
|
Nvidia's proprietary drivers. They are accessed using the bash
|
|
command export {variable}={value} and then starting the Quake engine
|
|
from the same command line. Alternatively, recent drivers have a
|
|
nvidia-settings command which starts up a user-friendly control panel.
|
|
Full details of these tweaks are in the Nvidia README, normally
|
|
installed at "/usr/share/doc/NVIDIA_GLX-1.0/README.txt"
|
|
|
|
|
|
Full Screen Antialiasing
|
|
export __GL_FSAA_MODE={value}
|
|
|
|
video card effect value
|
|
=====================================================
|
|
all disable 0
|
|
-----------------------------------------------------
|
|
GeForce, GeForce2 1.5x1.5 Supersampling 3
|
|
2x2 Supersampling 4
|
|
-----------------------------------------------------
|
|
GeForce4 2x Bilinear 1
|
|
2x2 Supersampling 4
|
|
-----------------------------------------------------
|
|
GeForce3, GeForce4 Ti, 2x Bilinear 1
|
|
GeForce FX 4x Bilinear 4
|
|
-----------------------------------------------------
|
|
|
|
|
|
|
|
Synchronize Picture Redraw
|
|
export __GL_SYNC_TO_VBLANK=1
|
|
|
|
Synchronizes GL output with your monitor's vertical refresh,
|
|
giving a more stable image especially on slower video cards.
|
|
|
|
|
|
|
|
9.2. 3Dfx
|
|
|
|
|
|
While new versions of XFree and XOrg have great support for Voodoo 3,
|
|
4 and 5, early 3Dfx hardware such as Voodoo1, Voodoo2 and Rush are no
|
|
longer hardware accelerated. To get OpenGL working for these cards,
|
|
you'll need to download, install and/or compile the software libraries
|
|
called Glide and Mesa, though this is not trivial. The author does
|
|
have precompiled libGL for the Voodoo2, and his patched TyrQuake
|
|
<http://prdownloads.sourceforge.net/uhexen2/quake-
|
|
lq-1.0.1.tgz?download> includes proper 3Dfx brightness control. Here
|
|
<http://sourceforge.net/docman/display_doc.php?docid=28982&group_id=124987>
|
|
is a README for old 3Dfx cards.
|
|
|
|
|
|
|
|
9.3. FreeBSD
|
|
|
|
|
|
The author has limited experience with this OS and has tested projects
|
|
on FreeBSD 5.3 with Nvidia's proprietary drivers. ``Darkplaces'',
|
|
``QuakeSpasm'', ``TyrQuake'' and ``Hammer of Thyrion'' work well with
|
|
this system.
|
|
|
|
``QuDos'' has recently ported several engines
|
|
<http://qudos.quakedev.com/linux/quake1> to Linux and has recently
|
|
started work on FreeBSD compatibility. His great Quake II project
|
|
<http://qudos.quakedev.com/linux/quake2> is also now BSD friendly.
|
|
|
|
For basic GLQuake support, you can find a hacked FreeBSD binary and
|
|
source tarball here
|
|
<http://prdownloads.sourceforge.net/uhexen2/GLQuake-FreeBSD-
|
|
sa-1.0.tgz?download>.
|
|
|
|
``QuakeForge'' is a comprehensive Quake project, but may have
|
|
installation issues with newer FreeBSD releases. The memory allocator
|
|
routine "alloca" is not correctly detected on FreeBSD 5.3. The fix is,
|
|
after running "configure", to add "#define C_ALLOCA 1" to
|
|
"include/config.h" and undefine other ALLOCA variables. Another issue
|
|
is the opening of plugins. If the project builds, but you can't get
|
|
the console or menus, you may have to enable static plugins using
|
|
configure LDFLAGS=-lpthread --with-static-plugins.
|
|
|
|
|
|
9.4. QNX
|
|
|
|
|
|
QNX is a commercial real-time operating system, probably most notable
|
|
to hobbyists as being a successful microkernel OS. ``SDL
|
|
Quake''-1.0.9 compiles and runs on QNX-NC-6.2.1 after running
|
|
configure --host=QNX and then making these changes:
|
|
|
|
Makefile:
|
|
-LIBS = -L/usr/local/lib -lSDL -lm -lph -lasound
|
|
+LIBS = -L/usr/local/lib -lSDL -lm -lph -lasound -lsocket
|
|
net.h:
|
|
-extern unsigned long htonl (unsigned long hostlong);
|
|
-extern unsigned long ntohl (unsigned long netlong);
|
|
sys_sdl.c:
|
|
-#include <sys/shm.h>
|
|
-int psize = getpagesize();
|
|
+int psize = _SC_PAGESIZE;
|
|
|
|
|
|
|
|
9.5. Transparent Water and VisPatch
|
|
|
|
|
|
The game variable "r_wateralpha" allows for water transparency - but
|
|
most maps don't have the necessary "vis" information. There are two
|
|
ways to get this. After setting r_wateralpha < 1.0, issuing the
|
|
console command r_novis 1 enables the game to calculate it's own vis
|
|
information at the penalty of cpu cycles. Alternatively, vispatch is
|
|
a utility that patches your Quake/QuakeWorld levels to support
|
|
transparent water.
|
|
|
|
To do this you'll need the vispatch utility, as well as the vispatch
|
|
data files <http://www.atomicgamer.com/directory.php?id=3138> for the
|
|
game you are patching.
|
|
|
|
To patch the main data files in "id1" - from your Quake directory -
|
|
type vispatch -dir id1 -data id1.vis
|
|
|
|
Vispatch Homepage <http://vispatch.sourceforge.net/>
|
|
|
|
|
|
9.6. Quake Inspired XTerms
|
|
|
|
|
|
Quake's in-game console is a great feature and has been adopted by
|
|
many other games. Now you can also use the 'tilda' key to access X
|
|
terminal windows. Both Yakuake <http://yakuake.uv.ro/> and Tilda
|
|
<http://tilda.sourceforge.net/> are projects inspired by this idea.
|
|
|
|
Unfortunately neither are easy to install from source. Yakuake is a
|
|
KDE application and needs the KDE development packages, and compiling
|
|
Tilda is more complicated. It requires a couple of unusual libraries,
|
|
and gave this author compilation errors, so perhaps looking for a RPM
|
|
package is a better choice. The author can recommend Yakuake as a
|
|
very handy X terminal.
|
|
|
|
|
|
9.7. Launching maps and demos
|
|
|
|
|
|
<http://www.quaddicted.com/?p=374>
|
|
|
|
|
|
9.8. Interest
|
|
|
|
|
|
|
|
· Because of the way the original game renders the sky, any map with
|
|
numerous outdoor enemies suffers a big performance hit.
|
|
|
|
· You can jump further when strafing than when going forward or back
|
|
8-)
|
|
|
|
· The timedemo demo1 command is a great way to benchmark your system.
|
|
|
|
· Rocket-jumping is the technique of using a rocket or grenade
|
|
explosion to jump further than normal. For a demonstration see the
|
|
Scourge done Slick speed run.
|
|
|
|
· Popular games derived from the Quake engine include - Return to
|
|
Castle Wolfenstein, Half-Life, Star Trek Voyager - Elite Force,
|
|
Soldier of Fortune, American McGee's Alice, and - distantly - Doom
|
|
III.
|
|
|
|
|
|
9.9. Quotes
|
|
|
|
|
|
|
|
· John Carmack -
|
|
"At this time (march '97), the only standard opengl hardware that
|
|
can play glquake reasonably is an intergraph realizm, which is a
|
|
VERY expensive card"
|
|
|
|
· From the original Quake How-To -
|
|
"Hardware-accelerated OpenGL Quake is Quake the way God intended it
|
|
to be. There is no substitute, and once you've experienced it
|
|
there's no going back."
|
|
|
|
· Func Message Board -
|
|
"... This Will Produce A Fully Functional Bouncing, Exploding
|
|
Zombie."
|
|
Sounds like fun :-)
|
|
|
|
· Quake Wikipedia -
|
|
"Quake and its three follow up games, Quake II,Quake III Arena and
|
|
Quake 4 (which many do not regard as true sequels), have sold over
|
|
4 million copies combined. In 2005, a version of Quake was
|
|
produced for mobile phones."
|
|
|
|
· Moby Games
|
|
(by Pathogen)
|
|
"... Quake was the first FPS to introduce realistic lighting and
|
|
shadows. Of course, this came at a price. Quake has taken a lot of
|
|
flak because it's all dull brown and grey. This was necessary
|
|
because it was the only way to get the lighting to work properly.
|
|
Since each surface needs a wide variety of reserved colors for
|
|
displaying darkened/brightened portions of the surface, the game
|
|
was limited to just a few colors and all their respective shades."
|
|
(by Ashley Pomeroy)
|
|
"Almost incidentally, Quake introduced the now-standard concept of
|
|
a FPS control interface. Although the specifications required a
|
|
Pentium, Quake ran acceptably well on a 486 DX4/100"
|
|
|
|
· Happy Penguin Q3 Forum -
|
|
|
|
As for [Q3] open source.....earliest date seems to be second half
|
|
2005. The reason? They are still selling the code, over 5 years
|
|
later to game devs. Either they are stupid devs, or the Q3 code
|
|
still offers something....I'm inclined believe the latter.
|
|
|
|
· Slashdot Tenebrae Forum -
|
|
|
|
... this ... now officially labels this guy as a badass graphics programmer. I can hear it now:
|
|
|
|
MR. BURNS: "I need a programmer! Get John Carmack on the line!"
|
|
SMITHERS: "He's unavailable sir."
|
|
MR. BURNS: "Then get me his non-union Belgian equivalent!"
|
|
|
|
|
|
|
|
9.10. Glossary
|
|
|
|
|
|
|
|
ALSA
|
|
Advanced Linux Sound Architecture <http://www.alsa-project.org>.
|
|
|
|
|
|
API
|
|
Application Program Interface. The computer libraries which are
|
|
used when programming, and link the game to the hardware.
|
|
|
|
|
|
Bot
|
|
A computer generated player with artificial intelligence
|
|
(cough), in a multiplayer game. Used to play multiplayer when
|
|
no-one's around or not connected to a network.
|
|
|
|
|
|
Client
|
|
This word is used in two subtly different ways. In single
|
|
player, the Quake game is known as a client, with different
|
|
clients using their own graphics libraries (for example, the GL
|
|
client "quake.glx" or the X11 client "quake.x11"). The usage is
|
|
similar in multiplayer games, but also means the per-user
|
|
program which connects to a single "server" program which lets
|
|
all the players exist in the same world.
|
|
|
|
|
|
FPS
|
|
First Person Shooter. A shooting game viewed from the "first
|
|
person" perspective.
|
|
|
|
|
|
Mod
|
|
Modification to the original Quake game - varying from a
|
|
complete game overhaul (total conversion) to simple map/model
|
|
reworks. Quake was designed to allow for ease of platform
|
|
portability with it's own computer language "Quake C" giving
|
|
mappers control over most every aspect of their Quake world.
|
|
|
|
Noob
|
|
Newbie. Someone new to a computer related topic.
|
|
|
|
|
|
Patch
|
|
A software patch (or diff) is a single file used to alter a
|
|
source code tree before compilation. It is often used to fix
|
|
bugs or add new features that the original author didn't
|
|
include.
|
|
|
|
Usage of the GNU patch utility is of the form patch [--dry-run]
|
|
-pNUM <FILE where NUM is the number (usually 0 or 1) of
|
|
directories to strip from the patch file. This number is not
|
|
obvious except to unix gurus, but using the "--dry-run" option
|
|
will let you test run patch so you can find the correct NUM.
|
|
...Using the wrong number will make patch output all sorts of
|
|
cryptic messages which can be terminated with a control-C
|
|
character.
|
|
|
|
Of course you could always type man patch and learn for yourself
|
|
how to use this powerful unix command. ;-/
|
|
|
|
|
|
SDL
|
|
Simple DirectMedia Layer <http://www.libsdl.org/> cross platform
|
|
hardware API widely used in Linux games.
|
|
|
|
|
|
Segfault
|
|
A broad term indicating a program is faulty and terminated
|
|
abruptly. Depending on the bash shell's ulimit -c setting, a
|
|
dump of the program's image (coredump) may be left behind for
|
|
examination with the GNU debugger (GDB).
|
|
|
|
|
|
Server
|
|
A program central to multiplayer games to which every player
|
|
connects.
|
|
|
|
|
|
Tarball
|
|
An archive file such as somefile.tar created by the "tar"
|
|
program. It is often compressed using the programs "gzip" or
|
|
"bzip2", in which case it will normally end in the letters .gz
|
|
or .bz2. The extension .tar.gz is often shortened to .tgz.
|
|
|
|
|
|
|
|
9.11. Links
|
|
|
|
|
|
|
|
id Software
|
|
<http://www.idsoftware.com>
|
|
|
|
id Downloads
|
|
<http://http://www.idsoftware.com/business/techdownloads>
|
|
|
|
id Store
|
|
<http://www.idsoftware.com/store/index.php?view=quake>
|
|
|
|
Icculus
|
|
<http://www.icculus.org>
|
|
|
|
|
|
Icculus Gamers FAQ
|
|
<http://www.icculus.org/lgfaq>
|
|
|
|
Various Engine Links
|
|
<http://icculus.org/~ravage/quake/>
|
|
|
|
The Linux Game Tome
|
|
<http://www.happypenguin.org>
|
|
|
|
Func_Msgboard - Q1 message board from hell ... No, really
|
|
<http://www.celephais.net/board/forum.php>
|
|
|
|
Quaddicted
|
|
<http://www.quaddicted.com/>
|
|
|
|
Planetquake
|
|
<http://www.planetquake.com/quake1>
|
|
|
|
PlanetQuake3.net
|
|
<http://www.planetquake3.net/index.php>
|
|
|
|
Darkplaces Game Engine
|
|
<http://www.icculus.org/twilight/darkplaces>
|
|
|
|
Quake One
|
|
<http://www.quakeone.com>
|
|
|
|
Linux Gamers
|
|
<http://www.linux-gamers.net>
|
|
|
|
Quake Terminus
|
|
<http://www.quaketerminus.com>
|
|
|
|
Retro Quake
|
|
<http://www.planetquake.com/retroquake/quake/index.html>
|
|
|
|
Quake Basics
|
|
<http://www.quaketerminus.com/quakebible/index.htm>
|
|
|
|
Quake Wikipedias
|
|
<http://wiki.quakesrc.org/index.php/HomePage>,
|
|
<http://en.wikipedia.org/wiki/Quake>
|
|
|
|
Jn's GLQuake Site
|
|
<http://mfcn.ilo.de/glxquake>
|
|
|
|
LinuxQuake.Org
|
|
<http://www.linuxquake.org>
|
|
|
|
Linux Hexen II project
|
|
<http://uhexen2.sourceforge.net>
|
|
|
|
SDL - Cross platform hardware API
|
|
<http://www.libsdl.org/>
|
|
|
|
ALSA - Linux sound project
|
|
<http://www.alsa-project.org>
|
|
|
|
Lowercase utility
|
|
<http://filerenameutils.sourceforge.net>
|
|
|
|
|
|
|
|
10. Administrative
|
|
|
|
|
|
|
|
10.1. Credits
|
|
|
|
|
|
Thanks to:
|
|
|
|
· The Linux Documentation Project <http://www.tldp.org>.
|
|
|
|
· Linus Torvalds for hacking together his free operating system
|
|
kernel.
|
|
|
|
· id Software <http://www.idsoftware.com>.
|
|
|
|
· O. Sezer for pointers to some of the many things I'm clueless
|
|
about.
|
|
|
|
· Goldenboy for the mapping section.
|
|
|
|
· Quake modders great and small.
|
|
|
|
This webpage was constructed using Linuxdoc-Tools-0.9.20 (currently
|
|
unmaintained), Vim <http://www.vim.org/> and Bash
|
|
<http://www.gnu.org/software/bash/bash.html>.
|
|
|
|
|
|
10.2. Todo
|
|
|
|
|
|
|
|
· Flesh out multiplayer/ctf/bots sections
|
|
|
|
|
|
10.3. Changelog
|
|
|
|
|
|
|
|
2.09 (March 1 2010)
|
|
Added a note about Industri with Tenebrae.
|
|
|
|
+ QuakeSpasm, AudioQuake, Quore
|
|
|
|
Fixed the directory hierarchy diagram.
|
|
|
|
Many minor engine updates
|
|
|
|
|
|
2.08 (Nov 2008)
|
|
Added detailed mapping section, with much input from GB.
|
|
|
|
Quite reordered document
|
|
|
|
Added notes for other game types such as CTF and Rocket Arena,
|
|
and removed FuhQuake.
|
|
|
|
Added a few links to the id store.
|
|
|
|
Added sections about performance issues, and NvAGP.
|
|
|
|
Rewrote Q3 section..
|
|
|
|
Restructured multiplayer mods sections of the document,
|
|
especially the Quake II section.
|
|
2.07 (May 2008)
|
|
Added FitzQuake(!), Alien Arena, FTE QuakeWorld.
|
|
|
|
Updated VisPatch links.
|
|
|
|
Added note about SDL_AUDIODRIVER.
|
|
|
|
Consolidated links in mods section to Quaddicted.
|
|
|
|
Removed note about old versions of fluxbox.
|
|
|
|
|
|
2.06 (July 2007)
|
|
Included Travail mod, removing a few others.
|
|
|
|
Added EzQuake, World of Padman, IOQuake.
|
|
|
|
Updated TyrQuake (and binary), Darkplaces, FuhQuake and QuDos.
|
|
|
|
Re-wrote document abstracts, and the NVidia and 3Dfx sections.
|
|
|
|
Added to trouble-shooting section a note about (missing)
|
|
libraries.
|
|
|
|
Miscellaneous link updates.
|
|
|
|
|
|
2.05 (February 2007)
|
|
Miscellaneous link updates.
|
|
|
|
A small section for 64 bit cpus.
|
|
|
|
Moved "Links" to it's own section.
|
|
|
|
|
|
2.04 (November 2006)
|
|
Added some troubleshooting hints for Quake IV.
|
|
|
|
A new section for (gcc-4.1) compilation issues.
|
|
|
|
Links to the Quake III Cell Shading project.
|
|
|
|
|
|
2.03 (July 2006)
|
|
Changed order of game engines, added extra compilation notes,
|
|
and expanded the Tenebrae, SDLQuake and wmQuake sections.
|
|
|
|
New multiplayer entries for ProQuake, XQF and Tremulous.
|
|
|
|
Reorganised several categories in the "Other" section, including
|
|
new Nvidia Tweaks, License, Changelog and Vispatch sections.
|
|
|
|
Updated the author's patched Tyr-Quake binary, with a few new
|
|
hacks added to TyrQuake-0.54.
|
|
|
|
Some small changes to the featured mods.
|
|
|
|
|
|
2.02 (February 2006)
|
|
|
|
|
|
10.4. License
|
|
|
|
|
|
This document is released under GPLv2.
|
|
|
|
10.5. Other Formats
|
|
|
|
|
|
|
|
The Quake How-To is also available as a text file
|
|
<http://tldp.org/HOWTO/text/Quake-HOWTO>, a single html file
|
|
<http://tldp.org/HOWTO/html_single/Quake-HOWTO>. and in Turkish
|
|
<http://docs.comu.edu.tr/howto/quake-howto.html>.
|
|
|
|
The latest version should be available here
|
|
<http://tldp.org/HOWTO/Quake-HOWTO.html> or here
|
|
<http://prdownloads.sourceforge.net/uhexen2/Quake-
|
|
HOWTO.html?download>.
|
|
|
|
Version v1.0.1.14 (30 August 1998) of the Quake How-To is located at
|
|
the original author's site <http://webpages.mr.net/bobz/howto/>.
|
|
|
|
|
|
10.6. Author
|
|
|
|
|
|
Stevenaaus lives and works in rural australia.
|
|
|
|
Projects <http://www.myspace.com/stevenaaus>
|
|
|
|
Email <mailto:yahoo - dot - com - username - stevenaaus>
|
|
|
|
|
|
|