Convert Figma logo to code with AI

ZDoom logogzdoom

GZDoom is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities

2,418
533
2,418
149

Top Related Projects

Chocolate Doom is a Doom source port that is minimalist and historically accurate.

Quick Overview

GZDoom is a modern source port for Doom engine games, offering enhanced graphics, modding capabilities, and support for various Doom-based games. It provides an advanced rendering engine with OpenGL support, allowing for improved visuals and gameplay features beyond the original Doom engine's capabilities.

Pros

  • Advanced rendering engine with OpenGL support
  • Extensive modding capabilities and scripting support
  • Cross-platform compatibility (Windows, macOS, Linux)
  • Support for various Doom-based games and custom content

Cons

  • Higher system requirements compared to vanilla Doom
  • Potential compatibility issues with older mods designed for other source ports
  • Steeper learning curve for advanced features and modding
  • Some purists may prefer the original Doom experience

Getting Started

To get started with GZDoom:

  1. Download the latest release from the GZDoom GitHub releases page.
  2. Extract the downloaded archive to a directory of your choice.
  3. Place your Doom IWAD files (e.g., DOOM.WAD, DOOM2.WAD) in the same directory as the GZDoom executable.
  4. Run the GZDoom executable to start the game.
  5. Use the in-game console (default key: ~) to load mods or adjust settings:
    load mymod.pk3
    vid_fullscreen 1
    r_renderquality 4
    

For more detailed instructions and configuration options, refer to the GZDoom Wiki.

Competitor Comparisons

Chocolate Doom is a Doom source port that is minimalist and historically accurate.

Pros of Chocolate Doom

  • Focuses on accurate recreation of original Doom experience
  • Lightweight and runs well on older hardware
  • Simpler codebase, easier to understand and modify

Cons of Chocolate Doom

  • Limited features and mod support compared to GZDoom
  • Less visually appealing graphics and effects
  • Fewer customization options for gameplay and controls

Code Comparison

Chocolate Doom (SDL initialization):

if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK) < 0)
{
    I_Error("Failed to initialize SDL: %s", SDL_GetError());
}

GZDoom (OpenGL initialization):

void OpenGLFrameBuffer::InitializeState()
{
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    glClearDepth(1.0f);
    glDepthFunc(GL_LESS);
    glShadeModel(GL_SMOOTH);
}

Chocolate Doom maintains a C-style codebase with simpler initialization, while GZDoom uses C++ and more advanced graphics APIs. GZDoom's code is more complex but offers greater flexibility and visual enhancements. Chocolate Doom's simplicity makes it easier to port to different platforms and maintain, while GZDoom's advanced features require more intricate code structures.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Welcome to GZDoom!

Continuous Integration

GZDoom is a modder-friendly OpenGL and Vulkan source port based on the DOOM engine

Copyright (c) 1998-2023 ZDoom + GZDoom teams, and contributors

Doom Source (c) 1997 id Software, Raven Software, and contributors

Please see license files for individual contributor licenses

Special thanks to Coraline of the EDGE team for allowing us to use her README.md as a template for this one.

Licensed under the GPL v3

https://www.gnu.org/licenses/quick-guide-gplv3.en.html

How to build GZDoom

To build GZDoom, please see the wiki and see the "Programmer's Corner" on the bottom-right corner of the page to build for your platform.

Resources