Quake Wiki
Quake Wiki

This article appeared in Quake   This article appeared in real life  

GLQuake is a source port of Quake that uses the OpenGL graphics library, and was released on January 22, 1997. It was officially made by Id Software, but is not supported by them. It was created as a test for Quake 2's hardware support. With the edits made to the game, they carefully corrected many of the issues found in the original DOS version, which was known to have some framerate stuttering, albeit not to the point that would make the game unplayable. GLQuake is responsible for almost every unofficial modern source port.

The game's version number under GLQuake is shown as 1.09, whereas the port's latest internal version number is 0.97 (0.98 was stopped in the Alpha stage). Unofficial versions have been released ever since to add new features such as fog as well as fix glitches to the original game.

Though slightly older than WinQuake and the first source port created, it is the only official rendition of Quake that is fully hardware accelerated. Using that specialized hardware and OpenGL, GLQuake allows for many processes to be faster. For modern users this engine is also more stable than WinQuake, which often has color problems until the screen is flashed (either manually or by picking up Ammo or a Powerup), and the vanilla engine which requires a DOS-based emulator such as DOSBox.

This source port, unlike WinQuake, doesn't focus on preserving the original look of the game and instead tries to improve upon the graphics of the vanilla game. Some of the changes; such as transparent water, reflective surfaces (the most buggy, this often causes sound problems), and shadows (can be unstable at times), were in the testing stage when the final version was released. This means that some of the graphical improvements require the user to manually activate them. This source port also allows for 32 bit color and resolutions up to a maximum of 2560x1440, though unlike WinQuake they cannot be changed in-game and thus must be added on the shortcut's target line.

Some changes to the graphics are rather controversial and cause some players to have a preference for the software-based engines such as the vanilla game and WinQuake. GLQuake, by default, eliminates pixels from the textures but also causes those textures to appear less detailed. There is a group of commands to make the textures pixelated or have the pixels removed, this choice often comes down to personal preference. On the other hand, GLQuake does not have a command to restore various lighting features. GlQuake treats all textures with the same brightness and thus causes many lights to appear bland to some.

Changes to Vanilla Quake

  • Transparent Water
  • Enhanced ball of lights around torches, Rockets, and other lighted objects to increase lighting.
  • Lack of fullbright, lighting situation determines brightness of objects.
  • Doesn't use colormap for lighting, all colors are equal, hence the coloured lighting is even more subtle than in the original DOS version.
  • Harder to design levels with good brightness, as fullbright must be hard-coded into map.
  • No overbright lighting, lightmaps only go up to 100%, bright areas look flat.
  • Textures not in power of two get re-scaled.
  • Reflective on stained glass texture.
  • Dynamic shadows. As this was rather unsupported by the final official version, shadows get applied to particles (such as in the image comparison above).
  • Dynamic lighting disabled by default, Certain mods may become much harder if using the orange balls of GLQuake.
  • Glitch where Runes can sometimes disappear has been fixed.
  • Field of view support has been increased. Anything over a FOV of 90 in the vanilla game would result in the Weapons no longer being drawn. Now the image of the Weapon is allowed to pass the bottom of the HUD, meaning the FOV can now extend up to a value of 170.
  • Added command "GL_Texturemode" - Allows for texture filtering to be changed. The value "GL_Nearest" turns off interpolation to behave more like the software mode, while "GL_Linear" adds interpolation to smooth pixels (this is the default mode). While both are the base values, the value could be extended with "_Mipmap", such as for example "GL_Linear_Mipmap" and then with a value for said Mipmap placed at the end of "_Mipmap"; this will either be "_Nearest" or "_Linear". "_Nearest" adds a bit more detail to far away objects ("GL_Nearest_Mipmap_Nearest" would be the value closest to Software mode). "_Linear" adds a bit more quality to far away objects and on "_Linear" will also add trilinear instead of bilinear interpolation ("GL_Linear_Mipmap_Linear" is therefore the best value for smoothing on modern hardware).
  • Support for mouse wheel bindings.
  • Requires more memory, 24 MB instead of 16 MB.
  • Better frame rates.
  • Support for 32 bit color depth. Many resolutions now come in a 16 bit color mode and 32 bit color mode. 16 color bit mode is not supported at resolutions larger than 1280x800.
  • Support for windowed video modes.
  • Support for different resolutions. GLQuake does not support resolutions below 640x480, while the original game's smallest resolution was 320x200. A majority of the resolutions for the vanilla game were below 640x480. 720x480, 720x576, 1280x720, 1280x768, 1280x800, and 1280x960 are resolutions that were not in the vanilla game. New resolutions were added past the maximum resolution of 1280x1024: 1360x768, 1366x768, 1600x900, 1600x1024, 1600x1200, 1680x1050, 1920x1080, 1920x1200, 1920x1440, and 2560x1440.
  • Video modes that control the resolutions and color depth can only be controlled from the command/target line of a shortcut. They can no longer be changed in-game. This means there is also no test mode, nor can the player set the default by hitting the letter "D".
  • Exit screen converted to exit message, overwriting original exit message, while also cutting the top message of the exit screen so that it is just a list of id Software's team members.
  • If something doesn't work, it is just ignored and can only be seen in the Console. In the original mode a popup would come up requiring user input.
  • Quake screenshots save in .tga format instead of .pcx. Though .pcx files were once highly supported, the aforementioned file type has since been superseded by other file types while .tga files have remained popular among higher-end image editors. This means that it is more likely for .tga files to be supported by modern software.

Compatibility with Modern Systems

GLQuake should generally run without any notable problems on a modern system. It is recommended to run the program in Administrator mode, to avoid any potential issues.

Version History

0.97 Changes (Final Official patch)

  • Fixes sprite bugs
  • Independant console sizing from game resolution
  • Support for SGI Multitexture for high end cards.

0.98 Changes (Final Official Alpha patch)

  • Field of View support

1.13a Changes

  • Bump mapping support
  • Slipgates are mirrored brushes
  • Smoother model animation
  • ARB Multitexture
  • Bug fixed shadows
  • OpenGL fog
  • Distance attenuated flares on torches
  • Console variables for controlling new features
  • Options menu has been revised
  • Increased particle density
  • Various fixes to the original source code
  • MSV6 Project Files
  • Revised source directory