Card Game Design as Systems Architecture

Designing a card game has honestly called on more of my programmer skills than thinking about video games. Card games are surprisingly a lot like enterprise web applications. Cards go through lifecycles and have callback functions and methods similar to an object going through its lifecycle in any enterprise application.

Lifecycle Hooks & Callback Functions

Objects in an enterprise software application, such as components in Angular or React, go through a lifecycle as they are instantiated, go through state changes, and are eventually destroyed. Each of these has a “lifecycle hook”, which is a function that is called when that particular lifecycle event happens.

In card game terms, these are similar to effects that trigger when a card enters the battlefield, leaves the battlefield, is tapped, or attacks or blocks. Trigger conditions are lifecycle hooks for cards.

A callback function is one that triggers when another object goes through some type of change. It’s subscribing to another object’s state, then doing something when that object does something.

Continue reading

Witcher 2 Review

Note: I wrote this up 5 years ago and intended to publish it, but I guess it got lost on the cutting room floor. My bad!

In Witcher 2, you have 2 swords, steel and silver (for humans and monsters respectively), and 5 spells you can cast: Aard, Axii, Igni, Quen, and Yrden.

Aard and Igni are projectiles, dealing damage/stun on impact. Igni deals more damage and burns the target for damage over time. Aard knocks the target back, stunning them, knocking them down, or dizzying them, setting up for a 1-hit kill. Quen is a shield that will block 1 hit’s worth of damage. Axii will convert one enemy into an ally temporarily, but needs to be channeled over time and has a chance to fail. Yrden places a trap on the ground that will stun an enemy who steps on it, holding them in place until it wears off or they are hit out of it. There are upgrades to each of these, Aard and Igni gain range and area of effect, Quen can reflect damage back onto opponents, Axii buffs the opponents you control, and Yrden lets you place multiple traps.

Almost every enemy in the entire game follows a similar template, they run at you, do attacks straight ahead of them, will not rotate while performing attacks, sometimes block moves that hit them from the front, and you can get behind them to deal double damage to their back.

This means fighting enemies is generally a process of rolling around them to get to their backside and hitting them for as much as you can. This can be accomplished by baiting them into doing attacks and moving while they’re occupied. This method of play, rolling behind enemies to backstab them with Quen shields up, is how all the best players play the game, and encouraged by the game design on multiple levels.

Continue reading

Mashing: Rote Memory vs System Mastery

Many players of fighting games and beat em up games start out by mashing. When you have 2-6 attack buttons, it can be hard to tell the difference between moves, so you might as well press buttons and hope something good comes out. A better player will understand when to use each move, but a worse one will see a large movelist, say “nah, pass” and just mash it out.

Some games are designed to actually facilitate and reward this type of mashing, games with strings (a sequence of unique moves activated by pressing buttons in a specific order). By mashing the buttons, you’ll accidentally end up doing all sorts of moves, and since neither you nor your opponent has any idea what you’re about to do, that makes you unpredictable, and ironically more effective in a genre that is advanced rock paper scissors.

It’s easy for intermediate level players to shut down this sort of play by simply blocking and waiting for an unsafe move to punish, or by throwing out “knowledge check” moves that require a specific counter (you can also call this spamming). However among beginners, it can allow them to develop a surprising level of basic competency at the game. They might be throwing moves out randomly at first, but sometimes they see something cool happen, and remember the feeling in their hands when they got that, allowing them to iterate and repeat it. Also helpful is these games list the strings in the move list, so beginners can learn a string as easily as checking.

For many beginners, these strings are literally what combos are. They’ll call them “combos”, not knowing there’s a larger combo system in the game. In a way, this is really helpful for beginners, compared to other games, because strings don’t involve tight timing, and are listed right there.

Continue reading

Tiers are for Queers

And the queers always pick a top tier.

Tier lists have been controversial since the dawn of fighting games, and have slowly seeped into every other competitive game featuring pre-game or mid-game loadout choices.

From a casual perspective, it can be easy to be skeptical of tier lists, especially in modern times. Casual players typically don’t play the game consistently enough to be able to execute the counters that can shut a low tier character down.

Alex in 3rd Strike might be scary to someone who can barely block crossups, but a higher level player can simply parry option-select Alex’s crossup stomp, tapping exactly as it connects, and either getting a parry if it’s same-side, or a block if it’s crossup. Urien might seem mediocre, since he doesn’t have incredible frame data, his specials are slow or unsafe, and have crappy hitboxes on top of being mostly charge moves, but when his moves are mastered, he has ridiculous combo damage and setups into unblockables.

A higher level player can play Chun Li, Ken, or Dudley, and simply tank Alex’s slash elbow, or block the EX slash elbow, and punish it with a super. Chun Li can get roundhouse kicked in the face by Q, and then punish him with super art 2 for more damage than the roundhouse.

These types of weaknesses aren’t as obvious at low level, so it can be hard for lower level players to understand the true shape of the game.

The fact that characters are different from one another means that some will be better against others. They’ll counter each other. If a character counters a lot of other characters, especially if it’s by a wide margin, then that’s a top tier.

Continue reading

How do you Set the MAXIMUM LIMIT? (For Health & such)

