1. Deepest Chamber: Resurrection
  2. News
  3. DEEPEST CHAMBER DEVELOPMENT BLOG #2 - Healing & Testing - how it all works!

DEEPEST CHAMBER DEVELOPMENT BLOG #2 - Healing & Testing - how it all works!

Hey there dwellers!


Healing is a vital mechanic in Deepest Chamber. Your group’s health can be thought of as a buffer that can be relied on when mistakes are made or when bad circumstances come into play. Naturally, the more health you have, the better equipped you are to handle these situations.



Players begin their run with a single Heal card in their starting deck. Early in development, there were no hard restrictions for when the Heal card could be used. This quickly became a problem, as players could easily heal their parties at any given time. In this format the standard tactic was to kill enemies until there was only one left standing, then gather some block and, when in a safe situation, use the Heal card. We thought that this approach reinforced a slow and boring type of gameplay.

After a couple of different approaches we found a solution that made healing more tactical. We decided that the Heal card should only be drawn twice before it became unusable. This way, the player has to think in advance and successfully manipulate other game mechanics in order to end up in a situation where they can safely use the Heal card.

Another benefit to this solution is that, as the player's deck increases in size, the chance to set up a stable and safe situation to heal also increases. With more cards in your deck the Heal card can be drawn less often, therefore remaining usable for a longer period of time. As the run progresses, using Heal gets easier.

Even if you don’t need to restore health, using the Heal card can be a good idea because, once it becomes unusable, it remains in circulation, taking up space in your hand and essentially becoming dead weight.

Testing the systems


As development progressed and dozens of cards and other elements were added to the game, it became increasingly difficult to test out every possible outcome.

After the first six months, it basically became an impossible task, since the combinations of enemy group composition, cards, status effects, trinkets, etc. reached into the millions. At first we developed a simulation system that played the game automatically based on a couple of simple goals called heuristics. These were: remaining party health after a move, remaining enemy health after a move, etc.



The system collects data for every run the simulation has played and reports any crashes. This worked out nicely, but we realised that automatic play based on a few simple goals did not accurately represent how real players would tackle the game. Not only that, but because of its simple goals, this system could not recreate weird moves that, at first glance seemed wrong, but in the grand scheme of things would end up saving a run.

The system was not smart enough. We started experimenting with a solution that would simulate every possible move a real player would make. This was incredibly taxing on our development machines because, once again, we are talking about millions of possible variations. However, it worked out better than the slightly directed first version, since it tried to play every single possibility, with no edge cases remaining untouched. But this wasn’t optimal either. It took hours of computational time to process a few runs completely and if we made balance changes to anything in the game, a huge part of the data became useless.

We wanted to have something that was relatively fast and similar to how a human would play the game. Basically, we wanted the impossible.

In the end, the best solution we found was to let the game play itself mostly randomly. At first this could seem weird, but this solution covered all kinds of play styles and was in no way directed. It was light from a computational standpoint, so we could run a handful of these simulations while we continued to work on our PCs.

This system reported dozens of crashes throughout development and also pointed out mechanic combinations that resulted in game breaking conditions. That being said, nothing beats a real human!


So, as weslowly started to give access to the games to members of the community, we got more and more feedback and reports every single day. And soon enough, the game will be out for all to play.

When that moment comes, we can't wait to see how you guys will exploit all of the mechanics that we've put into this. The moment can't come soon enough.

In the meantime, if you haven't yet, make sure to follow us on Twitter and also join up with the community on Discord! We like to keep the conversation going!

Twitter Official Discord Server

Stay safe friends!

- Team Deepest Chamber