UQE Quake

Friday, March 02, 2012
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!

The work on UQE Quake started back in early December 2011 while I was on vacation. During the development of the engine mod I found a few minor bugs and things I could do differently in the original code that were back-ported to UQE Quake from UQE Hexen II. I ended up porting those back to UQE Hexen II. Basically I worked on two engine upgrades during the last three months. The work done on the UQE Quake project resulted in a new version of UQE Hexen II being released just a week or so ago.

The ability to properly render fullbright pixels were almost missed, but it got implemented at the eleventh hour and delayed the release of UQE Quake by around two days. It was well worth it though. Interestingly enough I decided to treat fullbrights as "luma" textures. When the engine detects that a texture has fullbright pixels it internally generates a new luma texture and let it pass through the same rendering processes that gets used by standard external luma textures. Just like luma textures, fullbrights are unaffected by lightmapping giving the illusion of emitting light.

With the addition of PK3 file support it becomes as simple as copying the QRP (Quake Retexturing Project) PK3 files to the "id1" game directory to enable UQE Quake to load and render high resolution texture replacements for all the original Quake maps. The high definition experience can be further enhanced by copying LIT colored lighting files to the "maps" directory under any game directory. LIT files from the MHQuake project yields the best results when used with UQE Quake.

The high resolution texture packs and colored lighting packs are not included with the UQE Quake download.

It is also possible to get your old-school game on by running UQE Quake in classic rendering mode. All that needs to be done is to set the texture filtering mode on the options menu to "Point Sampled" and restart the engine using a lower resolution mode like 640×480 for example.

There are numerous more additions and tweaks to UQE Quake, but they are too minor to write about.