Next
Previous
Contents
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
for the game you are patching.
Vispatch was originally written by Andy Bay but has not had much support since
and is finicky to use. Old Linux binaries on the web won't work, and
the utility itself has a rigid structure. To patch the main data files in "id1" -
from your Quake directory - type vispatch -dir id1 -data id1.vis
Vispatch Homepage (outdated)
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"
- 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.
The author has limited experience with this OS and currently uses FreeBSD 5.3 with Nvidia's
proprietary drivers.
Darkplaces and
Hammer of Thyrion work well with this system.
QuDos has recently ported several
engines to Linux and
has recently started work on FreeBSD compatibility. His great
Quake II project is
also now BSD friendly.
For basic GLQuake support, you can find a hacked FreeBSD binary and source
tarball
here.
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.
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;
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 and
Tilda 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.
- 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.
- ID Software
http://www.idsoftware.com
- The Linux Game Tome
http://www.happypenguin.org
- Icculus
http://www.icculus.org
- Icculus Gamers FAQ
http://www.icculus.org/lgfaq
- Linux Gamers
http://www.linux-gamers.net
- Planetquake
http://www.planetquake.com/quake1
- 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
- Jörgen's GLQuake Site
http://mfcn.ilo.de/glxquake
- Quake Forge
http://www.quakeforge.net
- Darkplaces Game Engine
http://www.icculus.org/twilight/darkplaces
- 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
- Func_Msgboard - message board from hell ...no, I mean it
http://www.celephais.net/board/forum.php
- ALSA
Advanced Linux Sound Architecture.
- 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
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.
Thanks to:
- The
Linux Documentation Project.
- Linus Torvalds for hacking together his free operating system kernel.
-
ID Software.
- O. Sezer for pointers to some of the many things I'm clueless about.
- Quake modders great and small.
This webpage was constructed using Linuxdoc-Tools-0.9.20 (currently unmaintained),
Vim and
Bash.
impulses, ezquake.
- 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)
-
This document is released under the GPL.
The Quake How-To is also available as a
text file and a
single html file.
The latest version should be available
here.
Version v1.0.1.14 (30 August 1998) of the Quake How-To is located at the
original author's site.
Steven A.
Sourceforge user page
Email
Next
Previous
Contents
|