On June 22, id Software's seminal game Quake struck 28. Yes, it is that old already. Knowing this is kind of strange for a person who'd been ~18 when the game emerged.
I still recall some old reviews in the contemporary gaming press that praised Quake's realism; going as far as to claim that shooting in Quake required the appropriate aiming 'observing all the rules', as opposed to Doom, where you only needed a heavy thing lying on a CTRL key to shoot well. Not true, but who cared back then?
Quake was heavily referencing gothic art (as much as technology allowed) and, in particular, the works of H. P. Lovecraft. The primary source of all evisl in the game is squarely called Shub-Niggurath which is one of particulally ugly deity from his vast pantheon, also called 'The All-Mother', 'Lord of the Wood' (although she's identified as female) and 'The Black Goat of the Woods with a Thousand Young'. It is, in fact, the simplified depiction one of those 'Thousand Young' that represents Shub-Niggurath in-game - the entity created not by Lovecraft himself, but on of his followers, Robert Bloch in his Notebook Found in a Deserted House .
However menacing this creature looks in the game, it's almost obscenely easy to take her out - once all the guardians had been cleared out, of course, and once you figure out what exactly needs to be done...
The development process was painful for the id Software: as a result of internal fights and misleadership, the majority of team let the company after the game was released. Notably among those who left was John Romero, id Software's cofounder, chief designer and the person behind Lovecraftian, occult, and satanic imagery in Doom and first Quake. His consequent career was... uneven, whereas further Quake games took entirely different artistic direction.
…On the brighter side, it was Quake II that kickstarted Sonic Mayhem’s career… But this an entirely different story.
Quake was not the first fully 3D first person shooter; Parallax Software's Descent from 1995 was. However, it was the very first 3D FPS by id Software, and the studio created an entirely different engine compared to that of Doom/Doom II (aka idTech 1). It used the special design system that preprocessed and pre-rendered some elements of the 3D environment.
First, all or most of the lighting (and shadowing) would have been 'baked'. This means, that the propagation of light rays from every in-game light source unto the surfaces those rays could reach would have been calculated - based on more or less physically correct radiosity method; the result was black-and-white textures, known as lightmaps, that would be then multiplied with the colour textures. Those interested with more technically correct details kindly see this write-up by Michael Abrash, the co-author of the Quake engine.
Another groundbreaking achievemet was the tech to remove the invisible polygons - i.e. to exclude them from any real-time processing at all. This was a vital necessity in order to reduce the processing requirements and make the game playable on the common contemporary PCs.
Well, probably not exactly common: after all Intel Pentium CPUs were recommended, although the game was somewhat playable on the faster Intel 486 DX4 CPUs.
Remember them?
Particularly interesting was the mapping process, which quickly created a devoted community. The game was created with the ground-up moddability by design, John Carmack even went as far as to create a dedicated compiled programming language QuakeC to make the advanced customization possible.
The mapping tool - QuakeEd, - was released in the form of source code even before the game was shipped. It was basically the tool id Software used internally for making the game, but there was a twist: they used NeXT PCs for work, at the time 'ridiculously powerful' quad-core CPU systems with 128 MB RAM. For mid-1995 they were indeed way ahead of anything common users would have at their homes even if they could afford it. Intel would only released its quad-core processors, consumer and server-oriented, in 2006 - 10 yeas after Quake was out.
NB: The NeXT Computer was the firm late Steve Jobs created after getting ousted from Apple in 1985; he would return to Apple triumphant in 1997 when his former company, mere weeks away from kicking the bucket, agreed to purchase NeXT for a no-small sum; back at the helm, Jobs got it back on its feet. Ah, and Mac OS X, launched in 2001, was a direct descendant of NeXTSTEP, the very operating system created for NeXTs. As Greg Sadetsky pointed out, there's still a lot of code from NeXTSTEP sitting pretty in the modern macOS. That's a good code for you, ladies and gentlemen.
But back to Quake and its map editing. Building the level geometry (i.e. creating a 'map') was only a part of the process. Compiling it - that is, making it actually playable - was a sort of a chore, because it was the very time-consuming process, occasionally, especially the VIS program which calculated the lighting.
But it wasn't something to stop people from making outstanding maps - and more: the world-famous Team Fortress games series started out as a mod to the classic Quake. The first major mod, in fact.
Then there is this insane family tree showcasing the descendants of the Quake Engine.
Quake II was basically the same engine at the core, but with some formidable improvements.
It was Quake Engine that then-fledgling company Valve Entertainment built their masterpiece Half-Life upon. With tons of additions, improvements, bells and whistles, but the GoldSrc engine had Quake's codebase at its core as well. Meaning that the classic Counter-Strike, Day of Defeat et al. were all chilren of Quake either.
...They say even Doom Eternal from 2016 has some vestiges of the original Quake's 'blood' (i.e. code). Even if a veeeeery little of it.
On December 21, 1999, John Carmack released the Quake engine source code on the Internet under the terms of GPL-2.0-or-later. Only the engine codes was release, of course, not the art, which is still copyrighted... yet used in countless mods.
It wasn't too long before various coders sank their teeth into the code. Multiple ports and forks followed, some - with really heavy improvements.
Quake subsequently has become a playground for various scientific experiments, such as early augmented reality applications…
…or rendering with full ray tracing (not real-time yet).
Besides there were numerous ports that enabled visual technologies like real-time lighting with stencil shadows, bumpmapping, specularity and reflective surfaces.
More on them in the next post.