Let's Get Physical

Let's Get Physical - lessons from the realy world, Zach Gage 2016 - Given at the Full Indie Summit




hi everyone! i'm zach gage. If you're unfamiliar with me I'm a game developer and an conceptual artist. I've been developing games professionally for around 7 years now, mostly on mobile, but some other platforms as well. If you've heard of me it's probably because of either SpellTower, Ridiculous Fishing, Lose/Lose, Sage Solitiare, Tharsis, or most recently Really Bad Chess, although I've definitely made a lot of other things, some of which you'll hear about today.

I wanna say a big thanks to Colin Northway for inviting me to speak here. I'm excited to be here, and especially excited to get to talk to you all about some nitty gritty lessons about game design that i've learned over the years working with traditional components like dice, cards, and billiards balls, amongst others.



Although I primarily make digital games, for the last few years I've spent a lot of time exploring more old-fashioned game components. I love these objects for a number of reasons:



1. They're accessible, because they are familiar to everyone. Not everyone knows how to use a controller to navigate a 3d space, not everyone knows how to circle strafe, or how to time a 2d jump, or how to best outfit an rpg party, but everyone knows how things like dice and playing-cards work.



2. They represent the basis of many things we hold dear in digital games. Set collection, randomness, physics — cards, dice, and physical sports like billiards are the first ways game designers were able to explore those concepts.



3. They have a built in culture. Each type of implement comes with it's own deep culture of players and designers. You think there are a lot of puzzle platformers out there? Try looking up a lists of traditional card games. Traditional playing cards literally have their own genres. They're more like the App Store than an App.



4. They’re so quick to prototype with.

So I've been delving into this world for a few years now, and I've come back with 5 traditional card game designs, 2 dice game designs, 1 billards game design, a ton of half-functional prototypes, and a bunch of hard earned lessons.

And these are some of the lessons:

Lets start with cards.


Any game that you make with playing cards falls into one of two categories

- A game during which you exhaust the entire deck (or sub-deck)
(like war)

- A game during which you only exhaust a small portion of the deck (or sub-deck).
(like poker)

Each of these categories has their own considerations.



In a full-deck game you must worry about forward memory
In a partial-deck game you must grapple with significant randomness



In both you must handle card counting, although card counting is a much larger problem in full-deck games because it can very easily make them no fun.

While I'll be talking mostly about games made with decks of Traditional Playing cards, these lessons can all be applied to any game that draws functional components from a larger set of components.



So Lets start with Forward Memory. Forward memory is a term i made up, and it primarily a problem in full-deck games, although it can show up in partial-deck games depending on how they're structured.

The general idea is that in any game where you are making sets of cards, the set of cards you make or receive has a surprising influence on the sets you will see in the future.



A simple example of this is: imagine that we have a very small deck of cards: 1,1,2,2,3,3,4,4 and we are dealt 4 cards face up.



We got dealt a straight! Also, that means the next four cards will be:



1, 2, 3, 4... another straight, because that’s all that’s left in the deck.



Suppose instead we were dealt: 1, 2, 2, 3. we have a pair, our next four cards will be,



1, 4, 4, 3… we got another pair.

This is a simple example, but this rule holds with much larger sets as well, such as a set of 52 playing cards, though it does so in a harder to notice way because of the sheer number of cards. It can make set-based games very boring if you don't account for it because it puts much greater pressure on how players do with early hands, than how they do with later hands. A starting straight will beget more straights later, and a starting pair, more pairs. Once players realize this they'll just quit right away if their first few hands suck.



Although it is very difficult to really neutralize this problem, you can at least give the player additional control over it by varying the size of the window through which they see new cards. This is how Sage Solitaire handles it. In the example I gave earlier, it was an 8 card deck with a window size of 4 (as in, you move through the deck 4 cards at a time). Having a static window like that is particularly bad with Forward Memory issues because the player has no significant control as to what hand they see next, as we saw in the example earlier.