Almost every game has resources of some type or another, whether that’s health, mana, meter, etc. A topic that is rarely discussed with these is: Exactly how much health should you have, and how much damage should stuff do? What should your resource limit be, how much should stuff cost? How fast should it be built up? The decisions made in each of these can significantly affect the tone and feeling of something.

The most critical technique for thinking about this problem is thinking in percentages. The actual values can be arbitrary, but percentages help you keep track of the actual impact. A combo across different games could deal 8000 damage, 120 damage, or just 6 damage, and in each case, that could be worth 90% of someone’s healthbar. Thinking in percentages helps you weigh the relative impact of something, without getting bogged down in the exact numbers.

This type of thinking also suggests thinking about the resource in terms of how many times it can be tapped before it’s extinguished. If each touch deals about 10% of your health bar, a game will have 10 touches before it’s over. If a touch can deal up to 80%, then it’s a 2-touch game. Consider the range of variability between how much impact each touch makes as well.

In Card Games, instead of touches, it’s measured as a “clock”. The clock is how many turns a player has left before they lose the game. In real-time games with fine-grain health and guaranteed hits, this type of thing is measured in DPS (Damage Per Second) and/or TTK (Time to Kill). In these cases, it’s worth considering what tradeoffs a player should be making in order to get a faster clock, or a lower time to kill. It’s also worth considering how fast the average clock for a match should be, or what the average time to kill is across the game, and watching out when those things end up lower or higher than you originally planned.

Continue reading

How Magic’s Mana System Divides its Design Space

Magic the Gathering invented trading card games, and with it, resource systems in trading card games. Countless games following MTG have mimicked MTG’s 5-color mana system, because of course they did, why wouldn’t they?

In Magic The Gathering, spells and creatures cost “Mana”, a resource that regenerates every turn, and builds up over time as you play “land” cards from your hand. Mana comes in 5 colors, Green, Red Blue, White, and Black. Each of these colors has a mechanical identity associated with it, called a “Color Identity”. Mana is the primary thing that divides the design space in Magic The Gathering, to create different types of decks.

Of course, there are other things, like card types, and creature types, which have effects that reference one another to create synergies. And there are more broadly playstyles, like Aggro (try to kill the opponent before they can get their good monsters out or reach their win condition), Control (destroy your opponent’s threats and eke out a win) Mid-range (shut down aggro and outclass weak aggro threats, rush the control players), and Combo (dig through your deck to assemble exodia in your hand, then win the game instantly or near-instantly).

Mono-color decks focus entirely on a single type of mana, and usually only play a single “basic” land color. This gives them incredible consistency, because their mana supply goes up every time they play a land, but limits what they have access to in the broader card pool. A mono-color deck may lack “answers” to certain types of “threats” generated by other decks, such as red and black having a tough time getting rid of enchantment cards.

Continue reading

The Hypothetical Worst Fighting Game

I have a theory about fighting games. I think that even the worst fighting games are pretty good. We see this in the Kusoge Phenomenon, where people play “broken” “shit-games”. These games have massive combos, wacky mixups, poor regard for balance, strange damage scaling or infinite prevention, and strange attack design with cancel points and hitboxes that don’t really make sense. However people still enjoy playing them, because they’re still deep games. They’re still games with combo systems you can explore, with mixups you can try out, and with moves that have a variety of different effects. This is a mismatch between what we traditionally consider to be “good” about games, and what actually creates depth.

Street Fighter 2 created the modern fighting game, and all fighting games take from it. SF2 was such a solid template for a game that if you just implement all the features of SF2 you will have a decent fighting game, entirely by default. I’m going to list these features as:

Continue reading

What’s the Deal with Auto Combos?

Many modern fighting games have been integrating auto combos for the past 10 years or so. BlazBlue Cross tag battle and dragon ball fighterZ have auto combos on 2 different buttons even.

An auto combo is a string combo attached to a single button. Pressing that button will produce a sequence of attacks that combo, some of which may be unique to the auto combo sequence. Sometimes finishing an auto combo will produce a super attack if you have meter.

Auto combos have historically been controversial because they’re so much easier to perform than other combos, giving players who don’t know how to combo access to easy damage.

Continue reading

Tabletop Game Designers Know What’s Up

This blog has attempted for years to articulate what game design is for video games. It was born out of a frustration in video games discourse that the discourse was so vague and distracted by the narrative, the setting, the immersive illusion created by video games. For the past decade I’ve aimed to discuss the raw mechanics of games and what makes gameplay good, because I’ve gone across the whole range of people talking about video games and no one else has been doing it.

There have always been hints of this raw mechanical talk in competitive video games. I’ve always recommended that people trying to learn game design study competitive games, because the way those communities talk about their games directly addresses the mechanics and doesn’t get lost in the fiction.

Continue reading

SF6 is the Intro Game the Genre Needs

Street Fighter 6 is the “Beginner’s First Fighting Game” I’ve been looking for.

I’ve been harping on for years that fighting games shouldn’t be getting easier, they should do a better job teaching you how to play them. We’ve seen some improvements in tutorials over time, such as Skullgirls, Xrd Sign & Revelator, Under Night In-Birth, and Them’s Fightin’ Herds, but all our most of the above have been brief system tutorials for the most part with very little on fighting game fundamentals.

Continue reading