A Change of Scenery: The Quake Engine


As I have been pondering what project to start next, I came to the conclusion that I wanted to do things a little differently this time. I wanted to tackle some new challenges and I wanted to work with something that could offer variety from my day job. I work a 9-5 for a small indie game developer, and coming home after a long day at work just to open up the same software (Unity) to continue work on my own project can get very samey. With burnout being a very real threat looming in the distance, time has come for a change of scenery.

1996. Id Software's technical marvel, Quake, was released. I'd spend a large part of my teenage years merrily fragging away in its dark, claustrophobic corridors. And later on in its sequels and other games like Half-Life, Counterstrike and Return to Castle Wolfenstein. All games that are based on the same engine: Id Tech aka. Quake. During this time I had also been tinkering with some light modding; making custom skins and levels. Nothing too fancy, just something for my friends and I to have fun with at LAN parties. And now, some 20+ years later, I think it's time to return to what initially sparked my interest in games and game development.


It turns out there is a plethora of different Quake engines, made and maintained by the community, each offering their own upgrades to the tech, but all including the same core. Now, all the improvements made by the community are very cool and all, but I figured I'd rather go straight to the source and get to work with the source code, which Id Software made public in 1999 under the GPL license. As I understand it, this would allow me to use the source code to create a game and even sell it for profit, as long as the source code is distributed with it. That's a pretty sweet license, and I assume it would also apply to any community engines derived from the original.

Getting Id's old source code to compile, however, is sort of a pain in the ass. It's a bit of a blur, but basically you'd need an ancient version of Visual Studio to do some trick to update the project correctly, and then you'd also need to compile some Assembler files. Gave it a shot, but found it wasn't worth the hassle and instead went with one of the newer Quake engines. This would also provide me with the tech upgrades that had been made in the past 20-ish years. While there are many different engines to pick from, I opted to just go with one that seems popular. If many people are using it, it must be good, right? Besides, I didn't have any particular deal-breaking requirements. My choice fell on one called DarkPlaces.

Got a hold of the DarkPlaces source and managed to get it to compile without too much hassle. I was now in business. Kinda. As I knew I wanted to do a total conversion of the game, I would also have to bend the asset pipeline into submission. For this you need tools. Lots of tools!

My current tools folder:

My tools folder

This isn't even all of the ones that I've tried out.

Quake has a bad ass community, which has spawned a myriad of different tools. Navigating all of these can be a bit of a jungle, but here is a breakdown of the essentials I've been using. These all work on Windows 10 and I've gotten some use out of all of them.

TrenchbroomLevel editor.
WallyTexture painting and .wad management.
DefullbrightConverts fullbright pixels into non-fullbright. With Quake's 256 color palette, some are reserved for fullbright (i.e. unlit) colors. Sometimes you'll accidentally add these to your textures and need to strip them.
EricW's ToolsLevel compiler and lightmap baking. Use with Trenchbroom when building levels.
Blender Source ToolsValve's tool for importing and exporting .mdl files in Blender. It seems Source engine is still using the same model format as Quake.  This works with newer versions of Blender (2.80 at the time of writing).
PakScape.pak file unpacker. Use this to extract the original assets.

And with all that I'm finally ready to dive in and start work on my project. There are many more topics to cover for a complete guide to Quake modding and right now I'm geeking out about it big time, so might post more on this in the future.


If you're curious about Quake modding I can wholeheartedly recommend the video tutorials by dumptruck_ds - they sure helped me a ton.

That's it.

Stay metal \m/

Leave a comment

Log in with itch.io to leave a comment.