Quake 1 Review: id Software, 1996

Part of History of 1990s Computer Games.

Quake 1: A Nightmarish 3D Game



Developed by id Software in 1996, Quake is a first-person shooter (FPS) notable for its high-impact gameplay powered by a fully real-time 3D rendering engine.

Quake's engine pushes around several thousand Gouraud-shaded polygons while maintaining 40 FPS at 640x480 resolution on Pentium 100s with 16 megs of RAM -- insane.

Quake is the follow-up to id Software's Killer App, Doom (1993), but Quake's evolution on Doom is not merely incremental. Indeed, Quake is revolutionary in that Doom is far outstripped by Quake in terms of gameplay, graphics-coding and atmosphere, yet Quake's immediate successors and imitators were unable to separate themselves from Quake by as wide a margin. [1]


Quake is historically significant in the spheres of gameplay, graphics-coding and atmosphere. Let's take a quick look at the best of 1996:


Quake contends.

The core of Quake's engine was employed in Half-Life 1 (1998). And Half-Life's Team Fortress and Counter-Strike have their origin in Quake mods. Thus, massive influence.

Since Quake builds on Doom (majorly), this review of Quake adopts a largely comparative format.

This review is based on the original version of Quake (v.1.06-1.08, 1996) run from MS-DOS. Thus, the graphics are software-rendered rather than hardware-accelerated via OpenGL (GLQuake 1.09 by id Software, 1997). 1.06-1.08 Quake was chosen due to its visual authenticity: hardware-accelerated source ports do not maintain classic Quake aesthetics. [2]

All in-game screencaps are taken from the software-rendered 1.06-1.08 versions of Quake. In the below screencap, I spliced in 1.09 credits because 1.06 does not show in-game credits.

Quake 1 Engine



First and foremost is that Quake's engine is fully 3D whereas Doom's engine was 2.5D.

Doom did not support up/down looks whereas Quake supports keyboard up/down looks as well as mouselook via +mlook; that is, free-look. Quake players can fire upwards at monsters positioned above and monsters can fire downwards on players positioned below. Doom featured a degree of gameplay verticality through clever coding tricks, but Doom players could not aim their weapons upwards or downwards. Doom players simply aimed in the horizontal direction regardless of target elevation, but Quake players must aim vertically as well, not just horizontally.

In addition, Doom's monsters were 2D sprite-scaled (chunky and clay-like) whereas Quake's monsters are Gouraud-shaded 3D polygonal models (blocky but more life-like). In basic terms Gouraud shading is one step down from Phong shading which is one step down from ray-tracing (CGI-level rendering).

Quake monsters have proper walk-cycles as well as attack, stance and hit-recovery animations. Knights are actually seen swinging their swords, the blood spattering on their armor.


Quake levels have much higher polygon-counts than Doom levels. And Quake features sloping floors and ceilings, which Doom does not. In essence, the increase in geometric complexity results in more intricate environments, which in turn leads to more interesting exploration and tactical battles. More wall, floor and ceiling surfaces means greater density of rooms and halls, which when seamlessly linked together results in military complexes and medieval fortifications that are as towering as they are sprawling.


Suffice it to say that Quake is optimized for polygonal walls, ceilings and floors. It is mostly about rooms and halls. And it can shift about dozens of 500-polygon, vertex-animated monster models within such interiors, CPU-permitting.

The Quake engine is optimized for the urban sprawl, the dungeon and the denizens, not wilderness, vegetation or terrain. Quake is about huge and complex structures jam-packed with raging monsters.


Quake employs lightmap grids and (moveable) 3D lightsources that affect surfaces (dynamic lighting) whereas Doom employs static, sector-based lighting that affects the entire screen. Therefore, Quake has more control over its lighting. For example, Quake rockets fired down dark passageways light up those passageways as they go, exploding at the end in a flash of light. Likewise, a monster holed up in a cave may be shrouded in darkness until it fires its weapon (muzzleflash).

