Sophie

Sophie

distrib > Mandriva > 2010.2 > x86_64 > by-pkgid > 39c2a7f4920787801643807b4deb05f1 > files > 324

howto-text-en-2007-4mdv2010.0.noarch.rpm

  Linux Quake How-to
  Author: Steven A
  Last updated: September 2, 2005


  This document is a modern guide to GLQuake, a collection of the most
  useful tips and a pointer to the best resources still available on the
  web.
  ______________________________________________________________________

  Table of Contents


  1. Introduction
     1.1 Preamble
     1.2 About

  2. General Info
     2.1 Getting Started
     2.2 Command Line Options
     2.3 Trouble Shooting
     2.4 Hardware Acceleration
     2.5 Game Console Commands
     2.6 Miscellaneous

  3. Game Engines
     3.1 GLQuake
     3.2 QuakeForge
     3.3 Darkplaces
     3.4 Software Quake
     3.5 Other
        3.5.1 NPRQuake
        3.5.2 FuhQuake
        3.5.3 Tenebrae
        3.5.4 QuakeWorld

  4. Mods
     4.1 Mods
     4.2 Commercial Mods
     4.3 Hexen II - Hammer of Thyrion
     4.4 Mapping tools

  5. Other
     5.1 Text Version
     5.2 Old Quake How-To
     5.3 Quake II
     5.4 Quake III
     5.5 FreeBSD
     5.6 Links
     5.7 Glossary
     5.8 Todo
     5.9 Author


  ______________________________________________________________________

  1.  Introduction

  1.1.  Preamble

  Linux Quake sits at the crossroads of two computing revolutions -
  GNU/Linux, the free operating system we all  love, and GLQuake, the
  first "first person shooter" to use the 3d graphics library OpenGL.
  Quake has a loyal community still making games almost ten years  after
  it's release by ID Software, and thanks to John Carmack releasing the
  software under the GPL, people are able to enjoy it on non-proprietary
  platforms.

  Does all this mean our game is important ?  No...  It's just fun ;>


  1.2.  About

  This document is not an exhaustive how-to of setting up any one Quake
  program, but a modern guide to GLQuake, a collection of the most
  useful tips, and a pointer to the best resources still available on
  the web - concentrating on the many engine re-writes and incredible
  add-ons which make quake such a great game.



  2.  General Info

  2.1.  Getting Started

  Installing Quake requires a few basic steps.

  Getting the game data files is normally done by installing the game
  using Microsoft Windows, or a Windows emulator such as Wine, and then
  copying the id1 directory of the installed game to your Linux Quake
  directory (making sure all files are in ``lowercase'').

  You can then install a ``game engine''  and execute this program to
  play Quake.

  For example, if you installed Jörgen's ``glquake'', typing from an
  xterm window glquake.glx -fullscreen -width 800 -height 600 will start
  the game at 800x600 resolution in fullscreen mode.

  This sounds simple, but if you are new to Linux and you are not
  familiar with the Linux command line try one of these links for more
  information:

  ·  Linuxgamers Quake howto <http://www.linux-
     gamers.net/modules/wfsection/article.php?articleid=42>

  ·  Quake wiki <http://wiki.quakesrc.org/index.php/HomePage>


  2.2.  Command Line Options


  Quake has a large number of command line options, some of which vary
  from engine to engine.  The most useful/common ones are:


     -window
        Run the game in windowed 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

     -sndspeed MHz
        Set sound sampling rate (eg. 44100, 22100, 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.

     -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

     -nomouse
        Disable pointer support

  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 glquake.glx +skill 2 +map e1m1.


  2.3.  Trouble Shooting


  Other trouble shooting resources can be found at: Jörgen's GLQuake
  Site <http://mfcn.ilo.de/glxquake>, the ``old version'' of this how-
  to, and Linux Gamers FAQ <http://www.icculus.org/lgfaq>


     Program dies at startup
        This is not good, but some simple options to try are:

        ·  - use -nosound   if sound is unconfigured.

        ·  - 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, visit
           <http://www.sourceforge.net/projects/filerenameutils>.

        "Memory overwrite in Sys_Printf"


        ·  This error means you need to edit file sys_linux.c, procedure
           Sys_Printf, at or near line 89, and change text[1024] to
           text[4096] and recompile.


     Program dies loading level

        ·  Many mods require extra memory. Use the -mem 49152 option to
           allocate 48M ram for the heapsize.


        ·  A few newer mods just won't work with standard GLQuake, and
           need an enhanced ``game engine'', though they will generally
           indicate this in their documentation.


        ·  In some cases, this problem can be sound related. Try some of
           the tips in the sound section.


     Sound problems
        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 killall
           esd to terminate two popular sound daemons.

        "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".
           Try artsdsp -m glquake.glx.

        ·  If you are using a Linux kernel 2.4 (or earlier) you may also
           be using the kernel sound modules rather than ALSA sound.
           Swapping your sound modules can be hard work, with good
           online documentation scarce, but start with a visit to the
           Alsa Homepage <http://www.alsa-project.org> and download the
           alsa drivers source code.

        Sound stutters or is not very good.

        ·  Try using the -sndspeed or -sndbits option(s).

        ·  You may also try using the ALSA sound modules as mentioned
           above.


     Mouse look
        "This game won't let me look around properly. %$!$@"


        ·  Bring down the 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 console, type _windowed_mouse 1

        ·  If you're using fluxbox, try another window manager.  Fluxbox
           has issues with some games in fullscreen mode.

        ·  If still without success, try the ``NPRQuake'' sdl client
           glquake.sdl which uses the SDL api.  Typing export
           SDL_VIDEO_X11_DGAMOUSE=0 before starting the game will
           disable hardware dga mouse.

        ·  ``FuhQuake'' and ``Darkplaces'' also have re-written mouse
           code.


     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 console, type gl_ztrick 0.


  2.4.  Hardware Acceleration


  Setting up hardware GL acceleration under Linux used to be a big deal,
  but modern distros should now handle this automatically. Of course
  there are exceptions..

  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 my experience these drivers are great, but not all
  versions work 100% with all cards. If you have a misbehaving Nvidia
  video card, try a different driver.

  While new versions of XFree and Xorg <http://www.x.org> 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.  Here
  <http://sourceforge.net/docman/display_doc.php?docid=28982&group_id=124987>
  is a detailed README on old 3dfx cards.


  2.5.  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. The
        most common cheat is impulse  9 which gives all weapons.

     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

     _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

     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


  2.6.  Miscellaneous



  ·  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.

  ·  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."



  3.  Game Engines

  The program you execute to run Quake is known as the game engine, and
  once you have the data files installed you will have to install one.
  Notable Quake game engines are:


  3.1.  GLQuake


  The first place for Linux noobs to go is Jörgen's no frills site. It
  is a basic version of OpenGL Quake for Linux, and has some relevant up
  to date documentation.  Fairly pain free by Linux standards, it looks
  and works great, and supports virtually all Quake mods.

  <http://mfcn.ilo.de/glxquake>


  3.2.  QuakeForge


  Is one of the best supported Linux Quake projects with many preferring
  it to GLQuake. It has a visually enhanced engine , numerous clients
  including ``QuakeWorld'', and also Quake C tools. If you want help,
  and/or something not covered on Jörgen's GLQuake site, try here.

  <http://www.quakeforge.net>
  <http://sourceforge.net/projects/quake/>


  3.3.  Darkplaces


  Darkplaces is an amazing Quake engine with a great range of visual
  enhancements and options for colour, effects and sound. It also
  supports many otherwise incompatible total conversions including the
  awesome ``Nehahra'' and improved support for the official mission
  packs.  Thank-you Havoc.

  <http://www.icculus.org/twilight/darkplaces>

  3.4.  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. ``QuakeForge'' have more than one
  software client, and there is also an old SDL Quake
  <http://www.libsdl.org/projects/quake/> hacked together by SDL's
  author, Sam Lantinga.

  3.5.  Other


  3.5.1.  NPRQuake

  Another Quake engine which has been ported to Linux but afaik hasn't
  been touched in a few years is NPRQuake
  <http://www.cs.wisc.edu/graphics/Gallery/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 code which may work on some systems where all else fails.



  3.5.2.  FuhQuake

  FuhQuake <http://www.fuhquake.net> "contains numerous gameplay and
  eyecandy enhancements over the original QuakeWorld game".
  With the focus on multiplayer, it is still actively maintained by Fuh.


  3.5.3.  Tenebrae

  A Quake engine using advanced lighting techniques similar to those in
  Doom III. Requires a very fast computer to run. Link
  <http://tenebrae.sourceforge.net/>


  3.5.4.  QuakeWorld

  An enhanced Quake engine for online and network multiplayer action. It
  is incorporated into ``QuakeForge''. See also ``FuhQuake''



  4.  Mods

  4.1.  Mods


  There are hundreds of user created levels - known variously as "mods",
  "total conversions" or simply "maps", all over the internet. When it
  comes to finding them though, many URLs are no longer valid, and it is
  easier to just google for a file name (perhaps adding "quake" as an
  extra search term) than to try and find the project's homepage - which
  is probably just dust in the ether now.

  To run new maps, place the bsp file into the Quake/id1/maps
  subdirectory, and then 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.  The mod is started by using the -game DIR command line
  option.

  For both maps and mods, all files should be in ``lowercase'' format.


  QuakeTerminus has a good list <http://www.quaketerminus.com/addon.htm>
  of mods, and Tenfour numerous map reviews
  <http://tenfourmaps.telefragged.com/php/revidx.php?gameid=q1&sortby=date&reversesort=1&page=1>.

  A few of my favourites are:


     Contract Revoked
        A modern mod which made my jaw drop, and has an equally
        impressive sequel, The Lost Chapters.
        <http://kell.spawnpoint.org/convoked.html>


     Zerstörer
        Dark and bloody, with Doom's paranoiac atmosphere. A classic -
        zerstorer.zip <http://www.google.com.au/search?q=zerstorer.zip>


     Nehahra
        Hugely impressive mod only supported in Linux by LordHavoc's
        ``Darkplaces'' engine.   <http://www.planetquake.com/nehahra>


     Neil Manke's mods
        Neil wrote the definitive Half-Life mod "They Hunger".  The
        quality and fun is in these maps too - alba01.zip, alba02.zip,
        sofsp1.zip, sofsp2.zip, starshp2.zip
        <http://www.planethalflife.com/manke/>


     Operation: Urth Majik
        Incredible production values and one of my favourites - oum.zip
        <http://disenchant.net/files/maps/oum.zip>
        Fat Controller's Oum page
        <http://www.planetquake.com/fatty/oum/>


     The Coagula Contest 2
        Coagula
        <http://www.planetquake.com/underworld/quakerev030814.html> is a
        six level compendium of maps originating from a contest.  The
        novelty is that all maps are floating in the ether, and it's a
        great set.
     Fantasy Quake
        The first level is tough. The game has some beautiful levels but
        plenty of raw edges - fantasy.zip
        <http://www.google.com.au/search?q=fantasy.zip>


     Blood Mage
        ... is another medieval themed mod with great monsters and
        music. It's a little dated now, and the numerous spells can be
        overwhelming - bmfull.zip
        <http://www.google.com.au/search?q=bmfull.zip>


     Scourge done Slick
        SdS is a speed run through Mission Pack 1, Scourge of Armagon.
        Hilarious and amazing.
        <http://www.planetquake.com/QdQ/sds.html>


     Insomnia
        Cracking game-play and rivers of blood - czg07.zip
        <http://www.google.com.au/search?q=czg07.zip>


     Gib Factory
        Fun with very innovative models, Ikka's plasma gun and the Doom
        cyberdemon - gibfact.zip
        <http://www.google.com.au/search?q=gibfact.zip>


     Vigil, Museum
        Little mods with great game-play!  vigil.zip
        <http://www.google.com.au/search?q=vigil.zip>, museum.zip
        <http://www.google.com.au/search?q=museum.zip>


     Navy Seals
        Great models and quite innovative - navy3.zip
        <http://www.google.com.au/search?q=navy3.zip>



  4.2.  Commercial Mods



     Mission Pack 1
        Scourge of Armagon by Ritual Entertainment (formerly known as
        Hipnotic Interactive).


     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 (make
        believe) machine gun I've ever unleashed.  Worth paying for.


     Abyss of Pandemonium
        Commercial mod now freely available:
        <http://www.planetquake.com/impel>
     Ravages of Apocalypse
        Xmen mod! Great Models. Shame about the game-play.  ...When good
        mods turn bad.


     Shrak
        One of the first commercial mods with nice monsters, but the
        game-play doesn't cut it anymore.



  4.3.  Hexen II - Hammer of Thyrion


  Well, can Quake get any better ? We humbly think so - Hexen II.

  Raven software made this colourful adaption of the Quake engine, but
  the game was released with many rough edges. ...So beautiful, yet so
  cruel.  And while it is not as widely distributed as Quake, the demo
  includes some of the games best levels and is available from the
  Sourceforge web site.  Ozkan Sezer has plundered the open source world
  and added his own touches to bring Dan Olson's original Hexen II port
  screaming into the antarctic sunshine!

  <http://uhexen2.sourceforge.net>


  4.4.  Mapping tools


  Another first for Quake was the implementation of it's own game
  language - Quake C.  This lets mods work seamlessly on any operating
  system.

  It is possible to install many of the editors which are used to make
  Quake maps, but creating full scale mods is real voodoo and beyond my
  knowledge.  The only currently maintained world editor I know of is
  GtkRadiant <http://www.qeradiant.com/>.

  ``QuakeForge'' include Quake C tools with their tarball, and the Quake
  Wiki <http://wiki.quakesrc.org/index.php/HomePage> has some relevant
  links for the windows platforms.



  5.  Other

  5.1.  Text Version

  This how-to is also available as a text file <Quake-HOWTO.txt>.


  5.2.  Old Quake How-To

  ... is located here <old/Quake-HOWTO.html>


  5.3.  Quake II

  The sci-fi themed sequel that won many fans, but hasn't endured like
  the original game.

  ``QuakeForge'''s latest release is here
  <http://www.quakeforge.net/files/quake2forge/quake2-0.3.tar.gz>, and
  other related projects are Icculus Quake II
  <http://www.icculus.org/quake2/> and 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>
  packages.


  5.4.  Quake III

  ID software didn't stop at two. The third Quake installment was a
  landmark multiplayer game, with some of the most beautiful and well
  balanced fragging ever. It was one of the first games to receive a
  full Linux commercial release.

  Linuxgamers host a Quake III Howto <http://www.linux-
  gamers.net/modules/wfsection/article.php?articleid=30>.


  5.5.  FreeBSD

  The author has limited experience with this OS.  ``GLQuake'',
  ``Darkplaces'' and ``Hammer of Thyrion'' are known to work well.


  5.6.  Links



     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 Wikipedia
        <http://wiki.quakesrc.org/index.php/HomePage>

     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 graphics toolkit
        <http://www.libsdl.org/>

     Lowercase utility
        <http://www.sourceforge.net/projects/filerenameutils>

     Message Board from hell ...no, I mean it
        <http://www.celephais.net/board/forum.php>


  5.7.  Glossary



     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.


     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.


     Server
        A program central to multiplayer games to which every player
        connects.


     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.


     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 just .tgz.


  5.8.  Todo


  ati hardware, demo, Quakeworld status, gl_picmip cvars, impulses,
  _windowed_mouse ?


  5.9.  Author


  Steven A.


  Sourceforge user page. <http://sourceforge.net/users/stevenaaus>

  Email <mailto:stevenaaus (at) yahoo (dot) com>