Tuesday, June 22, 2021

new Quake map: Daughter Drink This Water

My fourth released Quake single player map "Daughter Drink This Water" is now out, as part of a community map jam pack called Sinister625 -- where we all made maps that used only 6 textures, included 2 "surprises" (anything more interesting than monsters spawning), and had only 5 monster types, all in celebration of Quake's 25th anniversary this June.


1. Follow this guide to acquiring Quake and a suitable source port (aka game engine) or try the Quakestarter: The Quake Singleplayer Starter Pack (Windows only). Note that Quakespasm-Spiked is currently regarded as the best engine among single player level designers; avoid DarkPlaces, which hasn't been maintained in years. Also note that it is technically possible to get all the necessary game files legally without buying Quake, but for perceived legal reasons, the community does not distribute everything together in a convenient package.

2. Download and unzip the Sinister625 mod, which will already have all the maps and assets configured. Put the /sinister625/ mod folder in the root of your Quake folder, next to the /id1/ folder.

3. Launch Quakespasm-Spiked (or whatever engine you're using) with the mod directory set to "sinister625"... There are two common ways to do this:

- download a launcher tool like Simple Quake Launcher

- OR create a shortcut with the command line parameter -game sinister625... so the full shortcut target line might read something like "C:/Program Files/.../quakespasm-spiked-win64.exe -game sinister625"

WARNING: the rest of this post are my design notes that spoil what happens in the map...

The map is called "Daughter Drink This Water" (a quotation from a book / poem that admittedly I haven't read beyond the title, but I thought the phrase was cool) and it's a large open wintery stone ruins map that initially begins very closed-off, segmented into mini-arenas. As you progress through each fight, you gradually unlock more of the map, until the big finale fight that uses the entire layout.

And that's when some players will recognize the map as Hang 'Em High from Halo 1.

Porting Halo maps to Quake / Quake 2 / Half-Life / Quake 3 is very doable, but still quite a bit of work. First I had to download the original Halo map geometry files, open the files in a Halo mod tool called Adjutant (now known as Reclaimer), and then export the map geometry out to .OBJ. Then I used another tool called OBJ2Map to convert the polygons into Quake-style brushes. The result reminds me of badly decompiled Half-Life maps; every individual face has been extruded into a brush, and to make any of it usable, you basically have to hand-rebuild and hand-merge all the different brushes again. But hey, at least you don't have to guess at measurements. And Trenchbroom has a very convenient "CSG Merge" tool that shrink wraps all selected brushes into a single convex brush, which is great for anything that isn't a rectilinear wall.

Once I rebuilt all the map geometry and started walking around it, I was very surprised by how I barely had to change the map scale or proportions for Quake. Hallways and catwalks were already wide enough, and even some of the same Halo trick jumps still worked within Quake's less floaty jump physics. 

My only real metrics changes were widening the 96u wide passages to a Quake standard 128u wide (mostly to make texture alignment easier / help Quake monsters navigate), and then lining up more ramp jumps.

However, adapting this huge open multiplayer arena was very challenging. After some big slaughter map tests, I decided that a more controlled approach was necessary, and segments would also act as a sort of mini-tutorial for learning how Hang 'Em High works. By playing each part of the map in isolation, we can focus on that specific slice and do some fun encounter design within it. It was also a fun chance to play with some dynamic level layout stuff, implemented here as giant doors disguised as walls.

Surprise 1: the giant walls descend, and aren't static map geometry.

Surprise 2: as a finale, the giant overhang / hovering ship crashes down when you retrieve the gold key.

Surprise 3? (bonus surprise?): the map turns out to be Hang 'Em High?

As for my five chosen monsters, I rely mostly on projectile-based monsters to make good use of the big wide cover-heavy layout:

  1. Enforcers, weak humanoid soldiers who fires dodgeable laser bolts
  2. Ogres, big chunky artillery monsters who lob grenades
  3. Fiends, big demons that run and jump, like big fast headcrabs
  4. Scrags, weak flying monsters who fire dodgeable poison bolts
  5. Vores, slow strong artillery monsters who launch slow homing bombs
Early on, I tried tests with the dogs and the knights, but these monsters almost always had too much trouble navigating the cramped tombstone areas. I'm also generally not a fan of shamblers, the shambler dance is kind of boring. My main regret is not trying some zombies, but enforcers already served the Halo-y cannon fodder role.

For my previous map, I got some feedback that maybe I liked fiends a little too much, so for this one I tried to lay off a little bit... but still couldn't really resist. While ogres are still clearly the best Quake monster, fiends are a close second in my mind. It's just such a shame that they don't seem to work well together -- in my tests, ogres easily grenaded the fiends and caused infighting, so I had to carefully pace my encounters to make sure these monsters didn't interact.

overview map of Halo 1's Hang 'Em High with weapon placement icons

In this map I follow a typical Quake weapon progression, where the player has early access to shotgun / nailgun / grenade, but doesn't get the rocket / lightning until near the end. Encounters gradually ramp up in complexity, but probably peaking about halfway through the map when the player has to fight their way up a heavily defended tower. Scrags get introduced halfway through the map to counter any reliance on grenades / start soaking up the player's nailgun ammo.

Because this map is so open, I have no way of knowing whether the player has explored certain sections to find certain weapons. I usually placed a weapon in a slightly out-of-the-way area to let some curious players acquire it "early", and then 1-2 fights later I also place it directly in the player's path as a fail-safe. There are multiple nailguns, grenade launchers, super shotguns, and rocket launchers. It might feel a bit redundant but hopefully players don't mind.

Maybe the most interesting weapon placement thing I do is my nod to the equivalent placement in Halo 1 multiplayer. The first grenade launcher is where the Halo rocket launcher is; the ring of shadows powerup is where the Halo active camo is; the invulnerability powerup is where the Halo overshield is; the nailgun is where the Halo assault rifle was; and so on. The translation is imperfect, but these differences are what make adaptations interesting.

No offense, but Tombstone is definitely the worst version of Hang 'Em High; way too much going on

This is also the type of allegorical level design effect that Matthew Breit talked about for his single player Quake 1 map pack Underdark Overbright. It's a wink, a brief nod, a fun attempt to maintain continuity between all these different design contexts. But it's also an argument about how the original map works. You keep what was good

Thus my remake is in dialogue with the other remakes too. I purposely avoided the desert theming of Halo 2's Tombstone and overtly alien desert theme of Halo Reach's High Noon. I also incorporated some of their innovations -- I made the central trench more forgiving and added a lift to the far side of the big base -- but I ignored some of the extra interiors they added, which to me, would ruin the surprising simplicity of the map. It's a big box full of stuff, and yet somehow, all these weird cover boxes and catwalks converge into something interesting. The Halo 2 version, in particular, I felt really misunderstood the original map, trying to resolve all its funny shapes into "plausible" structures... and ends up cluttering all the surfaces beyond recognition.

Anyway, thanks to Makkon for the awesome textures, and my beta-testers arkngt, Larry of Larrytown, and Brendan Caldwell for their helpful notes and feedback, and of course thanks to Qmaster for running the jam, as well as the entire Quake Mapping Discord for being an awesome supportive community.

Don't forget to check out the rest of the other amazing community-made mods released for Quake's 25th anniversary:
- Alkaline: a sci-fi "base" themed map pack with new enemies and weapons
- Q25 Limits: a pack of new maps that conform to the original 1996-era memory limits and performance constraints of the Quake 1 retail levels
- Tremor: a similarly themed map pack for "original Quake", but much larger