Index
1. Quake
- first-person shooter computer game
that was released by id Software on June 22, 1996
- it
was the first game in the popular Quake series of computer
and video games
-
further reading
- the majority of programming work on the Quake engine
was done by John Carmack
- but
specialist program performance optimization was done by
Michael Abrash
- some of the critical routines were
programmed in assembly language
- music
and sound effects were written by Trent Reznor, of Nine Inch
Nails
- within the game, the ammo box for the nailgun has
the Nine Inch Nails logo on it
- Quake was released as
the Internet was commercially comming of age
- Id
Software realised that the future of gaming was on the
Internet (perhaps the first big games software house to have
this vision)
2. Quake 1 Timeline
- February 24 1996 Id releaseed QTest
- a technology demonstration of quake 1
engine
- allowed people to examine data files and
generate minor map mods before the game was officially
released
- June 22, 1996 Id released shareware
Quake 1
- episode 1 maps released in
shareware form
- despite assembly language speed
improvements few computers were able to use all features
(lighting)
- July 22, 1996 Id released full Quake 1
with all maps
3. VQuake
- at the end of 1996, id Software
released VQuake, a port of the Quake engine to support
hardware accelerated rendering on graphics cards using
Rendition Vérité
- VQuake offered numerous
visual improvements over the original software-rendered
Quake
- full 16-bit color, bilinear
filtering (reducing pixelation)
- improved dynamic
lighting and even optional anti-aliasing
- consumer
3D acceleration was in its infancy
-
there was no standard 3D API for the consumer market
-
after completing VQuake, John Carmack vowed never to write a
proprietary port again, citing his frustration with
Rendition’s Speedy3D API
4. QuakeWorld
- was released on December 17, 1996
- improved the quality of online play
- significantly revamped network code including the
addition of client-side prediction
- the
original Quake’s network code would not show the
player the results of his actions until the server sent back
a reply acknowledging them
- if the
player attempted to move forward, this client would send the
request to move forward to the server, and the server would
determine whether the client was actually able to move
forward or if he ran into an obstacle, such as a wall or
another player
- server responds to the client, and
only then would the client display movement to the player
- fine on a high throughput network with
very low latency connection
- not good on a slow Internet
link
- now refered to as
NetQuake
5. Client side prediction (in QuakeWorld)
- client side prediction allowed
players to see their own movement immediately without
waiting for a response from the server
-
QuakeWorld ’s network code
allowed players with high-latency connections to control
their character’s movement almost as precisely as when
playing in single-player mode
- netcode parameters could
be adjusted by the user, so that QuakeWorld performed well
for users with low latency
- however the tradeoff
was that sometimes other players or objects would no longer
be quite where they had appeared to be
-
sometimes a player would be pulled back to a previous
position when the client received a late reply from the
server which overrode movement the client had already
previewed
- known as "warping"
6. Implications of cheating by modifying the Quake 1 engine
7. GLQuake and WinQuake
- 22 January 1997 saw the release of
GLQuake
-
designed to use the OpenGL 3D API to access hardware 3D
graphics acceleration cards to rasterize the graphics,
rather than having the computer’s CPU fill in every
pixel
- yielded higher framerates, higher resolution
modes and texture filtering
- improved image quality
-
primitive reflections, transparent water, and even
rudimentary shadows
- John Carmack controversially
ignored Direct3D, opting instead to continue supporting
OpenGL
- partly due to his bad
experience with proprietary APIs
- WinQuake used OpenGL
- there were many ports of Quake to various
consoles and platforms
8. Quake engine genealogy
9. Source code and legacy
- the source code of the Quake and
QuakeWorld engines was licensed under the GPL in 1999
- the id Software maps, objects,
textures, sounds and other creative works remain under their
original license
- the shareware distribution of Quake
maps is still freely redistributable and usable with the
GPLed engine code
- only 1 of 4 maps present and no
deathmatch maps released
- October 11, 2006, John
Romero released the original map files for all of the levels
in Quake under the GPL
10. Gameplay
- single player
- multiplayer
-
deathmatch
11. Quake Engine
- Quake engine
- popularized
several major advances in the 3D game genre
- used 3D models for players and
monsters instead of 2D sprites
- the world is a true
3-dimensional space rather than a 2-dimensional map with
height information which is then rendered to 3D
-
previous 3D games such as Duke Nukem 3D, Doom and
Wolfenstein 3D
- sometimes called 2.5D
games
- used a restricted-view mathematical trick
when rendering their 3-dimensional view. This allowed a true
3D view, but only when looking straight-ahead
- illusion
breaks when you look up and down in those games
-
Quake also incorporated the use of lightmaps and 3D light
sources
- Quake by default used the keyboard to turn left
and right and move forward and backward
- this produced awkward movements
-
difficult to configure the mouse
- a 2.5D game as enemies
rarely attacked you unless you were on the level!
-
was also one of the first games to support 3D hardware
acceleration
Index
1. Quake
2. Quake 1 Timeline
3. VQuake
4. QuakeWorld
5. Client side prediction (in QuakeWorld)
6. Implications of cheating by modifying the Quake 1 engine
7. GLQuake and WinQuake
8. Quake engine genealogy
9. Source code and legacy
10. Gameplay
11. Quake Engine
Index
This document was produced using
groff-1.19.