Why I fixed Quake’s co-op mode (and then forgot about it for 15 years)

by Patrick Curry

Posted June 8, 2024

Quake is one of my most favorite video games of all time. While playing games like Super Mario Bros, Another World, and Mortal Kombat made me want to be a game developer, Quake is the game that actually made it happen. I spent so many hours playing and tinkering with Quake in the 90s… to say that I was obsessed would be an understatement.

And it wasn’t just me… my best friends and coworkers would turn our office into an arcade / LAN party nearly every night, playing deathmatch against each other, sometimes on servers with strangers, often just between ourselves. Some nights they’d humor me and play the maps and mods that I was making. My roommate Ryan, who was as much a Quake-head as the rest of us, was always very frank about my amateur efforts, reminding me that what I was making was nowhere as good as the official Quake content.

Almost ten years later, Ryan and I both had our careers humming. I was a professional game developer working in Chicago, and Ryan was traveling the world as a professional photographer. It was pretty shocking when Ryan called and told me that he’d been diagnosed with lymphoma. We were in our late 20s, and the idea that someone my age… someone I was so close with… could have cancer really scared the shit out of me.

Ryan traveled back to Texas to be near family and friends during his treatment, a grueling process of radiation and chemotherapy. We’d been talking on the phone a bunch, and it was clear that Ryan was getting bored out of his mind. So I suggested we play some Quake online together to pass the time and take his mind off the big C word.

The competitive Quake scene had died down by then, and neither of us had retained our lightning fast deathmatch reflexes. So I suggested we play some cooperative Quake. We’d both played the singleplayer game, but I don’t think that we’d ever attempted to play the storyline / campaign together. In fact, I’d nearly forgotten that the game had a cooperative mode until I was researching games for me and Ryan to play.

We fired up the game on our respective PCs and gave Quake’s built-in co-op a shot. To my horror, the co-op mode was pretty terrible! Part of the legend of the development of Quake is how frantic and last minute much of its creation was, but despite all that, id Software had made a masterpiece. Well now I know where some sacrifices were made, because Quake 1 co-op is super unbalanced and one of the least polished parts of the game.

Here are just some of the problems with Quake’s cooperative mode:

The pickups acting more like “dispensers” than individual items in the world means you never have to negotiate with your teammates about who gets to pick up a specific weapon, or which of you is trustworthy enough to carry a key to a locked door.

And since you have unlimited respawns, infinite ammo dispensers, and everyone can carry the same key, big scary monsters like Shamblers and Vores become bullet sponges and a mild annoyance at best. Get killed? No sweat, just run back to where you died and keep going like nothing happened.

Where’s the horror? Where’s the scrounging for ammo and supplies in a hostile dimension of death? And where is the required teamwork and actual cooperation?! Quake is a nearly perfect game, and I took these omissions in its co-op mode personally. After a couple nights of playing Ryan got tired of my complaining, so I cracked open Quake’s mod tools to see if I could make improvements.

Luckily these flaws could be corrected with edits to QuakeC, the programming language id Software made for the gameplay portion of the Quake 1 engine. QuakeC controls the rules, player abilities, monsters, and items in every mode and mod of Quake.

I had played around with QuakeC back in the day and even released a couple tiny mods of my own. So I dove headlong into my mission to fix the co-op mode in Quake. Some of it was pretty straightforward — making the weapons and keys behave more like they do in the singleplayer game was a snap. Now only one person could pick up each weapon or key in each level.

I changed the way respawning works — you now come back to life with only the axe and basic shotgun, and you have to return to your dead body and pick up your backpack of supplies to get the weapons you died with. And the same goes for keys, when you die any keys you’re carrying drop at your feet.

I got the mod compiled and it was ready to play with Ryan! We initially had a blast, and the new rules fostered much more communication between us. “Do you want this nailgun?” “No you grab it, I’ll wait for the grenade launcher!” And when one of us was carrying a key, it became the other player’s job to protect them until they reached the next locked door and unlocked it.

But we quickly realized that there are lots of places in Quake where you can die — lava, slime, spikes — that make recovering your backpack and keys impossible. We didn’t want a single death to make the level impassable, so I added item respawning rules. If someone doesn’t pick up a dropped key in 30 seconds, it teleports back to its initial position in the level. And if someone doesn’t pick up a backpack in two minutes, then any weapons it held respawn at their initial positions.

The twist is that if you had a weapon that’s not placed on this map, and your backpack times-out, then that weapon is gone! Suddenly you’re carrying precious cargo, not just keys and weapons, but that rocket launcher you got a couple levels ago is now really really important! You don’t want to die… and if you do die, it might be worth telling your teammate to take your pack just so ONE of you can have a rocket launcher in this level.

Ryan and I played through more levels together with these new rules. The later levels in the game were getting scary, they felt dangerous and our lives felt fragile, and the items we carried were rare and important. If anything the game got a bit too difficult. The amount of health, armor, and ammo in the levels was balanced for singleplayer mode, and we spent a bunch of time on the edge of death.

This being the mid-aughties, regenerating health was all the rage in video games. Halo, Call of Duty, and Gears of War all let you hide and if you didn’t take damage after a certain amount of time, your health would regenerate. While I didn’t want to drastically change how the health system worked in Quake, I was getting tired of running around with 1 hit point and dying to a single zombie’s glob of guts getting thrown at me.

To combat this frustration, I added partial health regen. If your health is below 25, you have to not attack or take damage for a few seconds, and then you’ll regenerate up to 25 health. But I wanted players to cling to life, so I put in an additional penalty for dying — each time you die you have to wait a longer amount of time to respawn. The respawn timer was a great addition, and it really makes one player’s death painful not only for them, but also for their teammate!

These changes to Quake’s cooperative mode added up to an experience that feels much more like the original game’s singleplayer campaign. It’s scary, monsters are deadly, and there are more penalties for dying! I even added the option to limit the number of allowed respawns, which lets you crank up the difficulty and intensity even more.

Ryan and I played through all of the Quake campaign with these rules, and had an absolute blast yelling at and rooting for each other as we fragged and axed our way through the game’s final level. We even tried it with some of the community-made levels and campaigns, and so long as they didn’t have their own QuakeC changes, my flavor of co-op worked with them!

Luckily Ryan’s cancer treatment went well, and afterwards we went back to our normal everyday lives. I pretty much forgot about this Quake mod for years and years. Since I had my dream job making video games, the idea that I’d release this mod or its code to the public didn’t cross my mind. This mod was also pretty personal — something I made to help one of my best friends through a scary time in real-life.

Fast forward to today and I’m still thrilled and enamored with Quake, and more nostalgic for the first-person shooters of the 90s than ever. I went back and replayed the mod recently and was flooded with memories of playing Quake with Ryan and tinkering away on the mod to make our game nights as fun as possible. And Ryan and I are still pals, playing games together and hollering at each other online as much as our families and jobs will allow.

Quake is having a bit of a renaissance, so I’ve decided to release my custom mod as “Millennium Co-Op for Quake”. It’s not the biggest or most complicated mod, but in my opinion it takes a mode that’s merely functional in one of my favorite games and turns it into something very fun, very playable, and personally very special to me.

I’m happy to say that I was able to find not just the compiled mod, but also the QuakeC source code on an old hard drive. You can grab both of them online here: https://patrickcurry.com/quake/co-op 

If you’re looking to play a cooperative game with friends that's full of action, horror, and most important COOPERATION, give it a try! I’d love to hear what you think of it.