A re-implementation of id Software's id-tech 4-BFG game engine in the Ada programming language.
AdaDoom3 is an open-source re-implementation of id Software's id-tech 4-BFG game engine written in the Ada programming language. It aims to rebuild the engine with a clear dependency hierarchy and robust tasking systems, providing a modern foundation for game development. The project focuses on maintainability, concurrency, and multi-platform support while preserving compatibility with Doom 3 BFG content.
Game developers, engine programmers, and Ada enthusiasts interested in studying or contributing to a modern game engine reimplementation with strong emphasis on software engineering principles.
Developers choose AdaDoom3 for its clean architectural approach, Ada's reliability features for concurrent systems, and the opportunity to work with a professionally re-engineered version of a classic game engine. It offers a unique combination of game engine development with strong software engineering practices.
Id Software's Id-tech-4-BFG in the Ada programming language.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The project emphasizes a clear dependency hierarchy and organized code structure, aiming for improved maintainability as stated in the README's design goals.
Leverages Ada's built-in concurrency features for tasking systems, enhancing reliability in multi-threaded execution per the project philosophy.
Plans for threaded rendering with Vulkan indicate a commitment to high-performance graphics, though it's currently in the planning stage.
Intends native ports for Windows and SDL, with contributions welcomed for Linux/Mac, showing a multi-platform focus in the planned features.
The README explicitly states 'THIS PROJECT IS MOSTLY INCOMPLETE,' meaning core features like level loading and multiplayer are not yet functional.
Ada is less common in game development, resulting in fewer libraries, tools, and community resources compared to languages like C++ or C#.
Compilation requires specific tools like GPRBuild or GPS, and contributing involves understanding Ada's package system, adding a steep learning curve.
Many features such as Steam integration and Vulkan rendering are only planned, with no concrete timeline for completion mentioned in the README.