March 2023, I spent a week walking around the Game Developer’s Conference meeting dozens of people and pitching a game that didn’t exist. I’d say something like, “I’m making a game that’s like rock paper scissors, but with upgrades.” The most common response was, “What do you mean by upgrades?” The second most common was, “Good luck!” It wasn’t until after I got home, exhausted, that I started writing the first lines of code.
What do you mean by upgrades?
Most people who play games have actually played rock paper scissors with upgrades already, even if they didn’t know it. Pokémon is rock paper scissors with upgrades; fire beats grass, grass beats water, and water beats grass. Super Smash Bros is rock paper scissors. Shields prevent attacks. Grabs pierce shields. Attacks cancel grabs. Fire Emblem is rock paper scissors; Magic the Gathering is rock paper scissors… You get the idea. It’s the same reason a triangle is the smallest polygon; there needs to be at least 3 different sides to keep things interesting. But each of those games is much more than just rock paper scissors. Pokémon, for example, has 18 different types. Most Pokémon have multiple types themselves, so a Grass Water type wouldn’t actually be weak to fire. And every Pokémon can carry up to 4 different moves, which themselves have different power levels and accuracies. Each level of complexity adds to the level of strategy, but makes the game harder to learn for new players, so we have to be very careful with our upgrade design. And how do we avoid making a game that already exists?
Keeping things simple
One of the key draws of normal, boring rock paper scissors is the simplicity. It doesn’t matter if you’ve played rock paper scissors 1,000 times or you were just taught the game; both players are on even footing. Neither player has to learn the controls, practice the muscle memory, grind for experience points, or check online for the best items and latest strategies. In an increasily busy world, every minute players have to dedicate to learning the ropes translates to a fraction of players losing interest in the game. So to keep the game accessible to as many people as possible, I decided on the two design constraints. The first is that there can’t be progression across games. We don’t want someone to be able to win merely because he’s spent more time playing than his opponent, as it would quickly be boring for the more experienced player, and frustrating for the newcomer. The second is that the the only actions players will be able to take are rock, paper, and scissors. There will be no Spocks or shotguns. It’s just rock paper scissors.
Introducing (and maintaining) strategy
Keeping the gameplay too simple introduces a problem: there’s no challenge. Besides subtleties such as rock being easier to throw than the other two hands, a single round of rock paper scissors is almost completely random. It’s basically a coin flip, used for breaking ties. The strategy, and the fun, is introduced across multiple rounds of gameplay. People are never truly random and tend to fall into patterns over time. More importantly, people look for patterns in their opponents. A student will be wary when the last several answers on the exam have all been C, and a gambler believes their loss streak means a windfall is just around the corner. For example, imagine my opponent has thrown rock three times in a row. There’s no way she’d throw rock a fourth time, right? So I should throw paper. Or would she? Maybe she thinks I’m going to throw paper, so she’ll throw scissors. And maybe she’s just not thinking at all and is just throwing rocks so she doesn’t have to open her hand, in which case my overthinking would be pointless. So how do we reward players for planning ahead?
Reducing randomness while keeping things interesting
In normal rock paper scissors, there’s no way to win if both players are truly random, so why not reward players for sticking to patterns? For example, let’s say every win with scissors counts as two. Statistically, you wouldn’t want to throw paper very much, even if your opponent is throwing a lot of rocks, because the risk of throwing paper and losing is too high. Even a small change like that is enough to add a little bit of spice and defeat a totally random player. But is it more fun? “Throw rock more and paper less” is hardly a strategy. We can do better. How about a power-up that rewards one player extra points for throwing rock three times in a row? This is easily defeated by throwing paper after the second rock… unless your opponent thinks you’re going to throw paper. How about a power-up that rewards a player for playing a different hand every round? If you’ve just thrown rock, and your opponent knows you will only throw scissors or paper, he can just throw scissors and guarantee at least a tie. Unless you’re trying to go for three rocks in a row, in which case… You get the idea. If we add layers different rules to each player, especially if the rules are asymmetric, we can reward players for following, breaking, and noticing patterns. That’s what I mean by upgrades.
Good Luck!
There’s a third reason why I chose the design restraints I mentioned. Every minute I spend programming and screwing around with UI elements is a minute I could’ve spent on polishing my game design. The primary goal of this project is to make a fun game I can play with my friends and family. The secondary goal is to prove to myself (and recruiters) that I can make a fun game in the first place, and in a timely manner. For that reason, I’m aiming to post an update every month, to keep track of my progress and keep myself accountable. So to everyone who wished me good luck, Thanks! I’ll need it!