Ian-Albert.com Contact Me
( Home )-( Misc.)-( Quake Patch )
Strip illustration

When qcc came out for the original Quake, I started playing with modifications to change all sorts of aspects of the game. I never really set out to develop an actual game mod. That is, I never had any big picture of how the gameplay could be made more challenging or fair or whatever. I just wanted to see what I could do with it.

I found an existing patch that supplied a dozen or more grenade launcher modifications which could be cycled through by repeatedly hitting 6. I based my work on this with so many modifications you'd never recognize the code. I completely reworked weapons.qc so that I could plugin weapons very easily. To write a weapon I create another .qc file and include it, then register the weapon in weapons.qc in about half a dozen well-marked places and I'm done. Code reuse was improved. Everything was factored out into easily configurable variables. More debug/cheat switches were added.

The only problem became environment constraints. I found that I can't have more than about 25-30 weapons installed at once or it gets a little crazy. Doors start disappearing, that sort of thing.

At one point, I grafted in a minimal bot engine as well. Again, environmental constraints forced me to take it out.

Sorry, I can't really post the patch, because it's a mess and not really fit for public consumption. Plus there are bits and pieces of other peoples' code and object models, so I can't really go distributing it. If you're a developer and are just curious how I coded some things, contact me and I might be able to bundle up what I have.

Weapons

Here are the weapons as they stand right now.

Axe Standard axe.
Morning Star Grappling hook thing (taken from another patch)
Katana Same as axe, but it looks like a sword, so it's kinda cooler.

Shotgun Standard shotgun.
Deallocator Rifle that literally deletes any enemy from the game. Even works against the final baddie. Before polishing this weapon it would sometimes delete worldspawn, effectively deleting the universe, afterwhich you would fall through the floor forever.
Sniper Rifle Just a long-range, high-powered rifle.
Elephant Gun Really high-powered rifle.
Crossbow Pretty powerful crossbow. Bolts travel a parabola and stick into whatever they hit for a few seconds.
Narrow-choke Shotgun Just what it sounds like.

Super Shotgun Standard super shotgun.
Ultra Shotgun Sorta like a 1 ga. shotgun.
Narrow-choke Super Shotgun Regular shotgun with tighter grouping.

Nailgun Standard nailgun. I didn't create any mods for this weapon because it's just a lesser version of the super nail gun.

Super Nailgun Standard super nailgun.
Flame Thrower Shoots little flames on baddies. Flames will continuously afflict the target with small but persistent damages for several seconds. Jumping in water will extinguish the flames. Fire is communicable if another entity gets too close.
Mega Spikes A double minigun that spits out jillions of little smoking, glowing spikes.
Mini Gun A rotary shotgun.
Whack Now this is fun. When you strike an enemy, it causes them to start swatting at invisible gnats. And really fast, too! It changes their update speed to be waaay faster than normal. Basically, it works by creating an invisible entity that keeps afflicting 0 HP injuries to the enemy, causing them to get angry, but the entity keeps moving and it's invisible and invulnerable, so you just see the bad guy frantically attacking nothing at all. Persists for a half a minute or so.

Grenade Launcher Standard grenade launcher.
Drone Launches a little flying saucer that flies around randomly until it sees an enemy, at which point it flies towards it firing rockets continuously. If it doesn't find any bad guys for a little while it hovers around the player as protection. After a while it explodes, which isn't much fun if it's trying to follow you. Needs some work.
Monster Launcher Just sort of a testing tool. It spawns a demon a certain distance away. Sometimes if the monster is launched into a solid object it will explode, but the severed head will start pursuing you! Very freaky and unnerving!! Also needs some work.
Nuclear Grenade I forget the delay, but something like 15 seconds after you drop this thing it begins glowing and beeping. Then it rises a couple feet off the ground and has a huge initial explosion. Large chunks are shot out in every direction which also explode with enormous force. Basically kills everything in the line of sight, and then some. Drop it and run!
Big Grenade Like a regular grenade but with a longer fuse and larger blast.
Rocket Shooter I adapted this from another patch. After a few seconds, the dropped grenade hovers a couple feet above the ground and slowly begins rotating, rapidly firing rockets until it completes a circle. Excellent for clearing rooms, as long as you're not in them.
Concussion Grenade Causes an explosion with lots of propulsive force but minimal damage. Good for tossing enemies around or "rocket jumping".

Rocket Launcher Standard rocket launcher.
Nuclear Missile Big-ass explosion. I configured it so it doesn't hurt the firer, just everybody else. Kinda lame, but I was tired of destroying myself during testing.
Laser-Guided Rocket Fun, fun, fun. Launch the rocket and it chases a laser dot projected on whatever you're looking at. Works best in very large areas, of course. When it collides it sets off a dozen explosions like a cluster bomb. Makes a terrific amount of noise, and it's fun watching the rocket follow gentle arcs towards your foe.
Homing Missile Works like a regular missile unless it sees an enemy. A reasonably realistic homing missile in that it can't make hairpin curves, and it favors enemies in front of it.
Pin Missiles Shoots jillions of tiny "drunk" missiles. Ridiculously powerful.
Smart Homing Missile Taken from another patch. This is a less realistic but more powerful homing missile. It can turn sharp corners and will simply fly around in circles around the room until it finds an enemy.
Concussion Rocket Like the concussion grenade, in rocket form.
Proximity Bomb Works like the trip mine in Half-Life. Shoot it like a rocket and it will stick into whatever surface it lands on. It then projects an invisible laser beam back towards where it was fired (hint: move!), and if anything crosses the beam a stream of hellfire will be shot along the path of the beam. Stand in a doorway, tick off an enemy, fire off a bunch of these around the room, then watch the fun as they pass through the door.

