Unvanquished Begins Landing C++11 Engine Rewrite
Back in September I wrote about the Unvanquished efforts to rewrite and modernize their Quake 3 engine. Unvanquished already has an OpenGL 3 renderer with the changes they merged from ET-XreaL. Their rewrite plan though is about incrementally rewriting the entire game engine to move from being C89 code to C++11, better support multi-threading, and move from using the Quake 3 Virtual Machine system to now using Google's Portable Native Client (PNaCl) to compile C?C++ into LLVM bytecode that is then compiled at runtime within their sandboxed environment.
Code has been building up in the game's engine rewrite branch and right now they have 10,000 lines of new code and 15,000 lines of code removed over the course of some 300 Git commits. The developers are now preparing to merge the first batch of changes.
For end-users the first batch of engine changes doesn't yield anything different and that's intentional. The incrementally-rewritten engine will behave like their classic engine but most of the changes are on the inside. There are though a few subtle changes like better auto-completion on the console and history and support for cvar and command descriptions.
Upcoming work on the engine rewrite includes completing the new file-system, developing the new OS abstraction layer, and implementation of PNaCl for the other sandboxes.
The first batch of engine changes will be found with Unvanquished Alpha 22 to be released in early December. More details on the work can be found via the Unvanquished.net blog post.