Case Study 2: Slay the Spire --- Deck-Building as Controlled Randomness
The Game That Made Randomness Fair
Slay the Spire (2019, MegaCrit) is a roguelike deckbuilder --- a genre that the game effectively invented in its modern form. The player climbs a procedurally generated spire, fighting enemies in turn-based combat using a deck of cards. Cards are drawn randomly each turn. Relics (passive items) are offered randomly at certain nodes. The map itself is randomly generated. Enemy encounters, events, shops, and rest sites are placed by algorithmic rules with random variation.
By every measure, Slay the Spire is a game saturated with randomness. And yet it is widely regarded as one of the fairest, most skill-rewarding games ever made. Top players can win on the highest difficulty (Ascension 20) with consistency rates that would be impossible if the game were dominated by luck. The randomness is omnipresent, but the player's skill in managing that randomness is what determines victory or defeat.
How does a game built almost entirely on randomness feel so thoroughly fair? The answer lies in Slay the Spire's masterful use of input randomness and the tools it gives players to manage uncertainty.
Input Randomness Everywhere, Output Randomness Almost Nowhere
Slay the Spire's genius begins with a commitment to input randomness. Nearly every random event in the game resolves before the player makes a decision:
Card draw is input randomness. At the start of your turn, you draw 5 cards (by default). The draw is random --- you do not choose which cards come to your hand. But once the cards are in your hand, you see them all. You know exactly what you can do this turn. Your decision about which cards to play, in what order, and which to save is fully informed.
Enemy intent is visible. Every enemy displays an icon showing what it will do next turn: attack (with exact damage number), defend, buff, debuff. This is extraordinary. The "randomness" of enemy behavior is resolved before you act. You are not guessing what the enemy will do. You are responding to what the enemy will do. Your turn is a puzzle with perfect information, not a gamble against unknown enemy actions.
Relic and card rewards are visible. After a combat encounter, you choose from three cards. You see all three. You know exactly what each card does. The randomness determined which three cards appear. Your decision about whether to take one (and which) is fully informed.
Map layout is revealed. The map shows every node, every branching path, every icon. You can see whether the elite enemy is on the left path or the right path. You can plan three encounters ahead. The randomness generated the map. Your navigation of the map is a strategic decision.
🧩 Design Lens: List every random system in Slay the Spire: card draw, card rewards, relic rewards, map generation, enemy encounter selection, potion drops, event selection, shop inventory, random event outcomes. Now ask: in which of these systems does the player see the random result before making a decision? The answer is nearly all of them. The game generates a random situation and then gives the player full information to make the best possible decision within that situation. This is input randomness at its purest, and it is why a run that ends in defeat almost always feels like the player's fault rather than the game's fault.
The exceptions are minimal and deliberate. A few cards involve output randomness (dealing random damage within a range, or targeting a random enemy), but these are the minority and are typically used in deck strategies that benefit from any outcome rather than requiring a specific one. The game's core loop --- draw, evaluate, play --- is deterministic once the draw resolves.
The Deckbuilder's Paradox: Managing the Randomness You Created
Here is the elegant paradox at the heart of Slay the Spire's design: the player chooses their own randomness.
Every card added to the deck changes the probability distribution of future draws. If you add a powerful but situational card, you increase the chance of drawing it when you do not need it and decrease the chance of drawing the cards you do need (because your deck is larger). If you skip a card reward to keep your deck small, you increase the consistency of your draws but sacrifice versatility.
This is randomness management as core gameplay. The player's strategic skill is not about playing the cards in their hand (though that matters). It is about building a deck that produces good hands consistently. The randomness of the draw is a problem the player creates and solves simultaneously.
Top-level Slay the Spire strategy revolves around concepts that are fundamentally about probability management:
- Deck thinning: Removing weak starter cards (via shops, events, and certain relics) reduces deck size, which increases the probability of drawing powerful cards. A 15-card deck draws any specific card more often than a 30-card deck.
- Card synergy: Building around synergies (e.g., all "Poison" cards for the Silent) means that nearly any hand drawn from the deck is useful, because any combination of poison cards works together. This reduces the impact of draw variance --- a "bad hand" from a synergistic deck is still a functional hand.
- Cycle speed: Cards that draw additional cards (like "Backflip" or "Pommel Strike") compress the randomness by letting the player see more of their deck each turn. A card that draws 2 cards is effectively a probability multiplier.
- Exhaust strategies: Cards that "exhaust" (are removed from the deck for the rest of combat) permanently reduce the pool of possible draws, increasing the concentration of remaining cards in future draws.
💡 Intuition: Slay the Spire treats your deck as a probability distribution that you are responsible for shaping. Every card you add is a decision about what your future draws will look like. Every card you remove is a decision about what you will not draw. The randomness of the draw is real, but it operates within a distribution you designed. When you draw a bad hand, you are --- in a meaningful sense --- drawing from a deck you chose to build. The blame falls on your deckbuilding, not on the random number generator. This is why losing in Slay the Spire almost always feels educational rather than arbitrary: "I should not have added that third attack card. My deck was too bloated. Next run, I will be more disciplined."
The Map as Strategic Risk Management
Slay the Spire's map is a tree of branching paths. Each node is labeled: normal fight, elite fight, rest site, shop, treasure chest, mystery event, or boss. The player sees the entire map for each act (of three acts total) and charts their own path through it.
This is input randomness with strategic depth. The map is randomly generated, but once generated, it is fully visible. The player's route is a series of risk-reward decisions:
- Elite fights offer powerful relics but are significantly harder than normal fights. Taking the elite path risks death for a potentially game-changing reward.
- Rest sites allow healing or upgrading a card. The choice between health recovery and card improvement depends on the player's current state.
- Shops allow purchasing specific cards or relics, removing cards, or buying potions. The shop inventory is random, but the player can plan routes to maximize shop access.
- Mystery events have variable outcomes --- some beneficial, some harmful, many offering a choice with tradeoffs. The player who understands the event pool can make informed gambles.
The map system transforms the act of navigating randomness into a skill. An experienced player reads the map the way a chess player reads a board: "If I take the elite on floor 3, I need the rest site on floor 5, which means I cannot take the shop on the left path. But if I skip the elite, my deck will lack the relic I need for the boss." The randomness generated the layout. The strategy is the player's.
Why Losing Feels Fair
The cumulative effect of Slay the Spire's design is that defeat almost never feels random. When a run ends, the player can trace the loss to specific decisions:
- "I took too many card rewards and bloated my deck."
- "I should have pathed through the elite instead of avoiding it."
- "I took the wrong relic at the boss."
- "I did not find enough defensive cards." (This is the one case where players blame randomness --- and even here, an experienced player would say "I should have skipped the offense-heavy card rewards and waited for a defensive option.")
The game creates this perception of fairness through the same mechanism repeatedly: present the randomness, then let the player decide. At every decision point --- card rewards, relic choices, map pathing, card plays --- the player has full information about the immediate situation. They may not know what future situations will arise, but they can evaluate the current choice and make a reasoned judgment.
🔗 Cross-Reference: Compare this to XCOM (Case Study 1). In XCOM, the player commits to an action and then randomness determines the outcome. The locus of control is split between the player and the dice. In Slay the Spire, the randomness resolves first and then the player decides. The locus of control is almost entirely with the player. Both games use randomness extensively. One feels capricious. The other feels fair. The difference is the sequencing of randomness and agency.
Lessons for Your Design
Slay the Spire teaches three principles that apply far beyond deckbuilders:
1. Let Players See Before They Choose
Whenever possible, resolve randomness before the player's decision point. Show the hand, then let them play. Show the map, then let them navigate. Show the enemy's intent, then let them respond. Input randomness creates variety without injustice because the player always has the information they need to make a good decision.
2. Let Players Shape Their Own Randomness
The most satisfying randomness systems are the ones the player builds. A deck they constructed, a loadout they chose, a character build they invested in --- these create probability distributions the player is responsible for. When the distribution produces a bad outcome, the player's first thought is "I should change my build" rather than "the game is unfair." Give the player ownership of the distribution, and they will accept its outcomes.
3. Make Every Random Outcome Playable
In Slay the Spire, there is no such thing as a truly unplayable hand (in a well-built deck). Every combination of cards can be used productively in some way. The quality of the hand varies, but the viability of the hand does not drop to zero. This is a critical design constraint: if randomness can produce an outcome that renders the player completely helpless with no agency, the randomness is too severe. The worst random outcome should reduce the player's options, not eliminate them.
🎓 Takeaway: Slay the Spire proves that randomness and skill are not opposites. They are collaborators. Randomness generates the situation. Skill determines the response. When the randomness is visible, manageable, and shaped by the player's own choices, the result is a game where every run feels different and every outcome feels earned. That is the art of controlled uncertainty.
Further Exploration
Play Slay the Spire at Ascension 0 (the base difficulty) and note every moment where you feel "lucky" or "unlucky." Then play at Ascension 10 or higher and note the same moments. At higher ascensions, the same random draws feel more consequential because the margin for error is smaller --- and your decisions about deckbuilding, pathing, and card play become correspondingly more critical. The randomness has not changed. Your relationship to it has.
For comparison, play Balatro (2024), a poker-themed roguelike deckbuilder that applies many of the same input-randomness principles to a completely different mechanical foundation. Balatro demonstrates how Slay the Spire's randomness philosophy transcends deckbuilding specifically --- the principle of "present the hand, let the player decide" works in any genre where randomness creates situations for skill to resolve.