So let’s imagine same 8 card deck, but with a variable window size (as in, the player doesn't always access the deck in 4 card sections, instead accessing it in 1-4 card sections.
If we are dealt:



1, 1, 2, 3. If we remove the pair of 1s,



we only have only have two 4s, a 2 and a 3 in the deck, so we’ll end up getting 3 more pairs, no matter what order the cards are dealt in.

Reset-



Or we could remove the 1, 2, 3, getting possibly a



1, 2, 3, 4 as the next hand, or some other kind of pair.

Reset-



or we could have removed a 1,



hoping for a 1,2,3,4 or cascading sets of pairs. Already this tiny little deck has opened up quite a lot, just through varying the window size. I know these examples seem straight forward and obvious, but you’d be surprised how many prototypes I’ve and others have thrown out before this clicked.

So thats Forward Memory and Variable Windowing.



Next- Card Counting! Card Counting is one of the biggest issues you'll run into when designing a traditional card game.

My rule of thumb is: if players can count they will count, or they will assume everyone else is counting.



So if your game is countable, make it easy for players to do that. If your game isn’t countable, make sure players to see that counting is obviously impossible or impractical.

First, we need to talk about what card counting is and is not, in case you're unaware.
Many people think that Card Counting means keeping track of the status of every card in a deck — things like: the position in the deck, whether the card has been used, who holds the card, etc. This is not what card counting is. Card Counting is a system for maintaining information about the likelihood of events within a closed set of possibilities.



For example, in Blackjack, the way you count cards is start at 0, add 1 for every 2-6 you see, and subtract one for every 10 or face card you see. The higher your count gets, the higher your likelyhood of winning against the dealer, because the more high cards that are in the deck, the more likely the dealer is to draw one and bust.

So you see, counting cards in a single game of blackjack is actually very easy. This is important, because serious players will always want to card count, or always assume their opponents are card counting. If card counting is difficult in your game, the game will turn into work for the counters, and they won’t have fun. Players who are not counting will feel lazy, will lose all the time, and will also not have fun.

This is why, if counting is possible, it's important to build it into your game design.
For example, in Myre, a game I released last year that has players competing to capture each-others cards by forming hidden pairs or straights on the table, card counting is very easy.



In Myre, Pairs are more powerful than straights, so the most important generalizable information each hand is how likely it is that your opponent is holding a pair. Each player is playing with either all the black cards, or all the red cards, which means each player has 13 pairs in their deck (one of each number).



Because of probability (like we saw with future memory)

any time a single card is removed from a deck, that players "pair-probability" goes down, even when that deck is shuffled up.

And any time a pair of cards is removed from a deck, that players "pair-probability" goes up

So all you need to do to calculate a players pair-probability vs. your own is look in THEIR jail to see how many single cards vs. pairs they have of yours, and look at YOUR jail to see how many single cards vs. pairs you have of theirs.


In this example red has lost 3 single cards, and black has lost 2 single cards and one pair. Even though the red player has captured more of black’s cards (the top of the screen), and has more points points (17 to 9), the black player is ahead in the "pair-probability" game, having lost less single cards, and having lost a pair, and so red must play carefully next hand.



So that's an example of building a card counting system into your design (similar to blackjack's system). There are easier ways to build in card counting though.



In Scoundrel, you're primarily worried about the two black aces, and the 10 of hearts, and the 10 of diamonds, because those are the most powerful or useful cards in the deck. Although there's no specific system to counting cards in scoundrel, it's easy to roughly keep track of only 4 cards, so the game doesn't feel overbearing. This is a more straightforward thematic style of card counting.



