Twilight Struggle has long been the game that I most wanted to find a satisfying way to play solo. The game rewards knowing your hand intimately, and guessing what’s in your opponent’s hand as well. Because the game is so tactical in determining the order and timing of card play, it is a difficult game to play solo. So when Jason Matthews asked me if I would help design the Solo Opponent for Twilight Struggle: Red Sea I jumped at the opportunity to solve these really hard problems.
As with any solo design, I started by playing the game. A lot. After about 15-20 plays, some patterns emerged and I was able to define the key challenges in the design:
- Managing a hand of cards, and the order of those card plays, would be a major challenge. Auto-loss by DEFCON is possible from any number of cards, and each Opponent-Aligned card has to be considered for the effect that it gives to the other side.
- Scoring Cards, especially Flashpoint Countries and the accompanying Auto-loss possibility, had to be specially handled.
- The spatial elements, related to Influence placement and removal, make selecting Countries to target challenging.
- The Space Race needed to be handled.
Additionally there was a question of feel; how would a solo mode maintain the same choices for a player as the two-player game? That led me to try to identify three core elements of the feel of the game:
- Never enough cards to do everything you want to do.
- Opponent’s cards in your own hand causing you pain, and the USSR Headline/Action Round 1 combo (and US AR7/Headline combo).
- Auto-loss due to DEFCON and Flashpoint scoring.
In order to maintain the core game feels and address the key challenges, I turned to a game that I love for inspiration: The Shores of Tripoli. For those who aren’t familiar with Shores, it’s designed by Kevin Bertram and published by Fort Circle Games. It includes an innovative solo mode where the Tripolitanian bot keeps a queue of event cards to be played in an “Event Card Line.” As a player, you know those cards are options for the bot, and you can react to their presence, but you have your own goals to accomplish and cannot afford to be reactive. This presents a tempo challenge for the player which mimics the tempo challenges of Twilight Struggle very well: when do you push for your own objectives, and when do you react to your opponent’s push?
This led to the biggest decision that I made for the Solo Opponent: it is able to play Opponent-Aligned cards for Ops without triggering the event. This is the most often mentioned key element of Twilight Struggle, yet the Solo Opponent gets to break this rule! How can that qualify as “feeling” like Twilight Struggle?
Indulge me for a moment.
My contention is that this is actually not the key element of Twilight Struggle, but rather the essence of Twilight Struggle is the challenge of planning out how to use the cards in your hand in a way that builds your position, maximizes the play of Scoring cards, frustrates your opponent’s plans, and plans for the future. All of this without undermining your own position through play of your opponent’s Events. What is missing from the Solo Opponent is only the unexpected windfall of your opponent playing one of your Events and giving you the opportunity to build your position in combination (potentially) with a play of your own. That is indeed quite a special part of Twilight Struggle, but not essential.
And so, by letting that one piece go, the Solo Opponent is able to maintain the other key tensions that make the Twilight Struggle system interesting and maintains the feel of TS by posing many of the same dilemmas. Which of your opponent’s Events will you play, and when? How can you get the best use out of the powerful Event you just drew? What Scoring cards do you have, which ones do you think your opponent has, and which ones haven’t been drawn yet?
Other problems, like the Space Race, were easier to solve; with no hand of cards, the Solo Opponent gets a free advance on the Space Race at the end of each Turn, applying pressure to the player. Another one of the trickier challenges to solve was the bots priority selection system. I was able to use the same approach used in Bruce Mansfield’s Jacquard bot system and use a “stacked dot chart” to select spaces for actions. This gives immense flexibility and awareness to the Solo Opponent. But the major breakthrough wasn’t one of bot logic, but rather UX. Within a few weeks of starting design I had a working bot that was an absolute nightmare to use. It had dozens of sequential checks, but it would play competitively. Adam Blinkinsop, one of my development team, suggested that we could streamline these checks into a two dimensional array – a table, for those not into data structures – where the row and column intersect to select an action. The Action Round Priorities were born:
This meant that I now had solutions to all of the core challenges I identified at the beginning of the process:
- Instead of a hand of cards, the Solo Opponent reveals a card from the top of the deck at the beginning of each AR. If it is an Event that is Associated with the Solo Opponent, it is added to the Event Card Line, then the Solo Opponent consults the Action Round Priorities Chart to decide what to do using the Operations Value of that card. It can also choose to play a card from the Event Card Line for a tactical effect, or just play the leftmost effective event.
- The Solo Opponent considers the impact of played and unplayed Scoring cards in the Action Round Priorities and specifically avoids risking an Auto-loss from DEFCON or Africa Scoring.
- The Space Selection Table is aware of the needs for adjacency in Influence placement and removal, and works to isolate the player from important spaces.
- Finally the player is challenged to keep up in the Space Race or lose valuable VPs.
This gave the best balance between quick play, and smart play. The Solo Opponent is not a human and doesn’t play like a human, but it does present a fun and entertaining challenge. There are difficulty options to make it more challenging, and our testers found them to be quite a challenge (some of them were quite experienced Twilight Struggle players!). Of course, I’ve been asked many times if this system would work for the “big” Twilight Struggle – and it might, but that’s an article for another day…
“My contention is that this is actually not the key element of Twilight Struggle”
Maybe not, but it’s pretty important one on many levels, it feels disingenuous to see it hand waived like that. And it is the key element in balancing one-deck CDGs. As it stands, solo play is too swingy, deeply dependent on whether you get your faction’s cards or your opponent’s.
I understand why these solo modes – here but also in Labyrinth – work the way they do. But the real and only reason is because no one has been able to devise a bot that won’t hand you victory on a plater by playing the wrong event. The result is certainly better than nothing, and I appreciate having a solo mode for these games, but ultimately also unsatisfying.
“My contention is that this is actually not the key element of Twilight Struggle”
Maybe not, but it’s pretty important one on many levels, it feels disingenuous to see it hand waived like that. And it is the key element in balancing one-deck CDGs. As it stands, solo play is too swingy, deeply dependent on whether you get your faction’s cards or your opponent’s.
I understand why these solo modes – here but also in Labyrinth – work the way they do. But the real and only reason is because no one has been able to devise a bot that won’t hand you victory on a plater by playing the wrong event. The result is certainly better than nothing, and I appreciate having a solo mode for these games, but ultimately also somewhat unsatisfying.