Lightning Standard lightning gun, if there's anything "standard" about firing lightning from a gun.
Lightning Spell Every enemy visible to the player will be struck by lightning from above. Consumes an awful lot of energy cells.
Fire Spell Similar, but this time enemies are set on fire. Kinda dangerous, because the enemies aren't killed right away, but they do all get angry at you and start firing in their last remaining seconds.
Wrath of God For those reeeeally difficult bad guys. Understand, this is only useful against modified enemies with zillions of HP, or perhaps the end badguy. Using it against regular enemies is pretty dull because it's over in an instant. Once an enemy is targeted, rockets, nails, and lightning will continuously be fired at the enemy out of nowhere, and he will be set on fire as well, just to add some drama. Best used in large areas. Keeping your distance is strongly suggested!

Other Weapons

These weapons either never got to a working state or are currently disabled. Some others had to be removed because they were too powerful and would crash the game.

Anti-door Deletes doors. When you don't feel like finding the key or for those one-way trap doors.
Gib Gun This was just goofy. It's a gun that shoots bloody meat chunks. It causes no damage to the enemy, but is fun for harassing them, and it makes a neat little sploot noise whenever the pieces bounce.
Bombos Named after a spell from Legend of Zelda III. When cast, a bunch of grenades fall from the sky. Not on you, don't worry.
RC Rocket I wanted to make a rocket where you would be able to see what the rocket sees and steer it around corners and stuff, but I couldn't get the camera stuff to work right. I also briefly had a patch where you could see through the eyes of any enemy in the game. Kinda neat, but buggy.
Chain Bolt The idea here was that in a room full of enemies you shoot one guy and the lightning bolt would then hop to the next closest enemy, then to the next, and so on in a chain. Never got it to work right, but it would have been cool looking.
Drop Missile This one was just drama. I wanted it to act like a cruise missile, dropping quickly to a very low altitude and hugging the floor until it collided with an enemy. Again, drama. The only place where it would serve a genuine purpose is for shooting an enemy down a hallway when you're up on a high ledge, but a homing missile would be better suited. This weapon never quite worked right.
Fire Bomb Sets fire to everything in its blast radius.
Flare Sticks to a surface and provides light for a short while.
Kenesis Throws all enemies in the direction you're pointing.
Room Clearer A rocket that shoots other rockets out both sides as it flies. Good for long hallways with little alcoves full of baddies.
Captain Trips Named after the disease in Stephen King's The Stand, basically makes all enemies swoon the instant they catch sight of you. Ridiculously powerful, of course. For testing purposes when I don't want anybody bothering me.

Cheat Settings

I included a number of debug/cheat settings that could be changed via impulse commands.

Weapons use no ammo Toggle switch which turns off ammo use.
Weapon timing Alters the firing rounds per second. Cycles between normal, fast (10 rps), and fastest (rps = fps).
Gibbable corpses Just makes it so you can gib bad guys even after they die.
Same-species attacks If a grunt hurts another grunt, for example, he will attack the other one. Adds an interesting strategy to the game, trying to get one bad guy in the line of fire of another so they'll go after one another instead of you.
Teleport everything Makes projectiles and monsters teleport the same way players do. Kinda fun to shoot rockets through a teleporter.
Lava damage for monsters It never seemed fair that you get hurt by lava and acid but monsters don't. This setting imposes some equality.
Monsters thrown by blasts Just what it sounds like. Important if you want to make use of the concussion weapons.

Miscellany

There are impulse commands to make the player leap a hundred feet in the air or to fly around. There are flashlights and laser sights, too. There's also an experimental setting that makes you as small as a mouse so you can go under doors and things.

One rather useful feature is the addition of four save-position slots. You hit one button to save your position and another one to restore it. Good for getting out of a jam or ensuring you can get back to a place later on.

The most recent addition, which I only completed a few months ago after not touching the code for years, was introducing smooth platform and door motion. Normally, moving objects in Quake move linearly. A platform travels, say, 3 feet per second continuously. It starts and stops instantly, which looks cheesy. I implemented a sort of cubic curve so that the object accelerates for the first half of its path and then decelerates for the second half. The overall travel time is identical, but it looks much better. Some items in the game look better when they move linearly though. Like something shooting out of the wall, for instance. Other things would look better if they only accelerated, like falling platforms. There's no real way for the game engine to know what's what though without recompiling all the levels with an additional flag indicating the prefered movement style.

Screenshots

Crossbow.  Note arrow stuck in wall. Flame thrower Minigun Super spikes
Homing missile arcing towards an enemy Laser-guided rocket Fire spell
Lightning spell Wrath of God
Recent comments
Be the first to leave a comment!
Contact Me