Over Doom, every textured surface in Quake (flesh, grass, stone, wood and metal) benefits from an increase in texture-mapping variety, resolution and color range (32x32, 64x64 or 128x128 256-color textures).


Polygons are textured not by one large texture but rather by small duplicate texture-tiles, thereby increasing performance.

Quake wall-edges are beveled to make them appear more solid. And wall textures give the illusion of bolted-on reinforcement panels as well. The walls are flecked with indentations and other intricacies. Coupled with the well-chosen color schemes, the aesthetics impress.

Polygonal models do not cast shadows on surfaces in software-rendered Quake, but 3D objects in GLQuake (1997) can be set to cast shadows dynamically via r_shadows 1.

It is puzzling that fired projectiles do not leave dents or scorch-marks on wall, ceiling or floor surfaces, since Quake's engine is more than capable of procedural texture-mapping.

Quake employs a gravity-physics model that Doom entirely lacks. Players standing on slopes will begin to slide down the slope, for example. Also, grenades and gibs bounce along the floor and off walls; some projectiles even ricochet off walls.


Doom was coded to run in 320x200 only whereas Quake supports non-standard square-pixel VGA 320x240 up to square-pixel SVGA at 1280x1024 (SXGA). In Quake, 320x240 resolution does not have enough pixels to display all polygonal and textured detail.

On the other hand, there are diminishing returns in going higher than 800x600 due to fixed polygon counts and bitmap dimensions. On 17" Trinitron CRTs Quake looked gloriously sharp at 1280x1024 (though its monster-model textures were somewhat low-res in general).

320x240 vs. 1024x768 (upscaled for viewability):


The above-enumerated engine advancements were made possible by advances in hardware engineering; primarily, Intel CPUs.

  • Doom ran well on i486DX-33 CPUs (11 MIPS) and 4 MB RAM
  • Quake runs well on Pentium 100 MHz CPUs (190 MIPS) and 16 MB RAM

Needless to say, that represents a huge difference in raw processing power over a period of just three years. And Quake sought to push that power to its limits.

Quake will not run on cost-cutter or budget CPUs that lack math coprocessors, aka floating-point units (FPUs). The earliest MS-DOS game I know of that utilized to great effect math co-processors is Falcon 3.0 (1991).

Identified via d_mipcap, Quake's explosion-cores and torch flames are actually 2D, not 3D, but visible projectiles, molten balls and gibs are 3D objects impacted by Quake's gravity. And lootable items are 3D objects as well, rotating on their axes. In addition, blood splatter, arcing tracer effects and rocket smoke-trails are 3D particle effects.

2D explosion core + 3D particle effect:


The ambient soundscape is denser in Quake than it was in Doom. Torches can be heard burning, terminals beeping and pools of liquid bubbling. The 10-track CD soundtrack is also good.

However, sound effects are not muted or reduced in volume by the existence of walls, which means that monsters in adjacent, sealed-off chambers that would otherwise be in the player's presence if not for the walls, can be heard as loudly and as clearly as if they were actually in the player's presence, which can occasionally cause unnecessary alarm.

Quake 1 Gameplay



At bottom, Quake gameplay is the same as Doom gameplay: collect keys, hit switches, kill monsters, collect power-ups and make your way to the exit.
  
But Quake controls are more advanced due to up/down aiming support, the benefits of which are obvious. But up/down looks also make gameplay more explorative as well in that players are moving about in worldspaces that are as vertical as they are horizontal.


Quake increases maneuverability over Doom via jumping (bunny-hopping to avoid friction), strafe-jumping, circle strafing, strafe-running, wall-hugging, zig-zagging (30% speed increase), slope-jumping and even rocket-jumping capability. In-air movement and swimming are also possible. You could not jump at all in Doom.

Just the ability to jump adds a lot. And it is good that Quake didn't get carried away and turn itself into a 3D platform game.

