30 open-source projects similar to id-software/doom, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best DOOM alternative.
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
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 original open source release of Wolfenstein 3D
BrowserQuest is a WebSocket multiplayer game engine and real-time state synchronization tool. It functions as a web-based game server designed to manage concurrent connections and broadcast updates to maintain a consistent shared world state between a central server and distributed web clients. The project enables real-time multiplayer gaming and browser-based game development by implementing low-latency data exchange. It focuses on game state synchronization to ensure that multiple players interacting within the same environment see the same actions and world states simultaneously. The syst
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 browser-based, real-time multiplayer action game where players control a character on a 2D canvas to absorb objects and grow in size. It utilizes a Node.js game server and WebSockets to synchronize game state, player movement, and chat across all connected participants. The application is delivered as a dockerized game application, ensuring consistent hosting and deployment across different cloud environments through containerized server environments. The system implements an authoritative server model that processes all game logic and physics to prevent cheating and mainta
KBEngine is a distributed game server engine and backend infrastructure designed for massively multiplayer online environments. It provides a multi-process architecture to handle high player concurrency and real-time interactions within a shared virtual world. The system features a scriptable game logic framework that combines a high-performance core with a high-level scripting language. This allows for game behavior modifications through a hot-fixable runtime that updates logic without requiring server restarts. The engine manages server scaling via dynamic load balancing across multiple ha
Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp
Colyseus is a real-time multiplayer game framework for Node.js that provides an authoritative server model, delta-compressed state synchronization, and room-based session orchestration. It is designed to handle the core infrastructure of multiplayer games, including matchmaking, state management, and scalable process distribution across multiple servers. The framework distinguishes itself through its schema-based state definition, which enables automatic serialization and change tracking, combined with a binary WebSocket protocol for low-latency updates. Its matchmaking pipeline routes player
This project is a cross-platform game engine framework and build pipeline designed to produce playable executable binaries for desktop and Android devices. It provides a collection of core libraries for game development, including a native Android build system and a C++ build pipeline. The framework features a specialized bitmap font rendering system that displays stylized typography by mapping character indices to image atlases using coordinate and spacing metadata. It also implements a hardware abstraction layer to decouple application logic from graphics and audio drivers, ensuring portabl
This repository contains the C++ game source code for a single-player first-person shooter action game. It is a software implementation of the Id Tech 4 engine, designed for 3D rendering with a focus on real-time unified lighting and geometry. The project enables the modification of core engine logic and rendering systems. It serves as a resource for classic game engine modification, first-person shooter development, and retro game preservation. The engine utilizes a unified shader pipeline and stencil shadow volumes for lighting effects, alongside BSP tree spatial partitioning for visibilit
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
NetHack is a roguelike dungeon crawler and ASCII-based role playing game. It is a turn-based adventure game featuring permanent character death and the exploration of randomly generated dungeons. The project serves as a cross-platform game engine designed to be compiled and run across diverse operating systems and hardware architectures. It focuses on retro game preservation by maintaining classic game logic for modern computing environments. The codebase implements procedural content generation for maps and encounters and utilizes a grid-based coordinate system for spatial tracking. Renderi
Automatically exported from code.google.com/p/micropolis
This project is a 6502 assembly language implementation of a platformer featuring running, jumping, and swordfighting, developed for the Apple II computer between 1985 and 1989. It serves as a piece of legacy retro gaming software designed to run on 8-bit hardware from the early computing era. The repository provides the assembly source code for the purpose of historical technical analysis and research. It allows for the study of original game source to perform technical analysis and historical research into early video games. The project covers domains including 6502 assembly programming, A
Zdog is a JavaScript graphics library designed for rendering pseudo-three-dimensional geometric models within web browser environments. It functions as a lightweight engine that draws flat, vector-based shapes onto HTML5 canvas or SVG elements by utilizing a scene graph to manage object relationships and spatial transformations. The library distinguishes itself through a unique approach to volumetric modeling, where three-dimensional depth is simulated on flat shapes by dynamically adjusting stroke thickness. This technique allows for the creation of rounded, plump visual effects without the
Highway is a portable C++ library and hardware abstraction layer designed for writing single instruction multiple data (SIMD) code. It provides a unified interface that maps data-parallel logic to various CPU instruction sets, enabling the development of high-performance software that runs across different processor architectures without requiring architecture-specific assembly. The project features a dynamic instruction dispatcher that selects the most efficient CPU instruction set at runtime based on detected hardware. It also supports static target specialization and extensible mechanisms
gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands into native instructions for multiple GPU drivers. It provides a common interface for cross-platform rendering and general-purpose GPU compute programming. The project features an intermediate-representation shader translation system that converts source code and SPIR-V into target-specific languages. It employs a data-driven reference test framework to verify that graphics output remains consistent across different hardware platforms. Capabilities include parallel command buffe
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
Mindustry is a cross-platform game engine and factory automation simulation that combines resource management with tower defense strategy. Players construct complex supply chains and automated networks to process materials while building defensive structures to protect a core from waves of hostile mechanical forces. The project utilizes a deterministic lockstep networking model to ensure simulation consistency across desktop and mobile devices. It is built on an entity-component-system architecture and a tile-based grid simulation, allowing for the efficient management of thousands of active
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
Fabric API is a modular framework designed for Minecraft mod development, providing a standardized set of hooks and libraries that enable the integration of custom content into the game. It serves as a foundational toolkit for injecting custom logic, assets, and networked data into the game environment during both startup and runtime phases. The framework distinguishes itself by facilitating interoperability between independent modifications through shared events and interface-based contracts, which allow different mods to interact without requiring direct dependencies. It manages the complex
SDRangel is a comprehensive software-defined radio suite and digital signal processing framework. It functions as an RF spectrum analyzer and modular radio demodulator, providing a unified hardware abstraction layer to connect various radio devices to software processing pipelines for data acquisition and transmission. The platform is distinguished by its modular architecture, which uses a data-flow graph of dynamic libraries to construct signal processing chains. This allows for a plugin-based environment where users can extract audio and digital data from raw radio signals using various mod
The Espressif SoC Development Framework is a comprehensive toolset for developing, compiling, and flashing applications targeting Espressif system-on-chips. It serves as an embedded toolchain orchestrator and a hardware abstraction layer that simplifies the control of low-level peripherals, memory mapping, and chip-specific registers. The framework provides a dedicated IoT connectivity stack for implementing Wi-Fi, Bluetooth, Zigbee, and Ethernet communication on microcontrollers. It also includes an embedded real-time operating system integration layer to manage multitasking and scheduling o
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
Oasis Engine is a web-based game engine and component-based game framework designed for creating real-time interactive 2D and 3D applications for web and mobile platforms. It functions as a real-time 3D renderer and a physics simulation engine capable of producing interactive visual environments. The framework includes a visual scene editor that allows artists and developers to build, layout, and export project scenes through a graphical interface. This system supports visual scene composition and converts these layouts into structured data for runtime reconstruction. The engine's capabiliti
Autoware is a modular autonomous driving stack and open-source platform for advanced driver assistance systems. It functions as an integrated operating environment that manages the full pipeline from sensor data processing to vehicle actuation, utilizing the ROS 2 robotics framework for distributed communication and hardware abstraction. The system provides a comprehensive software architecture to enable autonomous driving across various vehicle platforms. It coordinates perception, planning, and control systems to operate vehicles without human intervention. The platform covers several core
MediaPipe is a cross-platform machine learning framework designed for building and deploying pipelines that process live and streaming media. It provides a system for connecting processing components into custom machine learning chains to analyze real-time audio and video streams. The framework includes a suite of pre-trained models for tasks such as hand, face, and pose tracking, along with tools for retraining and customizing these models with specific datasets. It also features a dedicated benchmarker for measuring the execution speed and accuracy of machine learning models directly within