On November 23, 2011 id Software supported its own tradition and published the source code of its previous engine.
This time, it's time idTech4 , which was used in Prey, in Quake 4 and, of course, in Doom 3. In just a few hours more than 400 forks of the repository on GitHub were created, people began to explore the internal mechanisms of the game or port it to other platforms. I also decided to participate and created a Intel version for Mac OS X , which John Carmack kindly advertised .
From the point of view of cleanliness and comments, this is the best release of the id Software code since the code base Doom iPhone (which was released later, and therefore commented better). I highly recommend that everyone learn this engine, collect it and experiment.
Here are my notes about what I understood. As usual, I cleaned them, I hope they save someone a couple of hours and encourage someone to study the code to improve their programming skills.
id Software is a well-known company to most people that play such games as Dangerous Dave, Commander Keen, Wolfenstein, Doom, Heretic, HeXen etc. Some time ago, John D. Carmack made some statements at QuakeCon and promised to release the source code for Doom 3, but so far that has not happened.
ZeniMax company that presently is the owner of id Software (as well as Bethesda) has released an update for Doom Classic and Wolfenstein 3D for the iPhone. It added to them support of Retina Display and universality (now they can be played in iPhone and iPad), as well as it fixed some bugs in the updates.
The company offers an access to the current source codes for these games along with this update, so now you can make something of your own based on their development, or you can learn from the best game makers how properly make such games.