Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


Id Software's Id-tech-4-BFG in the Ada programming language.

Subscribe to updates I use AdaDoom3

Statistics on AdaDoom3

Number of watchers on Github 145
Number of open issues 5
Average time to close an issue 15 days
Main language Ada
Average time to merge a PR about 15 hours
Open pull requests 0+
Closed pull requests 0+
Last commit over 2 years ago
Repo Created over 7 years ago
Repo Last Updated over 2 years ago
Size 114 MB
Organization / Authoradadoom3
Page Updated
Do you use AdaDoom3? Leave a review!
View open issues (5)
View AdaDoom3 activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating AdaDoom3 for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


Join the chat at https://gitter.im/AdaDoom3/Lobby


The aim of Ada Doom3 is to re-engineer the id-tech 4 engine with a clear dependency hierarchy, and robust tasking systems.

Planned Features:

  • Load and play doom 3 bfg levels
  • Load Valve map workshop levels
  • Native ports for Windows and SDL
  • Input support for XBox 360 controllers
  • Multi-monitor windowing
  • Threaded rendering with Vulkan
  • Responsive multi-player
  • Steam support for user accounts and achievements


To compile with GPRBuild:

gprbuild -p -P neo.gpr

Or the Gnat Programming Studio IDE may be used (email is optional): http://libre.adacore.com/download/

To compile with GPS click the gear and hammer button after ensuring the scenario drop boxes are correct.

After successfully compiling press play to run.

Using Git

Github's tutorial on installing and using commandline git: https://help.github.com/categories/54/articles

Frequent commands:

git init

git config --global user.email ""

git config --global user.name ""

git remote add origin https://github.com/AdaDoom3/AdaDoom3.git

git pull origin master

git pull origin branch

git commit -am ''

git push origin master

git push origin master:branch


Begin adding Linux/Mac support by implementing stubbed functions/subprograms

Getting Started

To begin developing for AdaDoom3, first examine all of the base system and foundation components in the /Code directory.

Each package in this folder (as all packages in Ada) consists of a specification (ads) and a body file (adb). For clarity, everything but subprogram, package, protected type, and task bodies are placed in the specification (including global variables and private function prototypes) allowing an entire overview of user-important information in one file.

More to come...


AdaDoom3 open issues Ask a question     (View All Issues)
  • over 4 years Linux Implementation
  • about 5 years Changing Word_Size has no Effect
  • almost 7 years Doom 3 fonts
  • about 7 years Libraries
  • about 7 years incomplete stack traces
  • about 7 years Assembly problems
  • about 7 years Assembly memory leaks
AdaDoom3 list of languages used
Other projects in Ada