Incurring damage shoves players backwards and sends them into hit recovery via v_kicktime, kickpitch and kickroll. As well, a sideways tilt is employed when strafing via cl_rollangle.

Auto-aim can be toggled or tailored via sv_aim. The crosshair display and bobbing motion can also be toggled (crosshair / cl_bob).

Quake employs lifts for vertical exploration like Doom, but Quake adds horizontally moving platforms as well as portals that teleport players around levels, which allows for telefragging.


Switches are activated by shooting them or moving into them. And doors open when moving into them. But in Doom switches and doors were activated via use, bound to a key. Quake's +use is not implemented in-game. Quake also employs pressure-plates and sliding wall-blocks as switches, which can activate levitating blocks of rock and raise or lower gigantic stone pillars. Descending lifts can even crush monsters below.

Quake hazards include water, slime and lava. When underwater a distortion effect is applied to the viewport (r_waterwarp), hindering vision. On-hit viewport tints are applied as well.


Quake combat is much more high-impact than Doom combat, which is fast and light in comparison. Quake combat has a lot more friction and intensity; every aspect of battle has more weight and energy behind it.

The name for the game is apt in that Quake battles do indeed evoke earthquakes.

Some monsters switch between weapons to attack in melee or from range, depending on player proximity. For example, ogres wield chain saws in melee but lob grenades from range. And some monsters can hover in the air and leap forward. Unlike in Doom, a few monsters are coded to follow pre-set paths in patrol mode as well, breaking from that path when they catch sight of players. However, not many advanced monster behaviors are employed.


Of note are the zombies. Unless gibbed by extreme damage they just go prone and regenerate after an interval. And while prone zombies are invincible. That means players need to employ the Quad Damage power-up or explosive weapons such as grenade or rocket launchers on zombies.

Triggered by friendly fire, monster infighting is carried over from Doom. As are explosive containers. Since the odds are stacked against the player, it is important to take advantage of both.

Quake's status panel switches between stats and info via the Tab-key (status bar / score bar). 

Comparison of Quake and Doom status panels:


Quake 1 Conclusion


Only three years separates Doom and Quake. But graphically it could be mistaken for a life-time.

In terms of atmosphere, immersion, gameplay and graphics, Quake is indisputably god-tier. Relative to available tech and considering the yawning gulf between Quake and its predecessors and contemporaries, there is no doubt in my mind that Quake is the greatest FPS ever made.

Happy Quakeing!

-- and don't forget to read the footnotes as well as GLQuake and Criticism sections posted at the end of this review.


Quake 1 PAK


Most of Quake's assets are stored in two uncompressed *.pak files, which are similar to Doom *.wads. The pak files contain compiled 3D maps (Binary Space Partitioning files), models, textures and sounds.

Quake 1 Console


The Quake console is called up with the tilde key (~). Console display speed can be increased via scr_conspeed. As with the DOS prompt, up-arrow recalls the previous command.

Example of usage: To enable mouselook one simply types +mlook and then hits the Enter key.

Quake 1 autoexec.cfg


An autoexec.cfg file can be created in the ID1 folder. The most common use of the file is to activate mouselook (+mlook) and bind WASD movement keys on Quake start-up. Comment-out text with //.

For example:

Quake 1 WASD movement keys


//WASD
bind w +forward
bind s +back
bind a +moveleft
bind d +moveright
bind space +jump

Quake 1 Savegames


Savegames are stored in *.sav files in the ID1 folder. Including the Quicksave slot the savegame register supports 13 separate savegame slots. Current and total possible kills are displayed in the savegame register.

Quake 1 Campaign


The Quake campaign consists of four episodes each containing seven or eight missions aka levels. Format is Episode / Mission / Name of Mission.

Quake's missions mostly take place in military complexes or medieval fortifications. At the end of each episode is an intermission, updating the "plot," such as it is.

