30 open-source projects similar to id-software/doom-3-bfg, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
This project is a high-performance 3D game engine implementation written in C++. Its primary purpose centers on game engine development and retro game preservation, allowing for the study and compilation of original source code from a classic title. The engine utilizes a custom asset pipeline that integrates 3D models and scene data from Maya via a specialized export plugin. It is designed to be compiled across Windows, Linux, and macOS through a platform-specific build abstraction. Technical capabilities cover real-time OpenGL rendering, state-based game logic, and binary resource packaging
Quake III Arena is a first-person shooter game engine and arena combat simulator. It consists of the original C++ game source code for a cross-platform 3D game designed to run on Windows, Linux, and Mac. The project provides the source code necessary to render a first-person shooter experience, focusing on player-versus-player battles in closed 3D environments. It serves as a resource for legacy game preservation and the study of early 3D game engine construction. The engine incorporates spatial partitioning, client-side prediction, and state synchronization to manage multiplayer networking
The GoldSrc game engine is a 3D game framework and first-person shooter engine designed for building and running interactive software. It functions as a moddable game framework, providing a system for creating custom game rules and content through client-side code and shared libraries. The project includes a game engine SDK and development tools for compiling custom game logic into dynamic link libraries. This modular structure allows for the development and distribution of game modifications on Windows and Linux platforms.
This is the original C source code for the Quake game engine, a landmark first-person shooter engine from the 1990s. It is a retro game engine that renders 3D environments and processes player input in real time using CPU-based software rendering rather than GPU acceleration. The engine supports networked multiplayer gameplay over LAN or internet connections and is designed to be moddable, allowing users to create and run custom game modifications and levels. The engine's architecture includes a Binary Space Partition tree for efficient world geometry organization and visibility determination
This repository contains the original source code for a classic real-time strategy game, serving as a legacy game engine implementation for managing units, maps, and combat mechanics in a military strategy setting. It functions as a real-time strategy game source code archive intended for preservation and technical study. The codebase acts as a game modification base, allowing developers to create custom content and modifications using the original source. It provides a foundation for retro game modding and software archeology to analyze how historical game mechanics were programmed. The pro
The Source Engine SDK is a C++ game development kit and modding framework designed for creating game modifications and custom gameplay extensions for the Source engine. It provides a structured environment and a collection of source code and binaries required to build custom content for compatible titles. The kit serves as a toolset for C++ game engine programming, enabling the development of custom gameplay mechanics, new rulesets, and game modes. It includes the libraries and headers necessary to compile and build gameplay extensions and custom game content.
This project is a comprehensive educational resource for building a high-performance game engine from the ground up using C++. It serves as a technical guide for developers seeking to understand the low-level architecture of engine systems, providing a structured approach to implementing core components like rendering pipelines, entity-component-system patterns, and multi-threaded task scheduling. The resource distinguishes itself by focusing on the practical implementation of complex engine subsystems, including graphics API abstraction layers for cross-platform compatibility and data-driven
This project is a first-person shooter template for Unity that implements networked gameplay, weapon systems, and player traversal. It functions as a multiplayer system designed to synchronize movements and actions between a server and clients via a network transport layer. The project serves as an example of high-fidelity game rendering using the High Definition Render Pipeline to deliver authored content and advanced visual quality. It also demonstrates the use of an entity component system to organize game data and logic for optimized processing and execution performance. The implementati
Serious Engine is an open-source framework designed for the development and execution of first-person shooter titles. It provides an integrated environment for rendering complex three-dimensional combat spaces and managing the core gameplay logic required for high-speed action sequences. The engine utilizes an entity-component-system architecture to manage game objects, supported by script-driven logic that allows for gameplay modifications without requiring engine recompilation. It distinguishes itself through a specialized rendering pipeline that separates geometry calculations from lightin
Halley is a modular C++ game engine designed for building cross-platform interactive applications. Its core identity is defined by a hardware-abstraction graphics pipeline for consistent rendering across different operating systems and an entity-component-system architecture that separates game state from processing logic. The framework features a hot-reloading development environment that allows updating application logic and assets at runtime without requiring a full process restart. It also includes a multiplayer networking framework based on an asynchronous messaging system to manage real
This project is a game programming design patterns reference and software engineering guide. It provides a collection of architectural and structural patterns specifically applied to the development of video games, focusing on organizing game loops, entity component systems, and state management. The content is delivered as a digital book and markdown static site. It utilizes a static site generation workflow that transforms markdown source files and HTML templates into structured static pages for technical content publishing. The underlying system includes capabilities for static site compi
OpenLara is an open-source game engine and classic game emulator designed to load and execute original game data files from classic action-adventure titles. It functions as a cross-platform game runtime that enables legacy game assets to run on modern hardware and operating systems. The engine features a deterministic physics system using fixed-point coordinate math to ensure consistent movement and behavior across different hardware environments. The project incorporates a component-based entity system and a data-driven level loading process to reconstruct world geometry and object placemen
The original open source release of Wolfenstein 3D
This project is a first-person shooter game engine and a pseudo-3D rendering engine written in C. It serves as a software framework for rendering three-dimensional environments and managing entity physics. The engine includes a networked multiplayer system designed to synchronize game state and player actions across a client-server network. It utilizes a portable codebase that allows game logic to be adapted across different operating systems and hardware architectures. Core capabilities cover 3D game engine architecture, including spatial partitioning and depth-based rendering. The system a
Source Engine is a cross-platform game engine designed for the development and execution of interactive three-dimensional applications. It provides a framework for rendering complex environments and managing multiplayer networking, functioning as a middleware solution for hosting independent game servers. The engine distinguishes itself through a client-server authoritative networking model that enables direct player connectivity without reliance on external authentication or matchmaking services. It utilizes a data-driven asset pipeline and a component-based entity system to decouple engine
Gameplay is a high-performance C++ game engine and cross-platform framework designed for developing 2D and 3D interactive games. It functions as both a 3D graphics engine for rendering environments and a 2D game development kit for creating sprite-based mechanics. The framework provides a cross-platform abstraction layer to ensure that game logic and graphics run across various hardware and software platforms using a shared codebase. The engine implements a hardware-accelerated rendering pipeline and component-based game logic to separate data from behavior. It utilizes a native C++ impleme
MelonLoader is a game engine plugin loader designed to inject custom code and load external plugins into Unity games. It functions as a modding framework that supports both Mono and Il2Cpp runtimes, allowing for the modification of games across different backend architectures. The project enables the patching and hooking of functions within Unity games, specifically providing a system for managing C# assemblies in Mono environments and a framework for patching the Interop C++ backend used by Il2Cpp. The system handles the interception of the application boot process to load third-party mods
WickedEngine is a C++ 3D game engine and framework designed for building high-fidelity three-dimensional applications and graphics projects. It features a modern graphics renderer that implements current standards to produce complex geometry and lighting across different hardware. The engine includes a standalone visual scene editor for designing environments and configuring properties without writing code. It also provides an integrated Lua scripting environment to manage runtime logic and automate engine tasks. The framework covers 3D graphics rendering and application development, includi
TrinityCore is an open-source game backend and MMORPG game server emulator. It is implemented as a C++ game engine designed to handle real-time network traffic and game state synchronization, utilizing a MySQL database schema to store player profiles, inventories, and world state. The project provides the infrastructure necessary for MMORPG server hosting and private game server administration. It includes tools for game world customization, allowing for the modification of game mechanics, item statistics, and quest scripts. The system manages virtual world infrastructure through multi-threa
tModLoader is a modding framework and toolset designed for expanding game content and extending core game logic. It provides a polymorphic content API that allows for the creation of new items, NPCs, projectiles, and world assets through object-oriented inheritance. The project is distinguished by its advanced code modification capabilities, utilizing intermediate language bytecode patching and reflection-based private access to alter internal game behavior. It features a hot-reloading assembly runtime that enables developers to recompile and apply source code changes in real-time without res
Minetest is an open-source voxel game engine and platform used to create and share moddable 3D block-based games. It provides a framework for building interactive grid environments and generating custom voxel worlds. The project features a Lua-based modding framework that allows for the extension of game behavior and the addition of custom content without altering the core engine. This data-driven system supports a dedicated workflow for modifying game environments and logic. The engine supports multiplayer game hosting through a dedicated server architecture, enabling multiple players to co
Osiris is a software tool designed to modify Counter-Strike 2 gameplay through internal memory manipulation and visual overlays. It functions as an external game cheat and cross-platform modifier that alters game behavior and reveals hidden data to provide a competitive advantage. The project utilizes a Panorama GUI overlay to manage settings and features directly within the game environment. This interface is built using the Panorama framework to develop custom game GUIs and manage modification controls. The software covers real-time game telemetry and hidden data visualization by scanning
FlaxEngine is a cross-platform game engine and development kit designed for creating high-fidelity 2D and 3D games. It functions as a programmable framework that supports the use of C# and C++ for building interactive experiences. The project includes a high-speed graphics rendering engine capable of producing professional visual assets and detailed three-dimensional scenes. It provides a pipeline for compiling and exporting project files across various operating systems using native software development kits and toolchains.
Untrusted is a web-based programming puzzle and meta-programming game where progress is achieved by rewriting the active JavaScript source code while the application is running. It functions as a code-editing adventure game that combines programming education with puzzle gameplay. The experience centers on real-time logic modification, requiring players to edit scripts to change environmental rules, manipulate game behavior, and resolve puzzle-based objectives. This interactive code editing allows players to overwrite active functions and variables to overcome obstacles. The project includes
This repository is a collection of reference implementations and sample projects demonstrating data-oriented design using the Unity Entities package. It provides a suite of examples for implementing an entity component system that separates game data into components and logic into systems. The collection includes specialized demonstrations for rendering large volumes of entities via graphics pipelines, implementing high-performance collision and rigid body dynamics through data-oriented physics, and managing multiplayer state synchronization using the network framework for entities. It also p
This project serves as a comprehensive technical reference and educational resource for software architecture within the context of game development. It provides detailed explanations of design patterns and engineering strategies specifically tailored to the performance constraints and structural requirements of interactive software projects. The repository functions as a localized translation of essential literature, making advanced programming concepts and architectural solutions accessible to a broader audience. By focusing on proven practices for code organization and maintainability, it
Entitas is a data-oriented Entity Component System framework for Unity. It is designed to separate game state into components and logic into systems, utilizing a data-oriented design to optimize CPU cache usage, memory usage, and processing speed. The framework includes a C# source code generator that automatically produces boilerplate classes, entity accessors, and context singletons to reduce manual coding. It also provides a Unity editor debugging tool for real-time runtime state visualization, system performance monitoring, and visual entity inspection. The system manages entity lifecycl
Amethyst is a data-driven game engine written in Rust for building high-performance 2D and 3D games. It is built on an entity component system architecture that decouples game state from logic to enable parallel processing and reusable code. The framework features a glTF 3D renderer for importing scenes and geometry using physically based materials. It also serves as a multiplayer game framework, providing network transport abstractions and state synchronization for real-time online experiences. The engine covers a broad range of capabilities, including hybrid 2D/3D rendering, asynchronous a
Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a simulation engine core and game engine architecture tool, decoupling state from behavior by separating entities, components, and systems. The framework features a runtime reflection layer for dynamic data inspection and a built-in scripting system for defining entity behavior without recompilation. It also includes a network interface and REST API for remote simulation administration and state querying. The library covers a broad surface of simulation capabilities, including ar