The Kuras Stronghold
- Posted by mariteaux on July 29th, 2020 filed in Modding
- Comment now »
This one’s so big, I had to switch to widescreen to get it to fit in the shot:
Now, my best ideas hit me largely at random, and in this case, in a level full of memories, this one’s another one from my past. The level file itself no longer exists, but a screenshot and a level sketch thankfully does. Meet the secret level of Episode A, “The Kuras Stronghold”. This one will take a bit of explanation, but I’m sure you won’t mind the ramble.
So back when I was still in the scene, I thought that people were largely overlooking a lot of neat gameplay ideas that id1 (the standard Quake progs) still had to offer in favor of shiny, arcane things, ahem. func_train
has always been my go-to example of an overlooked entity that people mostly use in one way, never quite seeing the power in what movable brushes can do. I called my little attempt to rectify this “Episode A”, in that it wasn’t reinventing anything, but running parallel and exploring what the original levels established. My own little reimagining of the vanilla experience, I suppose.
The secret level of Episode A, as is traditional for Quake levels to have, was a nod to my then-current fantasy worldbuilding project, Calelira. The “Kuras” were an ancient clan of aardwolves who made their homes and civilizations underground, being driven back out of their gigantic underground cities and exterminated in events no one’s quite quantified. Rocco, the aardwolf lad who appeared in “Kevin’s Nachos”, was descended from the Kuras.
Admittedly, a civilization like this being anything but utter misery has seemed less plausible to me over time (especially as I’ve gotten less and less sunlight <:3c). Nowadays, I think they probably just slept and kept their valuables and military stockpile underground and had normal settlements up on the surface. Either way, tight corridors, caves, and a very warm palette seemed perfect for a Quake-Calelira fusion, something a little more self-indulgent than the rest of the episode.
(My only other catch for Episode A was that each level was to be built in a different editor, which was a challenge to myself to try a bunch of different workflows. EAMS
was to be the level built in Worldcraft 1.6, the last official version of Worldcraft to support Quake. This is why the scale on that screenshot is so off. Worldcraft pre-3.0 had a DirectX renderer with an abysmal field of view, thus leading to an inability to get the scale of the level correct at best to not being able to see shit at worst. I’m still fond of it though. I learned to build levels on Hammer, Worldcraft’s descendant, so it’s very comfy to me nonetheless.)
Episode A wouldn’t last much longer than DM4Jam. The logs in my Worldcraft folder are dated mid-February 2018. If my own records are to be believed, I started work on “The Drop” in early March, and I don’t really remember working on Episode A much after that. My desire for Quake stuff ran pretty dry past July, and shit started turning especially sour when I returned in September. By that point, I already had Neocities and I was already talking to Caby and dcb and having a much better time, so I just focused on them.
Let’s wrap this back into my current project. So coming up after the watery descent, I vaguely knew where I wanted the player to surface and what the next section of the level would look like, but details hadn’t come to me. Stuff takes time. Given that the player would be coming into a watery cavern and entering some new building, and given “The Kuras Stronghold” starting in a watery cavern and leading into a new building…well, I was rather glad I hung onto the graph paper I sketched it on.
Funnily enough, in my head, the Kuras settlements were not the cramped, built into the rock deals that you see in the original version of the level. They were a lot closer to what I’ve built now, with a gigantic (for me) cavern eclipsing even the buildings and much rock out of the view of the lights. Perhaps the scale is just me compensating for how small the original level was. Also, instead of the vaguely Elder World textureset I was using, I’m instead mixing ikwhite and ikblue, the former for “safer” areas and the latter more inside.
Now, TrenchBroom is basically built for strange 3D geometry. Traditional Quake editors are very rigid in the way they let you manipulate brushes (mostly subtractive, things like carving and cutting) and have no safeguards as far as invalid (concave) brushes go. TrenchBroom, meanwhile, is incredibly efficient at CSG and automatically triangulates concave brushes, meaning it’s virtually impossible to get a properly invalid solid. This means you can drag out a rectangle, pull it up into a box, cut off the corners to round it a bit, pull the bottom vertices out to give yourself some nice, realistic slopes, drag out a few more brushes around it and repeat, get their vertices all nice and lined up, and end up with a rocky cliffside ascent without much hassle. This entire space came about in about two days.
In addition, I have a bad habit of lazily putting together some jagged brushes and then just duplicating that around to fill out a “cavern”, so I made sure to build everything out from scratch this time around. In fact, I actually had to do one bit twice, as QBSP had one of its little moments around one corner of the rocks, cutting away part of the wall and leaving only void visible. This is an issue you can only fix in some cases by rebuilding the geometry. In my case, I covered it up with some more brushwork.
As of my writing this, I’m getting up close to the vanilla game’s max edict count of 600, edicts being any entity that survives the compile process (ammo, monsters, lights with models or sounds, doors, buttons–anything that isn’t func_detail
or info_null
, basically). I’m only about halfway done. This would make this level my very first to require a source port with increased limits, albeit even just a very old one like Bengt Jardrup’s or TyrQuake. Practically, this isn’t an issue, but principally, I do like to maintain complete compatibility with the vanilla game if at all possible. (This has created some fun issues with this scene, thanks to its size; I think I can keep it under 900 polys, but just barely. That old trick of texturing the ceiling black and setting the texture scale to 20 has been very effective at keeping this scene from greying out.)
As a result, while the Dark Saga version of the level will be staying one level, I’ll be splitting the id1 version into two maps and releasing it as a “mod” of sorts. This is already basically two normal-length maps in one, so I think I can make it work. I didn’t intend to go as ham as I did, but hey, might as well make it a spectacular exit, right?
I know what I’ll be doing for the rest of the level, but I’ll leave that up for another blogpost after I’ve built it. I’m tired and I need to stop staying up so late.