Tag Archives: quake2

Quake2 BSP Rendering using Microsoft XNA 4

It’s been quite some time since I last spent time on my idTech2 XNA Renderer, but I finally managed to upgrade the project to Microsoft XNA 4.0 as well as adding new features and bug fixes. For the longest time I wanted to add MD2 model rendering support, but never got around actually doing the code for it.

While on vacation I thought it will be cool to quickly convert the technology from Microsoft .NET 3.5 and Microsoft XNA 3.1 to .NET 4.0 and XNA 4.0, but great was my disappointment when I realized that it won’t be a quicky and that there were significant breaking changes introduced in XNA. At least these were all good breaking changes, but none the less it still meant I need to go through the technology with a fine tooth comb and fix the now broken bits of code.

Read more »

Quake2 BSP Rendering using Microsoft XNA

The past few months I’ve been working on/off on a project that loads and renders Quake2 (idTech2) BSP files using the .NET language called C# for the program logic and XNA for input and rendering purposes. Initially the idea was to use XNA and build from the ground up game technology to run our titles on using technologies I’m familiar with in the form of the Quake and idTech2 engines. Initially the idea was to try and swat two flies at once by developing tech that could carry our game titles on as well as have a clean replacement for our “Ultimate Quake Engine” (UQE) project.

This is the utopia, but it is not possible to accomplish this in a decent timeframe.
On the one hand you want to build technology that is competitive regarding capabilities to other engines or renderers out there, but on the other hand you want to remain faithful to what the technology should be able to do regarding the UQE project. Ultimately its impossible to build a single technology that looks into both directions without having a dated or bloated design. We decided the best was to go, as Corvus Games, is to utilize XNA for simpler arcade-like titles and for larger titles license a commercial engine like Torque3D and the likes.

Read more »

MDL Model Conversion

The past two weeks I’ve been doing a lot of reading with regards to the specifications of the Quake1 (and Hexen2) MDL model format and the Quake2 MD2 model format. Mostly looking at where they are similar, where they differ and if there is any functionality missing in the one and extra in the other and vice versa as well as anything thats engine specific. I mostly relied on 3rd party spec papers as well as Quake1 and Quake2 engine/tools code to understand the structure of both formats.

Most of my time was spent decoding the MDL format and making sure that all data I load DOES make sense because theres no ways you can during the process know if you are doing it right or not, unless you are willing to spend the time to echo your results in a custom renderer to visualize the data. I’m too lazy for that type of effort.

Read more »