Deep Dive is an ongoing Gamasutra series with the goal of shedding light on specific design, art, or technical features within a video game, in order to show how seemingly simple, fundamental design decisions aren't really that simple at all.
Check out earlier installments, including creating believable crowds in Planet Coaster, achieving seamless branching in Watch Dogs 2’s Invasion of Privacy missions, and creating the intricate level design of Dishonored 2's Clockwork Mansion.
Hi, my name is Arnold Rauers and as Tinytouchtales, I've been creating mobile games since 2012. I’m mainly a game designer, but I also do the coding on my games.
Together with various talented people I've released several games, most notably Card Crawl, ENYO and recently my solitaire-style stealth card game called Card Thief. I don’t have a fixed team setup, but I normally work with one artist and one composer on a game.
What: Designing for tension
Card Thief tries to create the experience of being a thief who sneaks into a castle, steals the objective, and escapes the building without being seen. While series like the original Thief or Metal Gear Solid have taken on the stealth genre mainly in the 3D space, I wanted to create a card-based version of the same concept.
In order to create what I think is most important in a stealth or heist game, I designed several game systems that all feed into the idea of creating a high tension experience.
1) The Path
Card Thief’s core mechanic is creating a path through a grid of 3x3 cards. The core action which the whole game is based on is selecting a card that can be connected to the Thief, or the last selected card. Connecting cards is based on a few rules that describe if you can select a card or not.
"The longer the distance you have to travel while trying not to get caught, the more difficult it should become."
While coming up with the concept of the game, I looked at several ideas for how I could represent the sneaking in a stealth game in an abstract way. While thinking about the activity of sneaking itself, I had the idea that the longer the distance you have to travel while trying not to get caught, the more difficult it should become. This idea lead me to the first tension mechanic of increasing the value of each card based on the length of the path / the amount of selected cards per turn.
The idea here is that each card’s base value is multiplied by the current path value/difficulty. Since there a several cards that can either be good or bad, it highly depends on which cards you selected in which order. A card that helps you to increase your stealth is good when it’s selected late in the path. A card that reduces your stealth is good when it’s selected early.
While working on the path mechanic, I felt that I needed to increase the depth of the system itself. In the first iteration, the path increase was only governed by the number of selected cards. But I felt that the position of your thief should also matter.
Thematically, you could start from a better hidden position and maybe not increase the difficulty that quickly in comparison to worse starting positions. I worked on several iterations of this idea, and finally found a good rule to govern the path value increase. A card that is not adjacent to your thief will increase the path difficultly. This way, it greatly matters on which spot of the board you start the path. While the outer corners will give you the potentially biggest increase of the path value, starting in the middle will not increase your path at all, since all cards are directly adjacent to you.
This mechanic lead to very interesting decisions where in addition to thinking about your current turn, you also have to always think about you next turn, because where you end this turn will influence the next one as well. This increases the tension of each turn quite a bit.
Stealth in Card Thief works in a rather simple and abstract way. In other stealth games, your stealth, or the potential of being seen, is communicated in a very analog manner. In Thief, it’s represented through a gem that is bright or dark, in Skyrim, it’s represented through an eye icon that is open or closed. Between both states — completely invisible and completely exposed — there are some more nuanced states that make sneaking around very interesting.
I knew that I wanted a very binary system for my game, where the player always knows what actions will lead to being caught or surviving for just one more turn to get to the next sneak card, or even the exit.
This is why I represent stealth as a simple number, and attached a few simple rules to the detection mechanic.
If the thief is in the shadow,she can’t be seen (Note: This rule is broken later in the game with Owl-Guards). As long as the thief has at least 1 stealth, she is invisible, even when she’s in the light and a guard is directly looking at her.
If the thief has less than 1 stealth and is standing in the light, and a guard is looking in her direction, she will get caught.
"Pretty early on in the game, I decided that the stealth value of the thief should have no restrictions."
In addition to that, if the thief tries to sneak past a guard, and this guard will decrease the thief’s stealth to less than 0, she will as well get caught. This makes up a pretty binary system where you have total control over each move, and are able to anticipate any upcoming threads.
Pretty early on in the game, I decided that the stealth value of the thief should have no restrictions. This ties back into the analogue feeling of other stealth games I described above. Having a clear system on how to lose, which also allows for some faux in-between states.
You always start out with a default stealth of 10, but with clever moves you can increase you stealth way beyond that. On the other hand, you can also decrease the stealth of your thief to any negative number.
Each card thief deck contains a bunch of obstacle cards like torches or doors. These cards each have special purposes but also a common idea of not being an immediate threat to the thief. This introduced yet another interesting tension mechanic: Even though the thief is already at 0 or less stealth, she can continue to select obstacle cards and further decrease her stealth to get into a favorable position on the board or hope for the next good card to be dealt.
The more you reduce your stealth, the harder it will become to regain all those stealth points with sneak cards. But finding a Hide card in the right moment (Hide cards replenish your stealth to 10) will become incredibly satisfying.
In addition to that, there is no better feeling in the game then to finish a high stakes high reward game with -15 stealth, just barely making it out unseen!
3) Guards as Treasures
As stated before, most cards in Card Thief are either good or bad for you. In general there are only 3 types of cards.
- The ones that will increase your stealth (Sneak/Hide)
- the ones that will decrease it (Torches/Enemies/Obstacles)
- and cards that can increase your score (Treasures).
Thematically stealing treasure is the main motivation of a thief. While playing around with the prototype, I thought about how I could increase the ways to score in the game. Picking up big treasure cards at the end of a long path feels really good, but isn’t very interesting gameplay wise. You basically always want to do it, and there is no downside of doing it.
This is why I introduced pickpocketing. Again, coming at it thematically, pickpocketing is a super high-tension activity. You not only need the right skills to do it, but also external factors like lighting conditions and the current attention state of your target are important factors when you attempt to steal someone's wallet out of their pocket.
This idea led me to implement pickpocketing in the simplest possible way. If a guard is either in the shadow or facing away from you, you can pickpocket him. His current card value is added to your score. Guards now serve two purposes at once. While they will also decrease your stealth, they potentially can increase you score by a huge amount.
This leads again to another high tension mechanic: Do I increase the path and pickpocket a lot from this guard, but also lose a lot of stealth doing it? Or do I remove this guard early while keeping my stealth high, but losing another card that could lead to a high score?
Chests are the main objective of each game. The player is tasked with stealing the chest card and carrying it out of the the castle to complete a game.
I tried to integrate this basic gameplay flow into Card Thief in an abstract way. Since the game is quite linear in its level design, I can’t really place the chest in interesting "locations“ where enemy or obstacle density is higher and the danger of getting caught would be higher as well. But since it’s a heist game, I still wanted to have some kind of danger to stealing the chest
The first idea I had was hiding the card somewhere in the deck, which quite literary meant shuffling it in. I quickly realized that the chest could spawn as the first or the last card, and that would break the "looking for the chest“ part. While still having the flow in mind, I came up with the idea that the most interesting location the chest could be in would actually be the middle of the deck. This way, I can emulate the flow quite well, because to find the chest the player would have to work through the first half of cards, and to get out she would have to complete the second half as well. So the basic rule for hiding the card is "The chest card gets dealt when 50% of the cards have been played“.
The second aspect of the chest is its value. How do I decided what value the chest has? In the first iteration of this question, Card Thief still had some sort of increasing difficulty system. Each successful game would raise the difficulty of a castle, and with it the value of a chest. At first, this seemed like a cool idea, since I now have a good explanation of why the chest would increase in value, since each run it would be guarded increasingly well. This introduced a nice dynamic of trying to get to a higher difficulty. But it turned out that this way of structuring each castle would demand more balancing and making sure that each increase in difficulty would still be transparent to the player, and also interesting to play.
I went back a step and thought about the increase of difficulty from a different angle. I then asked myself, "What if the player could decide how much risk she want’s to take to get a higher value chest?“ This question led me to the idea of chests increasing their value each time the player would make a move. The basic rule is "Once a chest is spawned its value increases by 1 each time the player completes a turn."
This system led, again, to another high tension experience: Stealing a chest early means the player won’t get a very valuable chest, but the chances she can steal it (because of the stealth needed to pick it up) and actually win the game become higher. On the opposite side, the longer the player waits, the more difficult it will become to steal it, while the reward increases as well.
5) The Exit
The finale of each heist, the great moment where all the tension is released and the thief finally makes it out of the bank, is the most exciting moment in many heist fantasies.
In its basic version, Card Thief already delivered this sort of experiences pretty well, and it was indeed a cool moment to end the heist.
Since the game is played on a 3x3 grid that is filled up by cards, I ran into the issue that even after the last card of the deck is played, I still would need additional cards to fill up those empty spaces to give the player the ability to move, since my path system would break down with empty spots on the grid.
Luckily, I could turn this "issue“ into another great tension mechanic. Once the deck is empty, the system continues to deal cards, but only enemy and obstacle cards. This way, I could ensure that the game will have a definite end, because the player will run out of stealth points eventually. The interesting part of this system comes from the pickpocketing mechanic described earlier. Even after the last card is dealt, the player can continue and try to pickpocket a few extra treasures here and there to increase her score, while taking the risk of getting caught next to the exit card, which ultimately creates the highest levels of tension in the game.
The idea of creating tension through a set of abstract mechanics were governed by the limitations the game had upfront. Small mobile screen sizes and the fact that the game had to be a solitaire-style card game made it easy to be creative with the limited set of interactions the players could have. Having a strong core mechanic and building the game’s additional parts on top and around this mechanic made the design process easier.
Staying within the fiction of being the a vulnerable thief who has to remain invisible without any exceptions also helped to further develop the mechanics that create tension and risk/reward. Through the abstraction of the cards, a few things that are quite unbelievable/too abstract, like negative stealth, could be communicated very easily, and players seem to not lose immersion.
Different mechanics that feed into one core experience can create a rather strong feeling for the player, no matter how abstract they are in the end. I always knew that the game had a lot of depth to offer, but at the expense of accessibility. A lot of players struggle with the initial learning phase of the game. Even though our tutorial is quite fleshed out, we still don’t teach every little bit of all interactions, and leave some open for discovery. In general, I think we as a team could deliver the experience I was aiming for when I originally designed the game. For my next game, I will do the same: Find a core mechanic that cultivates a strong experience, and build each part of the gameplay upon that.