top of page

Quake

Quake is a first-person shooter game where the player must reach the level of a level by defeat hoards of monsters using a wide array of weapons. Using the weapons and fast pace movement allows the player to traverse through levels focused around combat with elements of exploration and light puzzle solving to reach the end.   

Onslaught

Responsibilities 

Duration: February 24th 2024 - June 30th 2024*

Done while working at Giant Food on Friday, Saturday, Sunday, and Monday usually from 6 am-1 pm

* Went to San Francisco to participate in GDC 2024 on March 16th - 22nd where I did not work on the project

  • Carefully plan out level layouts using 2D level maps to create a basis for the level along with notes to provide further details to the level

  • Create initial prototypes of layouts inside of ​Trenchbroom v2019.6

  • Iterate on initial prototypes through rigorous playtesting 

  • Obtain outside feedback to gain a new perspective on the level to further refine the level​

Planning

I went with Quake as my game of choice after learning about its engine Trenchbroom. Additionally, I thought it would be good practice for me when crafting traditional combat sections against enemies which was the focus of my level. To help communicate my ideas I made an effort this project to put my layout ideas before working in Trenchbroom. These ideas I also provided notes for information that wouldn't be clear with icons. 

These maps would serve as a basis for my level and be edited through many iterations. A pdf is also provided to go more in-depth on my thought process for each level section.

I also created a mood board for each section of the map to provide a visual guide on how I would like my level to look visually. I stuck mostly with visuals in base Quake as I didn't want to go beyond what I was able to do at the time. Some examples are provided below.

Combat Encounter Goals

Goal- Crafting creative and varied enemy encounters that encourage Quake's gunplay and movement. 

  • Focusing on the doorway problem or the issue of the player retreating to a previous area when entering a combat encounter tunneling enemies to an area creates a dominant strategy 

  • Present a variety of enemy types and combinations of enemies to pose a challenge to the player

  • Varied layouts for the player and enemies to navigate through

  • Implementing scripted events that will trigger to provide a unique experience for each encounter

  • Carefully place pickups and weapons to ensure the player has the tools to defeat the enemies​

Implementation of Goals

With these goals in mind, I ensured I could create the best experience for Quake encounters. One major decision was one of preventing the player from retreating to a previous arena. It was done most commonly through a door closing when entering a room, but more creative means were used when the opportunity arose. This prevents the issue of the player having the previous area to retreat to and instead uses the combat area they have to defeat the enemies.  

I also usually provide the player with a point of cover early on. This allows the player to establish a strong basis in the area as they protect from certain angles of attack from the enemies. The cover while not covering everything gives the player a chance not to be overwhelmed by the enemy fire. 

Playtesting Feedback

To help further improve my level I turned to the Quake Mapping discord's playtest channel to gain a new perspective on my project. Plenty of invaluable feedback was provided with some I want to highlight. The biggest one to me was a skip that was possible at my level near the end. This skipped multiple encounters before the final encounter which didn't sit right with me. I made the skip impossible by swapping which button opened the door and which one opened the draw bridge. 

The next piece of feedback was tricky to handle because my level was too easy. I wish to bring a fair challenge to my levels and look into it. Not all the encounters were touched, but a good amount of them were updated to feature an additional enemy. My favorite inclusion would be the added enforcer in the encounter before the fortress. Its inclusion also comes with a new set of stairs that gives the player a risker, but rewarding pathway to the fortress.​​​​​ More specifics are on my level notes doc which link is to the right. 

Takeaways

Things that I learned:

Crafting a level within Quake was a great exercise in handling traditional combat in an FPS. It made me think about handling a diverse group of enemies to challenge the player. Additionally, creating the environment for both the enemies and the players to interact with was fun, but delicate. In my level map, I went with the fiend as the final enemy, but in the final version, I went with the shambler. After some testing, the shambler felt better to face off than the fiend. Due to the shambler's powerful, but slow-ranged attack, it made great use of the pillars in the area as cover. Unfortunately, The fiend got defeated too fast to feel threatened in the large throne room providing too much room to retreat from it.

Despite using Trenchbroom for the first time I never felt uncomfortable using the engine as it acts like Hammer an editor I have experience with. Even with that Trenchbroom certainly presented its own challenges like learning how to use the tools, handle the logic, handling lighting, and making curves were all things that certainly took some getting used to. The lighting while annoying due to it needing to be tested in-game still is a great tool to help further elevate a level. For example used a bright light to help guide the player to a room despite multiple exit points. Additionally, using it near the end to help create a dramatic entrance to the final encounter

Things that I would do differently:

Better use of time

I understand the fact that working a job would naturally make it harder to get in time to work on a project. I still feel like the project just took too long. I am still glad that I got the project done at all, but feel like I still need to work on my planning and organization of the project to be better in the future. This project was a great learning experience for them and I am excited to get better at these skills. 

Using curves

Creating curves in Trenchbroom is a tricky thing to implement as they require a very meticulous setup that I did learn, but was hesitant to implement more into my level. As previously talked about how long I took on the project I understood I needed to make compromises in what I could implement which was a consequence of it. Going forward with this knowledge I will push to try to use them when initially when planning and when making the structure of the level. 

Platforming

There was one piece of feedback that always stuck out in my head when getting it from the people in the Quake Mapping Discord. They talked about how my level didn't try and implement bits of platforming into the level. For this project, it wasn't my focus, but it would be a fine addition as a way to add variety to the level. I sat on the idea for a while and ultimately went against it as I felt I couldn't deliver a refined enough version and focus on more pressing matters for my level. However, for future projects, I would be more than interested in experimenting with the idea.

Closing thoughts

This project was a fun time to go through. Additionally, it helped me get some hands-on experience crafting more traditional combat encounters along with a more thorough planning stage. I wish to use these experiences to help create even better levels in the future.

Shout out to the Quake Mapping Discord for helping me with feedback on my level. The feedback was greatly appreciated and extremely helpful and insightful for things to consider in future projects. I also want to shout out the LinkedIn user on identifying and providing a solution to the ogre. It was an issue I noticed but had no idea how to solve, so thank you for your input as well.

bottom of page