This commit is contained in:
Miloslav Ciz 2025-03-19 21:20:29 +01:00
parent 5a2b049dca
commit 86d87acac8
12 changed files with 1973 additions and 1963 deletions

View file

@ -2,13 +2,13 @@
Quake, released in [1996](90s.md) (originally for [DOS](dos.md) and [Winshit](windows.md)), is one of the best and most influential first man video [games](game.md) ever produced, released as the next big game by the creators of [Doom](doom.md) (Id Software), notable not only for once again pushing [3D graphics](3d_rendering.md) yet to another level, but equally so for introducing gameplay, mechanics and even "accidental features" ([bugs](bug.md)) that practically spawned a new genre. The original game has since been spawning sequels: Quake II (1997), [Quake III](quake3.md) Arena (1999, purely multiplayer), Quake IV (2005), Quake Live (2014, basically Quake III HD) and Quake Champions (2022, [shit](shit.md) that practically killed the series). This article will mostly focus on the original game as it's most notable and very technologically [interesting](interesting.md).
Of course the game is [proprietary](proprietary.md), but the engine was later released as [free software](free_software.md) under [GPL](gpl.md), which spawned a plethora of source ports and even completely libre games such as [Xonotic](xonotic.md). This is one reason for why there are still big fan communities around Quake to this day, mainly centered around competitive multiplayer and [speedrunning](speedrun.md).
Of course the game is [proprietary](proprietary.md), but the [engine](game_engine.md) was later released as [free software](free_software.md) under [GPL](gpl.md), which spawned a plethora of source ports and even completely [libre](libre.md) games such as [Xonotic](xonotic.md). This is one reason for why there are still big fan communities around Quake to this day, mainly centered around competitive multiplayer and [speedrunning](speedrun.md).
Upon its release Quake was a hit -- maybe not as huge as [Doom](doom.md), but that's perhaps only because Doom was the first, struck like lightning and had little competition. Unlike Doom, Quake also wasn't universally revolutionary, its single player, enemies and [music](music.md) weren't as memorable, but the more innovation it brought in the area of graphics and competitive multiplayer where fast, skillful movement was as important as accurate aim. While Doom utilized a "[primitive/pseudo 3D](primitive_3d.md)" graphics with 2D enemy [sprites](sprite.md) and limitations imposed on level geometry, Quake engine implemented what we now call a "full/true 3D", i.e. it allowed unrestrained camera rotation and levels featuring all kinds of shapes, including sloped floor and ceilings, rooms above other rooms etc. Still by historical significance this is nowadays overshadowed by an incredibly addictive player movement mechanisms that Quake invented (partially through [bugs](bug.md) that turned out to add to the gameplay), a formula that's still being replicated today. In Quake movement is [art](art.md) and science in itself and this went as far as to spawning whole communities that essentially modded the game to a racing game without any shooting, focusing purely on movement (see the *defrag* mods). Most notable are such techniques as *bunny hopping* (jumping during movement, increasing speed), *strafe jumping* (turning diagonally when bunny hopping, adding velocity, which actually wasn't intended by developers), *rocket jumping* (shooting rockets under own feet to jump higher), *circle jumping*, *air control*, landing on slopes to gain speed, and there are many more.
Upon its release Quake was a hit -- maybe not as huge as [Doom](doom.md), but that's perhaps only because Doom came first, struck like lightning and had little competition. Unlike Doom, Quake also wasn't universally revolutionary, its single player, enemies and [music](music.md) weren't as memorable, but the more innovation it brought in the area of [graphics](graphics.md) and competitive multiplayer where fast, skillful movement was as key to success as accurate aim. While Doom utilized a "[primitive/pseudo 3D](primitive_3d.md)" graphics with 2D enemy [sprites](sprite.md) and limitations imposed on level geometry, Quake engine implemented what we now call a "full/true 3D", i.e. it allowed unrestrained camera rotation and levels featuring all kinds of shapes, including sloped floor and ceiling, rooms above other rooms etc. Still by [historical](history.md) significance this has now been overshadowed by an incredibly addictive player movement mechanisms that Quake invented (partially through [bugs](bug.md) that turned out to add to the gameplay), a formula that's still being replicated today. In Quake movement is [art](art.md) and [science](science.md) in itself and this went as far as to spawning entire communities that essentially modded the game to become a racing game without any shooting, purely focusing on movement (see the *defrag* mods). Most notable are such techniques as *bunny hopping* (jumping during movement, increasing speed), *strafe jumping* (turning diagonally when bunny hopping, adding velocity, which actually wasn't intended by developers), *rocket jumping* (shooting rockets under own feet to jump higher), *circle jumping*, *air control*, landing on slopes to gain speed, and there are many more.
## Code And Technical Details
In general the game is no longer as nice technologically as Doom was, creeping of mainstream [capitalist](capitalism.md) [bullshit](bullshit.md) already started to show here.
In general the game is no longer as nice in its internals as Doom was, creeping of mainstream [capitalist](capitalism.md) [bullshit](bullshit.md) already started to show here.
The engine, also known as *Id Tech 2*, is written in [C89](c.md). The original source code release has just short of 100 [KLOC](loc.md). That's no longer really [suckless](suckless.md). The code itself looks alright, has consistent formatting and [comments](comment.md).