Cargobay
Cargobay is a fan made level for quake 2, setting players within the boots of the quake marine, as he fights towards an armaments factory with the strogg's war plans for earth.
Project length = 6 weeks (72 hours)
Behind The Scenes
Cargobay is a standalone level available for the quake 2 remaster, built in the Trenchbroom level editor. The level follows the design conventions seen throughout the official game and other mods, such as the focus on fast and satisfying gunplay, abstracted level design to fit the map within technical limits and hidden secrets/routes.
​​



The initial idea for the level was to create a more expansive and detailed map similar to other mods in the genre as well raising my own standards with my work. The level focuses on tasking players with simple objectives and linear pacing like in the base game, but with a focus on more expansive environments and setpieces, with the tower being the main focus.
The original idea was to take place within the factory before moving outside similar to early stages in the original campaign, with the player coming back in for more CQB fighting and as they progressed up and up the tower, they would be able to look back on the progress made for intrinsic satisfaction.
level conventions for quake 2 in particular and overall lessons were made note of with a focus on abstraction. This means making simple rooms and objectives more detailed through pathing, spatial design and player agency, done through buttons, secrets and story prompts.
Other lessons were one way gates and smart looping for optional routes, such as the secret shotgun before the industrial lifts. Bait and switch tactics were also used more heavily, but this can be expanded in later levels with full on fake rooms, accompanied with story prompts for exploration.
Pacing was done through balance of new weapons, pickup placements and temporary powerups, which worked to a extent as the players arsenal is expansive at the end of the level. Additional levels in the future can improve on this by using a theme of weapons, or by more consistent with a weapon per 3 rooms, with the following room being tailored after the new weapon. If the idea is to make a larger campaign, or chain multiple levels together, then having the weapons be seperated by theme could make the player feel stronger as the levels and environments unfold.
Level Sketches




The final level shown is quite similar to the original idea with a few compromises due to technical limitations within the engine and level file format. All of the level layouts were added but changes had to be made to the idea of the tower always being present throughout the level as a waypoint due to limitations with skybox usage. The balcony being able to oversee the previous parts of the level also had the same issue and so the direction was changed with teleporters to another area outside the players mental map to get around this issue.
Other slight changes were made to pickup balance, alongside the air vents shortcut route seen in the final version to remove the need for unnecessary backtracking. Certain enemies such as the piranhas were added for underwater combat, alongside lighter infantry acting more as cannon fodder to phrase the real enemies in the rooms.
The level first started out with the opening of the outside segment to allow for testing of the lighting system and the skyboxes for a built version of the map, then the work started backwards with the tunnel being the first priority due to its rounded angles and more detailed shape. Once that was added and optimised after a couple of iterations, the first facility was blocked out with the addition of more cover and the pillars in the 2nd iteration.
Certain optimisation techniques used in the quake 2 remaster are similar to source, with trimming of skyboxes, no draw textures to save on VRAM and func_details being used to avoid generating visleaves on smaller/minor props for faster compile times.
WIP Screenshots


















After the environment is blocked out with brushes and optimisations are applied, textures are added and edited for seamless transitions with UV repeating being avoided. Lighting is also added afterwards, however later on the lighting pass would be done BEFORE the art pass to allow for better composition and light affordance with certain textures then being placed to make the scene more believable.
The outside segement was done with this same workflow but with more of a focus on using the shear tool to distort the rectangular brushes to make more natural smoother terrian. This technique is also accompanied by boxing this area within a cube and making it func_detail, with the cube itself being structural and therefore shielding the terrian from the compiler.












Triggers were then started to be implemented, with the in/out system allowing for triggers to have names and doors allowing to be easily triggered with door chutes allowing the prop to be moved in a believable way. This type of trigger would also be used to display story prompts later on.
The acid pit area would also include different types of triggers for a scripted moment if people fall into the pit. the water texture itself would be made into a trigger that would teleport the player to another trigger at the beginning of the pit with the story message. Above the water would be a trigger_hurt that would damage the player just before being teleported.
The tower area itself followed very closely to the intial design, with its underwater secrets to mirror the original game, as well as enemy/pickup plcements, pathing and points of interest. However major changes were made to the size of the tower and the skyboxes around it.
Due to the engines limitations on view distance, and basic cube brushes not needing LODS, the tower failed to render properly throughout the level and was abruptly cut off. This was fixed by simply tweaking the design of the tower to rely less on size and more on texture/colour theory. This meant the idea of the tower being persistent across the level was also sent to the cutting room floor, as the skyboxes had to be shrunk to avoid hour long compile times for







