Category Archives: Games

DOOM 3 Widescreen Support

The past few weeks since the release of UQE Hexen II and UQE Quake recently I’ve been hard at work doing some research into a few of the other GPL released idTech engines. The reason for taking a look at the other idTech engines is to get an idea which one will be most suitable for a completely new game project.

Its not going to be an easy decision to choose one of the three idTech engines that were developed after Quake. This is mainly due to the fact that I need to strike a balance between how current the engine is and the almost arcade-like feel and play-ability of mid 1990′s FPS games that needs to be achieved like the classic Doom games and Quake.

Read more »

UQE Quake v1.10 Released!

There has been numerous times where I started work on a fixed-up version of Quake, but never got around to finish it. Sometimes life has a way to get in the way of things. This time around I stuck it out and got it finished! I’ve worked on Quake development the day its sources got released back in 2000, but eventually ended up working on Hexen II instead. With UQE Hexen II now done, I decided to start work on UQE Quake and get all the great fixes I did on UQE Hexen II back-ported to the new UQE Quake project.

The UQE project is a very personal one where the goal is to fix the engine just enough to enable me to once again enjoy one of my most favourite games of all time without having to use DOS emulation software or an older version of Windows because of compatibility issues with modern day hardware, drivers and operating systems. Its been a long time coming indeed!

Read more »

UQE Hexen II v1.15 Released!

Its unbelieveable that its been almost a full year since the previous version of UQE Hexen II were released!

When I released the previous version of UQE Hexen II with additional higher and widescreen resolutions people pointed out that the field of view (FOV) is still set at a fixed 90 degrees which is typical for 4:3 letterbox resolutions. When I investigated the FOV implementation in the engine I decided to port the original Quake engine’s FOV setup code over to Hexen II as it seemed as if its implementation pretty much fixed it to 90 degrees. Changing the FOV on the console did not change the field of view at all. After some work on the subject I succeeded in changing the code to actually calculate the FOV value dynamically based upon the currently used resolution.

Read more »

UQE Quake – Project Launched!

I’m currently in the planning stages of actually starting out development work on UQE Quake!

If all goes according to plan I should be able to start with the development process between December 2011 and January 2012. All the features that are currently available in UQE Hexen II v1.14 will be ported over to UQE Quake. Obviously only the features that are compatible between the two game engines will be ported.

Once all the features intended for the initial release is ported I will look at a few other odd issues, like for example the field of view (FOV) changes that have to be made to accommodate wide screen monitors. The additional fixes and changes will also be back-ported to UQE Hexen II.

Read more »

Doom Engine WAD Reader and Extractor

The Doom Engine WAD Reader and Extractor is an application designed for viewing and extracting information found inside data files known as “WAD” files.

For the longest time since I created levels for DOOM and DOOM-based games I wanted to get into the technical side of the idTech1 engine, but sadly I never got around that. I don’t know why it turned out this way. Maybe because there’s never enough time, or maybe because I was so much involved in the Quake engine development scene.

I always wanted to build a DOOM-like game. I have a great appreciation for the technical design style and fast game-play. To save valuable time I decided to use DOOM’s original art assets while I develop the game engine to spare myself the extra effort and management of new original art asset development. Using original DOOM assets will further help doing a more direct comparison against the original DOOM.

Read more »

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 »

UQE Hexen II v1.14 Released!

Its been a long time coming, but finally its here!
UQE Hexen II v1.14!

This new and second release of UQE Hexen II came almost five years since the very first release back in 2006 and it boasts a number of really great additions and fixes to the engine. Here we will highlight the most important ones, but for a complete list of new features and changes see the change log.

When it comes to the technologies used; I have updated the DirectX libraries to the latest and compiled and linked to them as well as updated the OpenGL extensions header files to make sure the code is aware of any new extensions that are available. The engine have also been compiled with Visual Studio 2010 which in itself fixes a lot of issues with the binary engine. All 16-bit video modes have been removed from the engine to create room for higher resolutions up to HD resolutions.

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 »

Emulating Quake – Part II

Quite a few things have been happening since my last entry. Yes I did work on the project through christmas and the new year’s festivities. Most of the code since my last entry got restructured and rewritten to accommodate features as I’m moving along. Its interesting how one’s line of thought evolves as you are working on a project.

What have happened?
Unlike 18 December, I have split the data structures now into two distinct parts: “disk” structures and “memory” structures. The “disk” structures are only used to store data loaded from the Quake media files, in this case BSP data, from where it is used to build the more practical “memory” structures used by the game code. Apart from all the rewriting some code the new features added to the game project is:

Read more »