Sage Solitaire (and for what it's worth, Klondike Solitaire) takes the other route — that of making card counting either impossible or impractical. In a game like Sage, there are so many possibilities at any given point for what you could do, that even if you knew the cards that you had removed from the deck, you wouldn't actually be able to work out what the best move was anyway, so it doesn't feel like you're missing out on anything.



There actually is one moment where card counting does matter in sage though, and it shows up sometimes at the end of the game when you are choosing which of two cards you should throw away, hoping for a pair to show up. Here, I’m looking for a pair of 2s, 5s, or kings. Do I trash the king or the 5 to get it? It sure would help if I knew if there were kings, 5s, or 2s, left in the deck.



After release Michael Brough suggested just having the last cards in each pile face up to alleviate this issue, and I think if I were to design the game again, I would probably do this solution.

So here it would reveal that i should trash the king to find a 2, and that there were no kings or fives left in the deck.



OK next topic - heavy randomness.

If you're dealing with a partial-deck game you're going to have a ton of randomness. This is easy to see in a game like Poker where one player might be dealt pocket aces, and another might start with 2-7 off suit. Clearly these players are not on even footing. My advice in general with playing card games is to embrace the randomness and compensate for it with short hands or some other mechanic, like bluffing. Randomness is part of the deep culture of card games, and people generally expect it, and enjoy it.

I know this sounds like obvious advice, BUT it’s so tempting to try to bring your desires to to bear on tools even when they fight you on it. I think it’s more important to learn from the strengths of tools, rather than trying to force them into something they’re not.



When I first started trying to make solitaire style games I specifically avoided card piles, because they felt so random and stupid in Klondike. You have 7 piles in Klondike, but you rarely ever have a choice of which pile you'll pull a new card from, and when you do, you nearly always pull from the pile that is closest to empty so you'll get a new spot for a king. So 95% of the time the choice you’re presented with is a false one. But it turns out, that false choice is where a lot of the cultural enjoyment of Klondike comes from. Those card piles are building a narrative for your game. The feeling of "Oh if I’d just pulled from the other pile, I could have won!" is key to enjoying klondike. When I finally stopped running from piles, and instead tried to give them just a smidge more strategic importance is when I came up with Sage Solitaire.

Since we’re on the topic of randomness, lets talk about dice



When I first started exploring dice games the prevailing wisdom I heard in game-academic circles was that dice should never "decide" anything, rather, dice should give you the random inputs to make a decision yourself.



The reasoning for this, I imagine, is that if you tell someone "let's play a game, we flip this coin and if it's heads i win, and if it's tales you win", that is not a very fun game, and most players would stop playing that game because it "just feels random". The thing is, this is 100% garbage-logic.



The reason that players are bored is because they don't care about the result of the flip, not because the flip is deciding the game. The only thing that determines how fun a dice game is, is how much you care about the random result.



My favorite example of this is the way that my friend Doug Wilson used to play Rock-Paper-Scissors in college. RPS, while it definitely has it’s share of fans, I think we can agree is an okay game, and is usually used more as a tool to decide things (like a coin-flip), rather than a game that is played for fun. Doug, in grad school, had a long-running game of RPS that he played once a day at the end of the day with his roommate, and they kept score through the whole year. This simple narrative backing made the game extremely exciting and tense, with the players thinking about what they would throw all day.



Here's an example from one of my own games - This is a game called Tilt that I designed with my friend Rob Dubbin two years ago. It’s for 3 people, and everyone starts with 5 dice, and your goal is to collect all the dice. To begin everyone rolls a die all at the same time.



Starting with the lowest value die players are offered the opportunity to 'go out' or to 'roll'. If you go out, you give your die up to the pot. If you 'roll' you roll another one of your dice. If it is higher or equal to the highest die rolled, you are now in the lead, and play passes to the player on your left. If it is not higher or equal, you can either roll again, or go out, until you either go out, run out of dice, or are in the lead. If you ever roll the same thing you just rolled, you are forced to go out. After all players are out except the leader, the leader collects all the dice in the pot, and everyone rolls a die again. Play continues until one person has all the dice



This game is 99% random, but the way that the rules work lends a narrative to the randomness so that the results feel important to the players. If I get upset and roll all my dice against a 6,



one



at



a time



and on the last die i finally roll a 6. And now I am the leader but out of dice



and the next player rolls a *6 on the first try



and wins the pot, that is a huge moment, even though it is fully random.
Because we really care about those results this game is fun to play.



This is true of craps, this is true of the river card in all-in poker hands, this is true across the spectrum of random games. Do not fear random, especially if you’re working with dice. This is even true of single-player games, as we shall see in Tharsis in a moment.

But before I get to that I have to talk about the second aspect of dice that I didn't see coming: They're really not very random.



At least D6's arent. The big issue with D6s is that you're often not rolling just one of them, and if you're rolling more than one and adding them in any way, you start to get a bell curve of values very fast, and when players can expect a bell curve that'll ruin their experience with a game. So if you're using D6s it's important to place a framework around them to enforce randomness. Essentially what you want to do is constantly switch up the valuing on the player, so that there is no single mental-model they can use to evaluate their expected return.



This is why if you go to vegas, so many games have side bets.

In a game outside of vegas however it can be tough to do this in a way that seems natural.



Tharsis is a space adventure game I made with Choice Provisions and released this year. In Tharsis we did a lot of work not just to make sure that the randomness holds, but also to make sure players care substantially about the results of any given die roll. I look at tharsis as a system designed to build a narrative around dice.



In tharsis each character has up to five dice that they can use in a variety of situations. You spend each turn sending your crew into situations and rolling their dice. We have a series of structures in place to make sure that the value of the die matters in a few different ways. This aids both in ensuring that the dice results matter, and that the maintain the feeling of randomness. And again, by that I mean one single method cannot be used to calculate the expected return in every situation.



Often in rooms there is an event, events are bad and are cleared by adding dice up. So if an event is a 27 for example, it requires 27 points worth of dice to be placed into it before it is cleared.



Each event also has hazards on it that trigger when certain numbers are rolled, so there are specific numbers you don’t want to roll, that change from event to event.



Also in each room there is a module ability, and your crew member has a crew ability. These require dice of certain numbers, either matching dice, or dice over certain values.



Lastly, you have a global dice pool called Research which accepts any die number, but only 1 of each.

Each die you place there is worth the same amount towards buying cards. This dynamically values dice in a minimal way. Sometimes what you want is to go into a room and roll a 1, because you want to buy a card that costs 6 research points and you've already placed dice 2-5.



Because we're valuing dice in so many different ways, and those ways change dynamically depending on the situation, it is very difficult for the dice rolls to become bell-curved.



It also means that at the start of a turn players have to come up with a plan for what they want to do with each of their characters, and often this plan needs to have a few sub-plans in case their first attempt doesnt go how they expect.

This makes your early dice rolls matter, but not be life or death.

By the time you hit your life or death dice roll, you've failed or improvised so many times that you're on the edge of your seat about the outcome, and thats when dice (and randomness) is the most fun - whether you’re doing it with physical dice, or just using randomness in general.



So, I’ve been working on a billiards game that I can’t wait to share with everyone next year, and it’s been a really interesting experience for me, so I want to talk about one of the issues I've run up against.

By far the most complex thing about making a billiards game is that no game more than billiards involves players setting their own difficulty without their knowledge.



When you line up to take a shot in a game of pool you're making a lot of choices before you even take that shot. You're looking at the whole table and evaluating the range of possibilities to find one that is both good and that you can do.

Essentially, you the player are designing your own challenge every single shot you take. And if structure of the challenge you’re attempting doesn't provide the proper incentives you'll always do the easiest thing, and you'll decide the game is boring. If the structural incentives are too powerful, you'll try something out of your skill-range constantly, and you'll decide the game is too hard.



Making a good billiards game (and really making a good any game) is a process of making sure the player at all times has the tools they need to perform well in the game, and the information they need to properly assess the likely return on what they are attempting.

This is why, for example, arbitrarily rewarding a player a 2x multiplier for shooting off a bank in pool is dangerous.

Players of all levels will be enticed by that multiplier, but novice players not only won't have the skill level to pull that shot off, they might not have the skill level to recognize how difficult that shot actually is.



Opportunities for higher scoring need to show themselves only as the players ability to make good on them increases.

8-Ball actually does a fairly great job at this. At first it feels like the goal of 8-Ball is to put the balls of your type in the pockets.



As you improve at 8 ball you realize leaving the cue ball in an opportune place to take the next shot after you sink a ball matters,

and as you further improve you realize that leaving the ball in an inopportune place for your opponent if you miss, is also important.

This means that for a professional pool player, every shot is a weighing of these values (make a shot, make the next shot, screw the other player if I miss), but a beginner pool player is not weighed down, because they’re just trying to sink the balls.



They don’t know about the other options yet. Of course, in pool these values (besides sinking a ball) are strategies, not actual mechanics.

If you set out to reward strategies with concrete points as I do in my billiards game it becomes more difficult, and more important to be careful.

But, I guess you'll have to wait until next year to see how I handled that.



So lets wrap up. Thanks!