Skip to main content

Command Palette

Search for a command to run...

Turning The Underworld into a Scavenger Quest Through Game Systems and Design

A Behind The Scenes Look at Puzzle Design, Boss Encounters and Player Experience in a Dungeon Crawler Customized to be a Treasure Hunt Game

Updated
10 min read
Turning The Underworld into a Scavenger Quest Through Game Systems and Design

Hey wanderers of the underworld. My name is Aditya Gupta (aka MelloHyu), joined by the rest of the brave and occasionally sleep deprived Purgatory team: Dhruv, Yatharth, Lavnish, Joseph, Aarushi, Narendra, Sanjana, Harsheta and Khalid. Together, we built Purgatory, a hell themed dungeon crawler where combat, puzzles, traps, and deduction work together inside rooms designed to test your instincts, your logic, and sometimes your sanity.

Over the past month before Clueminati 3.0 conducted by CodeChef VIT, we have been designing, debugging, accidentally deleting things, and resurrecting people. In this DevBlog, I will be walking you through the journey of how Purgatory’s systems came together, the problems we faced, the funny moments, and the life mysteries we solved along the way.

What is Purgatory

Purgatory is a Top-Down Dungeon Crawler set in a stylized version of hell, while making sure that it is not the usual fire and brimstone cliché. Inspired from the gameplay of the old Zelda games, it revolves around solving handcrafted puzzles and exploration while also offering the Players a simple combat system which they can utilize to face their enemies for extra score points. Since it was designed specifically for the Clueminati 3.0 event, it feels more like a treasure hunt embodied within a game rather than a usual Dungeon Crawler. The Player needs to travel from room to room, finding secrets, solving puzzles, fighting enemies and avoiding traps. All of these provide the Player with score points which add up to their final score at the end to decide who is the winner of Clueminati 3.0 treasure hunt.

Where the Inspiration Came From

We had brainstormed a number of scenarios for our game but from the start we had an inkling that we would be fiddling with the concept of the broody and kingdom-style iteration of hell, and naturally the genre of a lone adventure party came to mind.

This was naturally because in a lot of recent mythologies and western media, modern hell is imagined more as a place of entrapment with clever wordplay and preying on the target’s worst qualities than brute force.

So we focused on these qualities and chose the classic seven layer approach, although we always knew the key layer had to make the cut. It felt like the one ingredient we could not leave off the menu.

One thing that we noticed was that in a lot of fiction, Envy’s lair receives the least attention. It often slips by with barely any explanation, so we decided to turn the idea around and bring it to the center, giving it the weight and personality it rarely gets. After all, “Envy” is as prominent as the others.

Our goal was a game where combat skill matters, but thinking matters even more.
A place where players have a lightbulb moment one boss fight at a time.

Core Ideas Behind Purgatory

Many dungeon crawlers follow the loop of fight and loot.
Purgatory deliberately breaks that rhythm.

Combat Can Be Optional

Players can run past enemies if they find them too difficult or if they simply do not want to. Killing enemies is just an incentive to gain a higher score than the other players.

Puzzles

We designed a mix of:

  • Magnetic box lever puzzles

  • Sherlock Holmes style deduction riddles

  • Treasure Hunts

  • Hide and Seek Encounters

  • Lore discovery chambers

  • Lava and Spike Gauntlets

  • Rooms where the real puzzle is realizing the wall was not a wall

Two Boss Fights Based on Goetic Princes

If you are going to hell, meeting management is only polite.

The entire hell theme relied heavily on the theme of the Goetic Princes of Hell. Each level is a physical embodiment of the sin they carry.

While discussing the direction of the game before the first Expo leading to Clueminati 3.0, we realized that we needed to show at least one Boss Fight to the potential treasure hunters. The vision of a bull charging towards the Player seemed like something we wanted to try to implement. We searched for some inspiration and came across an iteration where a certain Goetic Prince is reimagined as a large gold bull. Thus, we started the game by introducing the gold hauling, fortune loved, “The Goetic Prince of Greed”, Mammon. The boss challenges the strategic prowess of the player by constantly changing its attack pattern. While these attack patterns may seem impossible to counter at first glance, they often had an intentional weak point. I, having personally worked on Mammon, can say with confidence that the bosses were the most fun part of the experience.

The second boss that we designed is “The Goetic Price of Envy”, Leviathan, who is the final boss for now. This boss was a bit tricky to design since we wanted it to give the feel of an endgame. The final consensus was to recreate Leviathan as the huge, monstrous, serpent often portrayed in the media. Thus, the final product was a Serpent that engulfed the entire arena with its body, digging in and out of the ground at will and circling the Player with its body. As Leviathan is often associated with living in deep waters, for the stage creation itself, we decided to give it an underwater thematic style.

A High Score System

Every decision feeds into your final score.
The enemies that you killed among the chaos, the puzzles that you solved somehow, the new rooms that you discovered that hid some secret and how quickly you completed the final center piece.

Building the Systems Behind the Scenes

Like any dungeon, Purgatory’s true structure lives underground inside the codebase.

Here is the ecosystem that brings it all to life:

Inventory and Item Usability

A flexible system that handles picking up objects, using them, discarding them, and occasionally hoarding them like a dragon.

NPC Dialogue System

Powered by the Dialogue Editor tool from the Unity Asset Store.

