Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Difference between revisions of "Engines"

From Quake Wiki

(QUAKE.EXE: added detail about DOSBox compatibility)
(GLQuake: whoops, GLQuake is Windows only)
Line 32: Line 32:
 
GLQuake has one big usability problem: The game's built-in brightness/gamma setting doesn't do anything, and the visuals tend to be way too dark unless you first run a program to increase your display adapter's gamma setting (which then makes everything else appear too bright). This isn't a showstopper, but it can be inconvenient. Also, the video mode can only be changed at the command line, not in-game.
 
GLQuake has one big usability problem: The game's built-in brightness/gamma setting doesn't do anything, and the visuals tend to be way too dark unless you first run a program to increase your display adapter's gamma setting (which then makes everything else appear too bright). This isn't a showstopper, but it can be inconvenient. Also, the video mode can only be changed at the command line, not in-game.
  
GLQuake is official, but is not supported by id Software. It runs on DOS, any version of Windows, or Linux. It is said to require the 'registered' Quake (that is, with ID1\pak1.pak present), but it will actually run on the shareware version, possibly with quirky startup behavior.
+
GLQuake is official, but is not supported by id Software. It runs any version of Windows (Win95 and up), or Linux. It is said to require the 'registered' Quake (that is, with ID1\pak1.pak present), but it will actually run on the shareware version, possibly with quirky startup behavior.
  
 
Official distributions:
 
Official distributions:

Revision as of 07:36, 6 July 2009

The game engine is the program you run to actually play Quake. It loads the game's maps/models/skins/etc., figures out what to draw on the screen, responds to your keyboard/mouse input, sends sounds to your sound device, and communicates over the network.

Wikipedia has a Quake engine article containing technical info about Quake engines, and nice diagrams showing all the engines and how they're related.

Official engines

Instead of messing with these engines, most new Quake users, unless running on very old hardware (pre-1997), should probably start with one of the unofficial engines.

QUAKE.EXE

The first official engine is QUAKE.EXE, sometimes informally referred to as DOS Quake. It is found on the official Quake CD-ROM (for the PC) and in the official shareware distribution. If your computer was built after 1997, you probably have no need for QUAKE.EXE.

This engine only runs under MS-DOS, because it expects to have direct access to your computer's hardware, which is something modern operating systems like Windows and Linux don't allow. So, to run the official engine, your computer must boot from the Quake CD, or you must boot into DOS or one of the DOS-based versions of Windows (Windows 95/98/Me) and then run QUAKE.EXE from the command line. The DOS-like command console in Windows NT/2000/XP/2003/Vista won't work for this, even in Win95 compatibility mode. QUAKE.EXE is able to run within DOSBox, the free emulator which runs on pretty much any OS, but its performance there is much worse than running in actual DOS, so much worse that it may be unplayable at all but the lowest resolutions, even on relatively fast, modern systems.

QUAKE.EXE provides software-based graphics rendering only; the graphics hardware will not provide accelerated rendering (using its own CPU), or any texture or lighting features. It's all done in the software. It's still fast, but slows down noticeably at higher resolutions and when there's a lot of action.

This engine's multiplayer networking capabilities are limited to serial cable (direct), modem-to-modem (direct), or on a LAN via TCP/IP or IPX (Novell NetWare protocol). LAN play is highly affected by ping & latency between the clients and server. This was greatly improved in the QuakeWorld engine.

Official distributions:

  • v1.06 of QUAKE.EXE (Oct. 1996) is contained in a quake106.zip, which contains an installer script which needs to be run in order to unpack all the files. This zip contains the full shareware distribution of Quake; it includes documentation and all the Episode 1 files (ID1\pak0.pak), not just the engine.
  • v1.08 of QUAKE.EXE (Oct. 1997) fixes some minor bugs in 1.06, and is in quake108.zip. This zip contains the updated QUAKE.EXE engine only.

WinQuake

id Software released a replacement for QUAKE.EXE called WinQuake (WINQUAKE.EXE). Instead of being for DOS, it is for any version of Windows (95/98/Me/NT/XP/2003/Vista). It's the first, most basic and most widely compatible Quake engine for Windows.

WinQuake accesses your computer's hardware through Windows APIs. It includes support for DirectX 3.0 and up, and VESA VBE video modes, if available. It looks and runs just like the DOS engine but has more video modes which you can access via the Options menu in the game. It also lets you choose between running full-screen or in a window. It removes support for serial and modem-to-modem networking.

Official distribution:

  • v1.00 of WinQuake (Quake 1.09; March 1997) is contained, along with support files, in wq100.zip.

GLQuake

One of Quake's original developers created GLQuake, which provides hardware-accelerated graphics using OpenGL APIs. It's known to be buggy.

GLQuake has one big usability problem: The game's built-in brightness/gamma setting doesn't do anything, and the visuals tend to be way too dark unless you first run a program to increase your display adapter's gamma setting (which then makes everything else appear too bright). This isn't a showstopper, but it can be inconvenient. Also, the video mode can only be changed at the command line, not in-game.

GLQuake is official, but is not supported by id Software. It runs any version of Windows (Win95 and up), or Linux. It is said to require the 'registered' Quake (that is, with ID1\pak1.pak present), but it will actually run on the shareware version, possibly with quirky startup behavior.

Official distributions:

  • v0.97 of GLQuake (Quake 1.09; November 1997) is in glq1114.exe. This is an installer app for DOS or Windows. It will prompt you whether to install a 3dfx driver; don't do this unless you want the engine to be dependent on having a 3dfx-based graphics card's Glide drivers already installed.

Mac OS engines

  • Quake for Mac is the official port of GLQuake 0.97 / Quake 1.09 for the classic Mac OS (not OS X). It was released on CD-ROM in 1997 by MacSoft, now owned by Atari. For multiplayer play, it supports TCP/IP or IPX via AppleTalk or Ethernet. It is commercial software, not free.
  • Quake 1.1 is an unofficial port of both the OpenGL and original software renderer versions of both Quake and QuakeWorld for Mac OS X. It is available for free from the developers, Fruitz of Dojo: http://www.fruitz-of-dojo.de/php/download.php4?dlnr=2

Unix engines

Quake ports exist for various Unix-like operating systems, such as those based on the GNU/Linux kernel. If you need one of these, check with your particular OS's software package or port archives; chances are, someone has already made it easy for you to install and at least run a port of the basic Quake engine, if not an OpenGL one.

There were a few official, unsupported distributions released around the same time as GLQuake in late 1997:

You probably don't want any of these old distributions; your OS's current package or port archive is the place to look for something that will work with a modern system.

Unofficial engines

Other engine mods are made by customizing the original id Quake source code. Nearly all of them are based on GLQuake. There quite a few and each one has there different features, fixes, additions, and changes to the original source. Some require very little to do on your part to make them work with Quake. Some of them may not work with your hardware, even if your hardware is very new.

TODO: This section will help people step by step to get, install, and run these Quake engine replacements.

Unofficial engine list