Quake - Game Engine - Excercises

Pre-reading excercises

  1. The difference between true 3D and “2.5D” games.
    • using 2-dimensional sprites instead of 3D models
    • using some mathematical tricks to simulate the 3-D world
  2. Optimizing the rendering process.
    • avoid rendering unnecessary polygons
    • avoid rendering invariable polygons
    • keep the number of details within reasonable limits
  3. Preprocessing the rendered world
    • reducing the number of polygons which are to be displayed
    • using mathematical tricks to improve the quality of the frame just before it is shown to the user
  4. Hardware acceleration
    • using special graphic chips to increase the speed of rendering scenes
    • Quake was the first game to support hardware acceleration
  5. Various problems in games modelling and scientific design
    • time available to render prepared scenes
    • the oldest problem – graphics quality vs. application speed
    • optimization

Comprehension questions

  1. What did “shooter” games look like before the Quake revolution?
    • There were 2-dimensional sprites instead of full 3D models and 2D maps. In Quake, a player can move in each direction; earlier games used mathematical tricks to simulate a 3D world.
  2. What is graphic preprocessing in general?
    • Preparing a picture before it is shown. The main aim of this process is to improve the efficiency and quality of the rendered picture.
  3. How could players see their opponents through a wall?
    • It was possible to edit a processed map by opening it in a special vertex editor and editing the raw vertex data, or to add or remove individual triangle faces.
  4. What does the Quake pre-rendering process depend on?
    • The map editor program uses a number of simple convex 3D geometric objects known as brushes that are sized and rotated to build the environment. The brushes are overlapped in order to create an enclosed, empty, volumetric space, and when the design is complete the map is run through the rendering preprocessor. The preprocessor is used to locate two types of empty space in the map, the empty space enclosed by brushes where the game will be played, and the other empty space outside the brushes that the player will never see. The preprocessor then strips away the back-faces of the individual brushes which are outside the game-space, leaving only the few polygons that define the outer perimeter of the enclosed game space.

Possible topics for discussion

  1. Which games, in your opinion, were a milestone in game development and why?