Nightmare-mode killcounts are shown in parentheses.

Dimension of the Doomed


The mystical past comes alive...

  • E1M1: The Slipgate Complex (42)
  • E1M2: Castle of the Damned (42)
  • E1M3: The Necropolis (65)
  • E1M4: The Grisly Grotto (59)
  • E1M5: Gloom Keep (60)
  • E1M6: The Door to Chthon (31)
  • E1M7: The House of Chthon (21)
  • E1M8: Ziggurat Vertigo (34)

Realm of Black Magic


Ancient castles and strange beasts ahead...

  • E2M1: The Installation (46)
  • E2M2: Ogre Citadel (48)
  • E2M3: Crypt of Decay (54)
  • E2M4: The Ebon Fortress (78)
  • E2M5: The Wizard's Manse (61)
  • E2M6: The Dismal Oubliette (85)
  • E2M7: Underearth (78)

Netherworld


Primal fear in a strange dimension...

  • E3M1: Termination Central (67)
  • E3M2: The Vaults of Zin (47)
  • E3M3: The Tomb of Terror (47)
  • E3M4: Satan's Dark Delight (47)
  • E3M5: Wind Tunnels (50)
  • E3M6: Chambers of Torment (73)
  • E3M7: The Haunted Halls (42)

The Elder World


Your worst nightmares come true...

  • E4M1: The Sewage System (56)
  • E4M2: The Tower of Despair (43)
  • E4M3: The Elder God Shrine (105)
  • E4M4: The Palace of Hate (87)
  • E4M5: Hell's Atrium (98)
  • E4M6: The Pain Maze (84)
  • E4M7: Azure Agony (88)
  • E4M8: The Nameless City (88)
  • Shub-Niggurath's Pit

Quake 1 Deathmatch Levels: Deathmatch Arena


  • DM1: Place of Two Deaths
  • DM2: Claustrophobopolis
  • DM3: The Abandoned Base
  • DM4: The Bad Place
  • DM5: The Cistern
  • DM6: The Dark Zone

cf. [3]

Scourge of Armagon (Quake Mission Pack No. 1)



Developed by Hipnotic Software in 1997, the Scourge of Armagon mission pack consists of three episodes broken up into 15 levels.

Hard-mode killcounts are shown in parentheses.

Episode 1: Fortress of the Dead


  • The Pumping Station (69)
  • Storage Facility (79)
  • The Lost Mine (81)
  • Research Facility (86)

Episode 2: Dominion of Darkness


  • Ancient Realms (63)
  • The Gremlin's Domain (99)
  • The Black Cathedral (105)
  • The Catacombs (123)
  • The Crypt (72)
  • Mortum's Keep (95)

Episode 3: The Rift


  • Tur Torment (87)
  • Pandemonium (69)
  • Limbo (71)
  • The Gauntlet (90)
  • Armagon's Lair (Armagon) (1)

Dissolution of Eternity (Quake Mission Pack No. 2)



Developed by Rogue Software in 1997, the Dissolution of Eternity mission pack consists of two episodes broken up into 15 levels.

Hard-mode killcounts are shown in parentheses.

Episode 1: Hell's Fortress


  • Deviant's Domain (51)
  • Dread Portal (60)
  • Judgement Call (93)
  • Cave of Death (114)
  • Towers of Wrath (98)
  • Temple of Pain (86)
  • Tomb of the Overlord (The Overlord) (109)

Episode 2: The Corridors of Time


  • Tempus Fugit (100)
  • Elemental Fury I (57)
  • Elemental Fury II (84)
  • Curse of Osirus (149)
  • Wizard's Keep (113)
  • Blood Sacrifice (76)
  • Last Bastion (127)
  • Source of Evil (Temporal Converter aka Temporal Teleporter) (1)

