Unvanquished Begins Landing C++11 Engine Rewrite
While the open-source Unvanquished game's Daemon Engine began as a fork of the ioquake3 engine, it's morphed into a radically different and more advanced creation. As noted recently, the Unvanquished developers are in the process of overhauling the engine and rewriting significant portions of the code. That code is now beginning to land.
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.
Latest Articles & Reviews
Latest Linux News
Most Viewed News This Week