Crossfire: Riding Your Luck until it Explodes: Pacing and Tension

Shadowrun 5 Crossfire Logo

Most deck-building games rely on competition for cards and victory to keep the action moving. Stalling on your turn in a competitive deck-building game is death. Heck, there’s even a mini-cottage industry commemorating Dominion’s fail-by-1 outcome of 7 coins.

As a cooperative deck-building game, Shadowrun: Crossfire has a much more direct problem with stalling. Players build their decks one turn at a time, but they’re not competing for resources and victory points. The goal is to survive, together, to fight through all the corp-bought shamans and security drones the game throws at you. If hanging out for a turn was any kind of good idea in Crossfire, everyone would applaud when another runner stalled. Well, they’d applaud for a turn or two, and then interest in such a snooze-fest would fade. Most likely, those folks would never get around to playing a second game.

So we added a couple of pacing mechanisms into the design. The key mechanic for ratcheting up the tension is what I named the Crossfire deck—a deck of fifty cards (so far) that represent new problems, frakked-up situations, ugly developments Mr. Johnson failed to warn you about, and other dramatic beats tied into the Shadowrun universe.

Generally the runners face a single new Crossfire card event each cycle around the table, which is flipped up before the first player’s turn. Everyone gets used to holding their breath as the next Crossfire card is put into play. It’s not just the immediate effect of the card that hits you, it’s the fact that when previous Crossfire cards slide into the discard pile the effect of the next Crossfire card is likely to be far worse. A good shadowrun is a fast shadowrun. The nasty effects that trigger when too many Crossfire cards have built up in the discard pile can turn a successful run into a fiasco.

I was happily surprised that the fun of designing the Crossfire deck was the same style of fun you get from GMing a good roleplaying session of Shadowrun or most any other RPG. You want to provide problems and adversaries that challenge the PCs and ratchet up the tension without outright killing them. In the roleplaying games I generally enjoy most, the players know that being serious screw-ups is going to have nasty consequences. That’s part of the GM-player contract, in which the GM has to maintain at least the illusion (and probably the actuality) of serious consequences for messing up. Crossfire adjusts the contract so that it’s no longer suicidal stupidity or awful roleplaying that flat-lines the team, it’s taking too damn long to get in and get out.

The Crossfire cards that push the runners closer to the edge are a mix of situations straight out of the Shadowrun roleplaying game and themes that play off elements of the SR universe but couldn’t quite show up in the RPG. To help you get a feel for this mix, let’s start by looking at three sample Crossfire cards.

Time Bomb

    When this card is placed in the discard, each runner takes 1 damage.
    Crossfire 8+: Instead of taking 1 damage, each runner takes 3 damage.

We’ll start with this card because it makes the pacing system brutally obvious. There is one way to make sure that the Time Bomb never gets put into the discard: whenever the runners finish off all the obstacles facing them and move on to the next scene of the run, the current Crossfire card gets buried at the bottom of the deck instead of being put into the discard. So Time Bomb makes the situation completely obvious: finish off all the obstacles this time around the table or everyone is getting blown up a little. If there are 8 or more Crossfire cards already in the discard pile, it’s no longer a little bomb—you’ve been on this run too long and you’ve got this one final chance to get out with your skins and your rep intact before you’re blown-up-a-lot.

Yomi This

    Yomi This
    The Attack Strength of each Dwarf, Elf, Ork, and Troll obstacle is increased by +1.
    Crossfire 5+: In addition, damage applied to non-Human obstacles by non-Human runners is prevented unless there are no Human obstacles in play.

This is an example of a dramatic situation that plays off elements of the Shadowrun universe without being something you’d encounter directly in an RPG session. If you’re a Shadowrun fan, you know that Yomi Island is where the Japanese Imperial State relocated most of the metahumans in its sphere of influence. Like most internment processes, it wasn’t pretty. So this is revenge for the metahumans. If the number of Crossfire cards in the discard pile is already up to 5+, then your own metahuman runners get swept up in the frenzy and can’t target metahuman enemies until all the human enemies have been removed.


    The Mage chooses a runner. That runner places the top card of the Black Market deck into their hand. Then flip up a card from the Normal Obstacle deck and place it facing that runner.
    Crossfire 4+: Instead, flip up a card from the Hard Obstacle deck to face that runner.

Harlequin shows up where he’s not expected and dispenses “gifts.” Special gifts, with consequences. Inserting the legendary Harlequin into our deck-building game’s first offering would have been a mistake, so we opted for a touch of his influence. When this Crossfire card shows up, one runner will get a free card from the Black Market deck. That’s wonderful, right? Not so fast! Then that same runner gets damaged by the top obstacle at the end of their turn if it’s still around. And if it’s the endgame, it’s going to be a hard obstacle that won’t do the runners much good when it’s defeated.

Happy Harlequinade!

—Rob Heinsoo
Lead Designer, Fire Opal Media

This entry was posted in Crossfire, Uncategorized. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>