Through the years ID software has released the source-code of various games they produced. One of these games was the world famous Quake 2 game, which was the origin of many games developed afterwards. Games directly or indirectly based of the Quake 2 game engine include Half Life, Daikatana, Kingpin, SiN, Soldier of Fortune and many, many others.
Although quite a bit of the Quake 2 source has been ported it’s far from completed. I’m currently at a point where I’m in doubt if I should continue porting the code the way I’m doing now, or that I should start to do some refactoring first to make certain elements of the current implementation faster and less likely to break. For now this project is therefore on hold until I have decided what to do with it.
What got ported:
- Client-Server communication model
- .PAK file loading and processing
- Resource loading and handling
- Demo playback (including all client-server communication)
- Map and model loading (and processing)
- Game console (rendering)
- Game HUD (rendering)
Still to do:
- Actual game-play
- World rendering
Here is a screenshot of the current state of the project. I’m currently in a refactoring phase, so a lot that is actually implemented already, doesn’t actually work at the time of this screenshot.