Quake 1 Weapons



  • Axe
  • Chainsaw (Ogres only)
  • Shotgun
  • Double-Barreled Shotgun
  • Nailgun
  • Super Nailgun
  • Grenade Launcher
  • Rocket Launcher
  • Thunderbolt (Quake's BFG)
  • Mjolnir, Thor's War Hammer (Scourge of Armagon)
  • Laser Cannon (Scourge of Armagon)
  • Proximity Mine Launcher (Scourge of Armagon)

Quake 1 Ammo


  • Shells
  • Flechettes
  • Grenades
  • Energy Cells
  • Lava Nails (Dissolution of Eternity)
  • Multi Grenades (Dissolution of Eternity)
  • Multi Rockets (Dissolution of Eternity)
  • Plasma Cells (Dissolution of Eternity)

Quake 1 Items


  • Health
  • Ammo Box
  • Megahealth
  • Quad Damage
  • Biosuit
  • Pentagram of Protection
  • Ring of Shadows
  • Green Armor
  • Yellow Armor
  • Red Armor
  • Horn of Conjuring (Scourge of Armagon)
  • Empathy Shield (Scourge of Armagon)
  • Wet Suit (Scourge of Armagon)
  • Anti-Grav Belt (Dissolution of Eternity)
  • Power Shield (Dissolution of Eternity)

Quake 1 Monsters



  • Chthon
  • Death Knight
  • Enforcer
  • Fiend
  • Grunt
  • Knight
  • Ogre
  • Rotfish
  • Rottweiler
  • Scrag
  • Shambler
  • Shub-Niggurath
  • Spawn
  • Vore
  • Zombie
  • Armagon (Scourge of Armagon)
  • Centroid (Scourge of Armagon)
  • Gremlin (Scourge of Armagon)
  • Electric Eel (Dissolution of Eternity)
  • The Guardians (Dissolution of Eternity)
  • Hell Spawn (Dissolution of Eternity)
  • Lavaman (Dissolution of Eternity)
  • Multi-Grenade Ogre (Dissolution of Eternity)
  • The Overlord (Dissolution of Eternity)
  • Phanton Swordsman (Dissolution of Eternity)
  • Statue (Dissolution of Eternity)
  • The Dragon (Dissolution of Eternity)
  • Wrath (Dissolution of Eternity)

Quake 1 Environmental Hazards



Some hazards can be wall-, floor- or ceiling- mounted.
 
  • Water
  • Lava
  • Radioactive Containers
  • Slime
  • Spike Shooter
  • Teleporters (in-level portals)
  • Traps
  • Laser
  • Lightning Rod
  • Exploding Walls (Scourge of Armagon)
  • Fall-away Floors (Scourge of Armagon)
  • Falling Rocks (Scourge of Armagon)
  • Lightning Traps (Scourge of Armagon)
  • Spike Mines (Scourge of Armagon)
  • Pendulum (Dissolution of Eternity)
  • Lightning Shooter (Dissolution of Eternity)
  • Lava Nail Shooter (Dissolution of Eternity)
  • Buzz Saw (Dissolution of Eternity)
  • Earthquake (Dissolution of Eternity)

Quake 1 Difficulty Levels



Quake 1 difficulty levels modify the number of monsters, monster rate of attack, itemization and damage incurred. The Nightmare difficulty portal is hidden in the Episode 4 passageway of the Introduction.

  • Easy
  • Medium
  • Hard
  • Nightmare

Quake 1 Criticism


My criticisms of Quake mostly pertain to campaign presentation. While its 3D rendering engine and gameplay are top-notch, Quake's campaign presentation is lacking compared to Doom's.

  • Doom had an iconic titlescreen, Quake has a menu screen and a logo.
  • Doom had episode maps, Quake doesn't.
  • Doom had end-of-episode artwork, Quake doesn't.
  • Doom had an in-game wireframe auto-map, Quake doesn't. But Quake's multi-storeyed levels could barely be mapped anyway. Instead, Quake provides text-based hints layered over the viewport.
  • I dislike how difficulty and episodes are selected in Quake (by physically entering portals). Doom's menus are much quicker to navigate.
  • The Quake final boss is anti-climactic in terms of how it is vanquished (telefragged).
  • Lack of surface-based footstep sounds.
  • Monster-model animations and movements are not interpolated for smoothness

When one plays Quake in retrospect, one cannot help but think that more of the engine's capability could have been harnessed via designwork. And no, I'm not talking role-playing aspects, cinematization or even the storyline, I'm talking about core gameplay: puzzles, environmental hazards and combat encounter design. Algorithmic-level object destructibility and locational damage would have been welcome as well, but one should bear in mind that Quake came out 27 years ago (as of 2023), and that Quake was developed by a small team during genre infancy.

[1]

Quake's immediate successors and imitators only incrementally advanced the FPS genre by evolving physics, interactability, special effects, lighting and level of detail. And some of them added storylines, NPCs and cinematics, which have nothing to do with FPS gameplay. In Quake you never wait for an NPC to stop talking (scripted sequences): Quake is a pure FPS.


Maintaining good gunplay, Quake 2 (1997) expanded vertex animations and employed radiosity maps and a few other features, but Quake 2 is only an incremental advancement on Quake. That said, Quake 2 is a great game. Much better than Half-Life.


[2]

Quake 1.06 is the base game. 1.08 is simply 1.06 with the expansions installed as well.

The original Quake was software-rendered by the CPU and accelerated via VESA 2.0 Local bus in 256-color (8 bit color depth) linear framebuffer mode (LFB) that supported up to 1280x1024 resolution.

GLQuake


GLQuake is hardware accelerated Quake using the OpenGL API (as opposed to software rendered). GLQuake supports many more and higher resolutions, windowed mode via [-window] and smoother framerates.

Note that both WinQuake and GLQuake have been in the past and continue to be problematic now. I am running all three versions on various systems, and classic Quake (1.06-1.08) is the only version that just works straight out of the box, with zero issues.

Win/GLQuake have small but annoying issues that may or may not manifest depending on end-user OS and/or display chipset/drivers. GLQuake gives me smoother framerates when running at higher resolutions, but I'd rather run Quake at smooth middling resolutions and yet maintain classic-Quake graphics (1024x768, display driver-scaled to full-screen).

Fitzquake: The First GLQuake Source Port


Of course, all issues are fixed by simply modifying GLQuake via, for example, a GLQuake source port such as Fitzquake, which unlocks the true power of Quake's engine with its 500 KB *.exe.

Fitzquake mimics the graphics style of the software renderer in the original Quake. Most notably, Fitzquake adds interpolation of monster-model animation and movement via cvars r_lerpmodels and r_lerpmove, making animations much smoother.

Quake 1 Speedrunning: Joequake



Due to its timer, demo recording, demo browsing and ghost recording features, Joequake has become the standard GLQuake source port for speedrunners. You can download Joequake from github.

Quake 1 speedrunners have too many conveniences in 2024. I want to see MS-DOS speedruns done on Pentium 100, 16 megs RAM, LFB and CRT monitor. Let's see speedrunners come close to matching their records on that! Haha!

Quake 1 Bots: Single-Player Deathmatch


Deathmatch versus other human players is the true test of Quake mastery, but it is also possible to play solitaire aka single-player deathmatches against AI bots coded in QuakeC. The easiest way to do that is to just employ bots that are hardcoded to run in id Software's official Deathmatch levels (DM1-6) or other supported 3rd-party levels. [3]

Quake bot movement paths must be coded to specific maps using a complex waypoints system. In the early days (1996), if you wanted to employ bots in id Software's levels, you had to employ DOS-based programs and the command prompt to inject modified *.map files into the equivalent *.bsp files.


Back to: cRPG Blog (Master Index).

No comments:

Post a Comment

Note: only a member of this blog may post a comment.