NPCs are virtual humans too, which comes with its perks and cons.
NPCs can lie, mislead, give lore, give quests, or confuse you completely. The dialogues were not just limited to NPCs either, even the coins splattered over the ground or the never budging walls had some tidbits to express.

SpriteSheet Animation Pipeline

Animating bosses and traps was unpredictable.
One misaligned frame and suddenly the boss started moonwalking.

Our design team did a wonderful job with the sprite sheets and the art style, creating a blend of serious urgency with witty humour. We aimed to create a nostalgic feel with the 16x16 pixel art and a very cool sword.

Stat System

It handles the Stats of each living, breathing object in the game alongside the inanimate ones that were out to kill you like the traps. They consist of basic sections like current health, max health and attack strength. But it is not limited to just these, they also handle the difficulty of the enemy, if the puzzle is solved and so on.

Score Calculator and Backend Score Manager

A run is evaluated based on:

  • Combat Efficiency

  • Puzzle Performance

  • Time taken to complete

We even built a login system with a database, which keeps track of the scores of every challenger that enters. This was, for the duration of the Clueminati 3.0, also responsible for giving the treasure hunters a secret unique clue made specifically for their team at the end of the run.

The team working on the backend for the application, used for Clueminati 3.0, did a wonderful job with merging the game into the event. The participants would sign up using the app and use those credentials to log into our game. Through this, using a route, we updated the score earned each round directly to the database allowing seamless integration with the event. To spice things up, we also used a route to send part of a secret code generated from the backend specifically for each team, to them, on finishing the final round. This allowed us to neatly wrap up the indoor section of the game and give the players a sense of wonder.

Personal Thoughts About the Game

My favorite part is watching players try to solve a puzzle while being chased by the one kamikaze enemy they chose to ignore earlier.

Beyond that:

Designing handcrafted rooms felt like building stories.
Seeing players discover hidden walls we never mentioned was magical.
Creating the Detective puzzle and watching people role play detectives, feeling like Sherlock Holmes by finding the devil hiding among civilians gave a sense of accomplishment.

The boss fights remain my personal favorite.

Designing the phases the boss goes through and the overall systems that go on behind the scenes were exhausting to make and took a lot of time but the end product compensated for all those late-nights. Witnessing the boss come together piece by piece was very rewarding.
Challenging, intense, and narratively meaningful.

Team Experiences and Funny Moments

Here are some unforgettable stories from development:

  • The dialogues for the NPCs kept resetting if we made even a minor tweak in the script. I had to write those dialogues so many times that I have practically memorized them.

  • Someone put a cat instead of an actual enemy in one of the rooms. The cat has now become a mini-boss.

  • A hidden wall was so well hidden that even we forgot it existed.

  • A Test dialogue was left in the final version. We were as confused as the Players when a NPC just blabbered “My Guy” like your high school friend.

Critiques and Lessons Learned

No game emerges perfect from the underworld, and Purgatory is no exception. Here are some of the most important critiques we faced and what we learned from them.

1. Difficulty Spikes

The most common problem that is faced by developers is difficulty optimization, and we were no exception to this. As the developers, we are so used to replaying the game to test it that we do not realize that the things we found easy to do may very well be almost impossible for new players who do not have such experience with the crooks and corners of the world.

Some rooms were gentle and welcoming.
While some rooms sent the Players into a rage.
Players wanted a smoother curve, so we reorganized the room flow.

2. Puzzle Clarity

A few puzzles leaned a bit too hard into abstract thinking.

While it was easy for us to solve since we knew the answer, a new Player did not have enough clues to put two and two together. They often got stuck or occasionally solved them by accident or brute force.
We refined clues and interactions to reduce confusion without removing challenges.

3. Backtracking Fatigue

Replayability is central to the game, which requires minimum backtracking to not bore the Player. While the “Greed” section of the game maintained that linear path, the “Envy” section was not up to the mark due to a lack of time. The overall layout of the stage required players to tediously backtrack more than it should have.
We added shortcuts and streamlined pathways where possible.

4. Combat Balance

Optional combat is fun, but it also means players can accidentally skip too much.

In the playtesting phase, we noticed a lot of testers who skipped the combat rooms to go straight to puzzles. While this was something we promoted, we also did not want the Players to skip out on the whole combat experience.
We increased the score given by defeating enemies which incentivised the Players into killing the enemies to increase their score.

5. Visual Communication

Some traps were visually subtle and felt unfair when they killed players instantly.
We improved telegraphs and animations to make danger readable before it becomes lethal.

Aside from these common mistakes, we also faced a lot of bugs and logical errors due to a lack of a better system foundation. We learned to restructure the code when needed as soon as possible. Another issue that came up was working seamlessly as a team. While we made sure to equally divide the tasks, we did not foresee that we may enter into a stalemate where one developer needs to wait for another developer’s work to finish in order to start his own. As we worked, we eventually learned to plan better and overcome this.

Each critique pushed the project into a better shape and our mental health into the abyss.
In hindsight, the dungeon taught us more magic than portrayed.

Closing Thoughts

Purgatory has been one of our most ambitious and chaotic projects.
The deadline kept creeping up on us ever so slightly, while we scrambled to make the foundations work. Despite the sleepless nights, observing the Players play this game at the event was every dime worth. The project taught us a lot as game developers, and I cannot thank my fellow developers enough for pushing through all the adversities that came our way.

Thank you for descending with us.
And in the true spirit of envy.
We need to be better.