Editing the brushes surface value and content values allowed for underwater gameplay in its first iteration. The 2nd iteration added misc_corpses that scattered the tunnel with some being drowned and others bleeding out on safe surfaces with different positions done through tags applied in the attributes of the prefab. This would then be applied to the pit to show soliders who fell for added detail alongside later on in the tower and balconies.
The 2nd outpost alongside the cargobay itself were more simple in theory to act as a break, with the cargobay using crouch spots for more varied travel and to teach the mechanic later on for when more waisthigh cover is added.







The inside of the tower marked a turning point in the level's creation, as the tower was segmented away from the previous area unlike other levels done in custom engines outside of unreal, which allowed for better iteration and selective rendering of areas for quick testing.
Additional rooms were constructured before the main supply hub room to pace the level better and to give more diversity to the towers athestic. New changes were maded to the room's wall layouts to make it more narrow to funnel the player throughout the halls. side routes and hidden spots also started to make an apperance to give more options for players to chose from for fun and extra detail.
The rest of this section mainly followed the original design with the biggest changes being the additional rooms before the switches to experiment more with sub-elevation alongside the airducts that lead back to the secret room for smarter backtracking, similar to what the cave secret utilizes earlier.
The idea of using abstraction and smarter looping for going back around for the shotgun makes an apperance here to good effect, with perhaps future quake levels having this as more of a common theme with perhaps rewards near the ending for intrinsic value, done through counters and smart trigger placements for explorers.























The industrial lift section is the first case of elevators, which have the convention of using the same texture set across the level to make it clear what is and isn't a lift. This room makes itself unique by offering a larger sense of scale with some minor platforming, illustrated through light affordance through emissives.
Teleporters are used in a combative sense as they can give the player an elevation advantage with the player dropping back down on top of the pipes for a more satisfying combat scenario. Armour also makes its apperance and gives a more forgiving balance to the players who seek these items out. The lifts are also used to give a sense of the facility still being operational for a more believable environment.







Additional smaller rooms were placed before the balcony in the same sense as the towers beginning, but instead of focusing on combat, this acts as a mental break from the previous combat area. Smaller ramps and pickup platforms start to popup to keep the level fresh.
The balcony segment starts to expand on skybox usage by breaking up the views with pillars and natural roofing to give the feeling that the balcony is imbedded within the mountainous terrian. Lifts are also used to keep the theme of elevation on going, with tight corners and shimmy ways reinforcing the height of the level.
Clip brushes are also implemented at this point, with player and monster clips on the edges of the balconies/paths to prevent the player/entitiies from jumping out of bounds, with monster clips being placed on the top platform to give them an height advantage against the player.
Originally, a large greyish monster known in-game as the shambler makes an apperance as a sort of mini boss, however this did not fit with the more CQB nature of the area, so instead it was replaced with a flying enemy, the deadulus, which then reappears later on in the level.






The next balcony follows the same structure with a shorter side room before to break up the combat situations, except environmental dangers now start to pop up with the use of explosive barrels. The grenade launcher is also placed before the barrels to act as a hint on how the player should use the weapon. Monster clip brushes are also placed around the barrels to keep the infantry trapped to make it easier for players to use the barrels to their advantage.
This can be improved in future levels by adding the weapons earlier without making the player use them up until the barrel section to make the player feel smarter.
Roof skyboxes alongside the viewing sections give a more composed look to the environment, with a mixture of powerups and pickups helping to add balance for the no mans land near the pillars of the level. An optional armoury is locked behind a button on the top platform which gives access to the super shotgun.





The maintenance shaft was designed to indicate the end to both combat and the balcony segments through use of sharp elevation with player clips being added at angles around various props to prevent players from sneakily breaking up the descent. Additional thought was also given to the texture themeing here to clearly show how the the water was flowing into the room through grates on the ceiling.




The computer room experimented more with interior scale as well as a return to platforming to break up the gameplay loop with a more cinematic focus on the sci-fi theme. Originally, this design was going to be a purely unlit room with a never ending drop to intimidate players during the platforming segment, however because the BSP file format for the level was starting to have its limits reached, this was scrapped and compromised for a large computer room instead.
The BFG is also introduced right before the final boss fight to feed into the power fantasy that is seen in the original game conventions.
When you look at the original sketch, the boss fight was supposed to be followed by a underground segment filled with sewage and waste that would mark the emergency exit of the tower and therefore the end of the level. However, the BSP level format was maxxed out on both brushes and texture sets used due to the scale of the level. This results in Trenchbroom compiling the level into a QBSP format, but this breaks the enemy rendering, de facto making the level unplayable.










