# id-software/quake-2

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/id-software-quake-2).**

3,197 stars · 719 forks · C

## Links

- GitHub: https://github.com/id-Software/Quake-2
- awesome-repositories: https://awesome-repositories.com/repository/id-software-quake-2.md

## Description

Quake-2 is a game engine designed for the development of first-person shooters and the rendering of three-dimensional environments. It provides the core framework for processing real-time physics and player input within interactive 3D spaces.

The engine supports software extensibility, allowing for the direct modification of source code to change gameplay mechanics and engine behaviors. This makes it a resource for retro game engineering and the study of early 3D development techniques.

Its technical capabilities include vertex-based software rendering, BSP-tree spatial partitioning, and PVS-based visibility culling. The system also implements client-server state synchronization, fixed-point math simulation, and Bresenham-based rasterization.

## Tags

### Game Development

- [First-Person Shooter Engines](https://awesome-repositories.com/f/game-development/first-person-shooter-engines.md) — Provides the core engine framework designed specifically for building first-person shooter games. ([source](https://github.com/id-Software/Quake-2/tree/master/ctf/docs/))
- [First-Person Shooter Development](https://awesome-repositories.com/f/game-development/first-person-shooter-development.md) — Provides a complete framework for building immersive 3D combat games with real-time physics and player input.
- [Player State Synchronization](https://awesome-repositories.com/f/game-development/player-state-synchronization.md) — Synchronizes player positions and game events across a multiplayer network using a delta-compressed snapshot system.
- [Game Logic Modification](https://awesome-repositories.com/f/game-development/game-logic-modification.md) — Allows direct modification of source code to alter core gameplay mechanics and engine behaviors. ([source](https://github.com/id-Software/Quake-2/tree/master/ctf/docs/))
- [Retro Game Engines](https://awesome-repositories.com/f/game-development/retro-game-engines.md) — Serves as a resource for studying and modifying early 3D development techniques through a classic game engine.

### Graphics & Multimedia

- [3D Environment Rendering](https://awesome-repositories.com/f/graphics-multimedia/3d-environment-rendering.md) — Enables the creation and real-time display of complex 3D interactive environments.
- [Software 3D Rendering](https://awesome-repositories.com/f/graphics-multimedia/software-3d-rendering.md) — Provides a full software-based 3D rendering pipeline that handles coordinates and lighting on the CPU.
- [Binary Space Partition Trees](https://awesome-repositories.com/f/graphics-multimedia/space-partitioning/binary-space-partition-trees.md) — Uses binary space partition trees to organize 3D space for efficient depth-sorted rendering and collision detection.
- [Line Rasterization](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/rasterization-engines/line-rasterization.md) — Implements a software-based line rasterization system to convert 3D geometric shapes into screen coordinates.
- [Potentially Visible Sets](https://awesome-repositories.com/f/graphics-multimedia/occlusion-culling/chunk-based-culling/potentially-visible-sets.md) — Implements PVS-based visibility culling to pre-calculate and skip rendering of hidden map geometry.

### Software Engineering & Architecture

- [Deterministic Simulations](https://awesome-repositories.com/f/software-engineering-architecture/integer-arithmetic/fixed-point-math-optimizations/deterministic-simulations.md) — Employs fixed-point math simulation to ensure consistent physics and gameplay across different hardware architectures.

### Part of an Awesome List

- [First Person Shooters](https://awesome-repositories.com/f/awesome-lists/devtools/first-person-shooters.md) — Source code for a classic 3D shooter sequel.
- [Game Engines](https://awesome-repositories.com/f/awesome-lists/media/game-engines.md) — Engine for the second installment of the Quake series.
- [Open Source Games](https://awesome-repositories.com/f/awesome-lists/more/open-source-games.md) — Source code for the second installment of the shooter series.
