top of page
image.png

About

Summary:

The Requiem is a custom Quake 1 map made using Trenchbroom. The level is designed to fit the player experience of Quake 1 with a new twist: the map evolving as the players progress through it. 

Context:

This project was made during my second year of my education at Breda Univeristy of Applied sciences. The creative contstraints required us to make a level fit for vanilla Quake 1 using Trenchbroom set in a medieval castle/monastery.

Project details:

  • Development time: 10 weeks (09/2023 - 12/2023)

  • Team size: Solo Project

  • Role: Level Designer

  • Engine: Trehchbroom

  • Platforms: PC

  • Genre: FPS

Project Role & Responsibilities

​​

​As the sole developer on this project, my role was to create a map fit for Quake 1 using the tools I had available from scratch. This included:

  • Research and concepting

  • Creating blockouts

  • Designing combat encounters

  • Level scripting

  • Playtesting and iterations

  • Lighting

  • Texturing

Result:

This is a full uncut walkthrough of the level

Design Intention

Design Pillars

Tension

As a player I felt Quake shines when making players feel tense, so I wanted to replicate that by designing a lot of surprise and ambush combat beats to ensure that players are always tense about what lies behind the corner or in the next room.

Resource Management

I wanted to add to the feeling of tension by reducing the resources available to the player, and I wanted to teach the players to be very mindful and strategic with how they use their weapons and ammo during combat encounters

Exploration 

As a result of the fewer resources available in the level, I wanted to incentivize players to explore the level to scavenge for more vital resources, and even find some of the secrets I hid in the level. This would also allow players to get more familiar with the setting of the level.

These design pillars were used to inform and influence any design decision made for the level

4 Step-Level Design

Combat Encounters and Scripting the twist: The evolving map

As a level designer, I wanted to focus on making interesting combat encounters and scripted sequences that would cater to the design pillars and twist of the map and enhance the player experience. To achieve the intended results I used triggers, counters and timers to script the combat encounters, manage waves and guide the players through the level. To be more time efficient given the constraints we had, I did my best to reuse the spaces that took the most time to build by having multiple combat beats and sequences in them.

2 examples of scripted beats and evolving rooms (use the arrows to view both of them) :

Environmental Storytelling

As a level designer, my goal was to make the players feel like they were exploring a abandoned monastery hidden in the mountains. Because of our time constraints given by the university I wasn't able to satisfy my quality expectations with the result I submitted for assessment to the university, so I took 2 extra weeks after submitting to retexture the level and polish the geometry to improve the aesthetics of the level. 

Modularity

To help speed up the development and iteration process I took the time to make a modular kit for the geometry that I was reusing often in the level. This allowed me to be very time efficient when blocking out room layouts and texturing and enabled me to deliver rapid iterations.  

Research

While researching Quake, my goals were to understand the player experience, the flow and structure of the levels, the design of the combat beats, and the enemy and weapon variety.

I created a separate gym level and used that level to conduct experiments and investigations to find and document all the relevant metrics that I would later need to blockout the level

Screenshot 2025-04-21 101418.png

Our constraints were to set our Quake level in a medieval castle or monastery, so I researched the structures of European medieval castles and monasteries to get more familiar with, the rooms they contain, and their layouts and functions, which helped me find inspiration for my designs.

 

I took inspiration for the high-level design of my level from this famous monastery in my home country because I wanted to design a level with a mixture of open outdoor and closed indoor beats, based on my playthrough of Quake I found the open outdoor beats to be more visually striking, and I wanted to replicate that sense of awe in my level. I also took this chance to pay homage to my origins.

Playtesting and Iteration

Throughout the project's pipeline, the level went through multiple rounds of playtesting and iteration before I could finalize the layout of the level. The first rounds of tests were done internally by classmates and teachers, however, I also wanted to test my level with the Quake community, who were my target audience, so I sent my map for testing in the Quake mapping discord server in the later stages of production. I got lots of useful feedback out of the playtesting, particularly from the Quake community, as they are much more familiar with the game as players and helped me make more informed design decisions on how to create a level fit for Quake as a level designer.

I also kept track of the changes for each room for each iteration of the level in this conditions of satisfaction document: 

Conclusion

Creating this level was very valuable experience for me as a level designer. I learned a lot of lessons such as how to create a level within the limited constraints of an older tool and the creative constraints we were given by our lecturers, how to design and balance spaces with scale and combat flow in mind, how environmental storytelling plays a huge part in players immersion and how to use geometry, lighting and textures as worldbuilding tools, and how to create scripted beats and sequences that facilitate the intended player experience. 

My proudest achievement is using an older tool and game and giving it a bit of a modern twist with the evolving map. I had to get creative to implement my ideas for the evolving map and create a bunch of workarounds in the engine, but I think I was largely successful with my goal, and I'm proud because of that.

bottom of page