The computer room experimented more with interior scale as well as a return to platforming to break up the gameplay loop with a more cinematic focus on the sci-fi theme. Originally, this design was going to be a purely unlit room with a never ending drop to intimidate players during the platforming segment, however because the BSP file format for the level was starting to have its limits reached, this was scrapped and compromised for a large computer room instead.
The BFG is also introduced right before the final boss fight to feed into the power fantasy that is seen in the original game conventions.
When you look at the original sketch, the boss fight was supposed to be followed by a underground segment filled with sewage and waste that would mark the emergency exit of the tower and therefore the end of the level. However, the BSP level format was maxxed out on both brushes and texture sets used due to the scale of the level. This results in Trenchbroom compiling the level into a QBSP format, but this breaks the enemy rendering, de facto making the level unplayable.
To get around this, the end of the boss fight now includes a red herring corridor similar to that seen in the half life series right before loading portals, ironically done on a newer engine using quake's engine as the foundation. This red herring would then reload the level in this case to show the level's complete. The idea was to have a intermission screen, with a selected camera angle and stats to show the players achivements, but this was only included in the first quake game since the 2nd tries to be more immersive by having level after level being loaded.
Another way to expand on this if it reared its head earlier, would be to have the level broken up into 2 levels, side A and side B. The loading portal would be in the middle of the fall during the maintenance shute to avoid players constantly retrgging loading screens. The new side B would then avoid technical limits due to file/brush size and could have been finished in full.
Other levels in the future could expand on this by having the level after the portal load include the same room and small parts of the previous level with the trigger being slightly changed to avoid breaking immersion.
Lastly some slight changes were made after the level was completed start to finish, including story prompts, music changes, secret placements and changes to door triggers in both removing unnecessary attributes for optimisation and allowing messages to be played out in full.
WIP Screenshots



Technical Issues
Throughout the development of Cargobay, many technical quirks showed up that were of note in the level building pipeline that Trenchbroom uses. Some examples being that all brush intergers needed to be on the grid to avoid floating point intergers, as they would increase compile times or not render properly all together. Furthermore, angles would have to be done with 45 degree approximations using the shear tool, with the rotate tool essentially being a red herring.
For those interested, here's a total list of all the technical quirks/issues throughout the mod development.
​
-
Holding SHIFT on brush faces and dragging with ALT held down allows the editor to fix UV texture transitions across various face for better consistency.
-
Whilst the UI is different, many fundamentals, such as light building, compile times, types of optimsation methods, entity classes and In/Out chains are near exact to old school hammer, with decals being the notable feature missing.
-
Shortcuts to fix floating points, alongside tool and brush shortcuts helped to speed up blockouts which more engines should take note off.
-
Having the ability to set up 3 different rendering profiles for compiling helped to speed up iteration for checking lighting or just for fixing quick bugs.
-
Because the quake 2 remaster engine is a bit more volatile, parts of the level were done piece by piece with brushes, texures, lighting and enemies rather than passes like in hammer which worked out well when combined with backups.
-
Using func_groups to batch walls together has the unintended effect of removing attributes, which broke the skyboxes at one point.
-
Due to there being seemingly no difference in emissive quality, this was removed which dramatically sped up compile times.
-
Elevators were done through through entity_plat, with the lift being placed at the top of its peak and then using math to subtract how much the elevator needed to drop.
-
misc_ambience only needs to be placed once in the level, otherwise they stack and cause audio clipping.
Overall I consider Cargobay to be one of the better levels made throughout the level design journey, with higher standards, variety of environments and player balance. Routes also feature more abstraction then previous works with implementation of music similar to that of original levels. Trenchbroom as a tool was fun and easy to use with its brush based workflow being more favorable then modern methods seen in engines like unreal.
Gameplay Footage
Technical Breakdown
Skills Learnt
-
Learnt brush based level deisgn alongside creating an expansive level within 6 weeks
-
Improve design skills by focusing more on abstraction within linear room design
-
Refined exploration of level editors
-
Tackled skillset issues such as proper pacing and gameplay balance
-
Importance of lighting passes to coincide with art pass
-
Proper mission length and content to achieve higher level design standards
Skills Used
-
Trenchbroom
- Optimisation techniques to fit within technical constraints
- Iterative development