Game “Loops” are an Illusion

Game Loop has become an industry-standard piece of terminology for video games. It’s taken as a default, a forgone conclusion, or necessary for a game to function. It has a role in game development similar to 3-act structure or the Hero’s Journey in storytelling. These structures are presented as inevitable, ever-present throughout history and culture, and essential to good storytelling or game-making, but many stories and games don’t follow these structures and are still successful and well-regarded.

Some people argue you cannot make a game without loops, or tell a story without 3-acts, or say that the Hero’s Journey is the monomyth from which all other stories derive, but there is nothing definitionally inherent to games or stories that necessitates these things.

Continue reading

Yellow Paint is Fine, Actually

Recently footage of Final Fantasy VII: Rebirth was released, and it contained a shot of The Yellow Paint that we keep seeing to denote objects in the environment that can be climbed or otherwise interacted with. Kayin wrote an article on this, and it inspired me to write my own take.

What’s wrong with Yellow Paint?

So, why do people kneejerk hate the yellow paint? People hate the yellow paint because it “breaks their immersion”, since there’s no diegetic reason why every single ladder, cliff face, or vaultable cover would be splattered in the same yellow or white paint and because it makes them feel like they’re being treated like a child, needing to have the interactable part of the environment highlighted so they can progress.

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

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

The Traveling Soulsman

So, I’ve been playing Elden Ring lately, and taking some notes. In the process of drafting up my thoughts on it, I ended up with a long tangent about non-linear interconnected maps in Metroidvania style games, and how the souls series tackled this precisely once with Dark Souls, and never again, because they made every bonfire warpable. I decided this tangent was long enough to deserve its own article.

The open world of Elden Ring creates a level of non-linearity and interconnectedness that hasn’t been seen in the series since Dark Souls 1. Ordinarily, fast travel to every bonfire would ruin this, but I think it works fairly well in Elden Ring’s case. Areas aren’t connected by corridors like the Soulsborne games, so you end up doing a lot of exploration anyway, instead of just teleporting to the level you want to go through. Given the distance between locations, going without fast travel wouldn’t really have been viable, because you might end up needing to travel a really REALLY far distance.

The benefit of nonlinear games (like Demon’s Souls) is that you can complete content in differing orders, making it so that no two playthroughs repeat content in the same order, adding a degree of depth. Nonlinear interconnected games (like Dark Souls) expand on this by having you traverse mixed portions of content forwards and backwards, even after you’ve beaten it, meaning you don’t just experience content out of order, but in a varied stitched together order many times over, while also having to engage in pathfinding challenges. In a nonlinear game, you might simply select the content you want to complete as need arises (eg. figure out what level has the thing you’re after, warp to it, progress through the level until you get it).

Continue reading

Emergent Gameplay in Fighting Games

A bunch of different videos have popped up lately in fighting game circles, about “Emergent Gameplay”. I’ve watched a number of them and they’re grasping at concepts they can’t totally describe. They use a lot of vague terminology and almost say what they want to, but not quite. The gist is, old games had Emergent Gameplay, new games don’t, but why?

Continue reading

Visualizing the Skill Curve

Recently in my discord, one user, Hambone, linked a study related to skill rankings in Blitz Chess, standard Chess, and the card game Yomi by David Sirlin, and how well those rankings correlated with win ratio. You can read the full study here. From it emerges this amazing chart:

This chart is a depiction of a game’s consistency across skill levels, with a spectacular illustration of how there are certain bottlenecks where consistency goes up and down. (for those with color blindness Player 2 winning is represented on the graph as yellow, losing as dark blue. Slight wins are orange, slight losses are light blue, and 50:50 is represented as teal). It’s worth noting that the skill ranking of an average player is 1200. From this chart, we can intuitively extrapolate a number of conclusions, but first lets make some observations: We can see that Yomi is less consistent across all skill levels than either variant of chess. We can see that chess has a short period near the bottom skill level where better players very consistently beat worse ones, then there’s a free-for-all near mid-low level, and another bottleneck at higher to top levels of skill. We see a mild version of this trend even in the yomi chart.

From this we can conclude that aspects of these games make them more or less consistent. From personal experience, I’m going to put forward that the big thing that makes a game consistent is execution testing, a style of game that I call an “efficiency race” (eg. racing games, games that directly compare a skill that is dependent exclusively on you and nothing else). The things that make a game less consistent are Randomness, and unweighted Rock Paper Scissors (eg. games of chance and games with hidden information, where you directly interact with your opponent). For example’s sake, there are some games where you cannot become consistent, such as a pure coin toss. The graph for this game would be teal (50:50 odds) across the entire chart. A hypothetical perfectly consistent game, where the better player always wins, would be a perfect split of yellow/dark blue directly across the diagonal center line, with almost no teal.

Continue reading

Isomorphism & Asymmetry

Isomorphism is a concept in Graph Theory, where 2 graphs, if they have the same nodes, connected by the same edges, are the same graph, no matter how they’re shaped. Basically this means that if two seemingly different systems have the same shape, they’re actually the same system.

One of the most popular examples of this is the Rest system in World of Warcraft. MMOs are known for being addictive. You pay a subscription to them, so there’s only so much time before your subscription runs out, and you want to get the most out of it. To avoid encouraging players to play constantly, many MMOs implemented penalties for playing continuously, to incentivize players to log off. Naturally players didn’t like having their xp gains drop to 50% as they continued to play during the WoW beta, so the developers tweaked the interface so that the “unrested” penalty became a rested bonus, granting 200% xp gains. The actual numbers didn’t change at all, but player reception to them did.

Another example I’ve described on this blog is the Hollowing systems in Demon’s Souls, Dark Souls 2, and Dark Souls 3. In the Souls series, your character has 2 states, Human and Hollow (Body and Soul for Demon’s Souls). Human form lets you engage with online functions, and has access to your full health bar, hollow form locks off online functions and has a reduced health bar. You can spend uncommon, finite supply, consumable items (Stone of Ephemeral Eyes, Humanity, Human Effigy, Ember) to regain your Human form, and thus your full healthbar. Naturally, the Souls games are all tuned such that you still take 3-4 hits to die from common enemies even if your healthbar only has half its max value, but the idea of being punished doubly for dying is offensive to a lot of people.

Perhaps in response to this, Dark Souls 3 framed its hollowing system as a bonus rather than a penalty. Your max health in Dark Souls 3 is smaller proportionally to your min health than in the other games, but it’s not displayed as a chunk of your health bar that is missing all the time, and you’re not hideous looking without an ember active. The actual numbers aren’t any different, but people seem to like it better.

In Breath of the Wild, weapons have a low durability and cannot be repaired. Almost all weapons of a category (sword, spear, heavy blunt) have the same moveset with different attack values, durability, and properties, so any given weapon is nearly 100% interchangeable for any other weapon in a given category. This means that rather than having an inventory of weapons like most fantasy RPGs, you instead have more of a loadout of whatever you’ve picked up recently, making the inventory system more similar to a modern First Person Shooter, where weapons are disposable, interchangeable, and very few are really situational. So rather than thinking of your inventory of weapons as your babies that you love, it’s more practical to think of them as a pool of damage to be unloaded into enemies and refilled with whatever they drop. Your total pool of damage is a weapon’s attack power times the number of hits it can do, plus the next weapon down the list until you get to the end. Thus in a manner rather similar to a FPS, you might have a higher damage weapon that’s good for finishing off strong foes quickly, but once the ammo (durability) empties out, you’re gonna have to find another one. So you may want to conserve ammo with your strong weapons, instead of seeing your weapons as persistent upgrades to your character like they would be in another game.

BotW cleverly stacks the deck in your favor in a subtle way, by having a “leveling” system chugging along in the background as you kill enemies. Every enemy has an xp value for defeating them, proportional to their strength. As you gain more xp, the enemies across the world get scaled up to stronger versions of themselves, and their equipment gets scaled up too, and becomes more likely to have advanced bonuses. This means that the pool of weapons available in the world gets stronger at a faster rate than the enemies do, and of course many enemies, such as bosses, remain unscaled regardless of your level. Since weapons always knock enemies down when they break, forcing them to drop their weapon, you’re constantly getting fed a supply of weapons that progressively grow in strength, so you can’t be left behind on the power curve unless you deliberately throw your weapons away (and Eventide Isle is designed to show how Link can still succeed, even starting with an empty inventory).

And of course, while this system in BotW might be really fun for gameplay enthusiasts who grok how the system is supposed to work and how they’re supposed to interact with it, it outright contradicts the more common framing of weapons being tools instead of ammo. This means that many players who can’t dissociate the theme and function of the weapon system just see the whole thing as a frustrating mess. This is amplified by cases like the Lightscale Trident, which is thematically the most powerful Zora Spear ever forged, and a sacred heirloom of the Zora Royal Family, but it breaks about as easily as most other weapons. Most people expect weapons to be semi-permanent upgrades that can be selected from at any time, with a durability system as some mild flavor that adds a sense of realism. So when a game breaks that framing and treats durability as an ammo counter, it’s aggravating to a lot of people.

In the pursuit of depth, it’s important to avoid having isomorphism within the same game; meaning, there shouldn’t be systems whose relationships are identical to one another. This means avoiding things that are proportionally the same in scale, rotation, mirroring, etc. 10 hp with 1 damage is proportionally the same as 30hp with 3 damage, unless there’s a 3rd factor that doesn’t scale along with those. Most RPGs have self-similar proportionality between the characters’ health, damage output, and enemy health and damage output across a game, meaning that the experience at the beginning frequently feels the same as the experience at any other point in the game.

In a blank endless room, the absolute (relative to the world, not each other) rotation of 2 characters locked onto each other is self similar, regardless of how much to the right they move, the only thing that can vary in proportion is how far away they are. The same is true of their absolute world position. If the two of them are translated any number of units away from the world’s origin point, in a blank endless room, there’s no real difference between any possible positions, except as relative to each other. If the characters are locked onto each other perfectly, then they’re not allowed to have different rotations relative to each other, therefore removing 3, and even 2d, space entirely. Avoiding isomorphism means avoiding symmetry, perfect mirroring, perfect rotation, perfect scaling, where nothing really changes.

Tekken attempts to avoid this mirroring/rotation problem by having characters be more dominant on their left or right side, able to catch people who sidestep to one side or the other, so even though you might be playing on an endless stage, sidestepping around your opponent in either direction is still important and different per-matchup. Not to mention that they otherwise avoid the problem by introducing terrain, which characters can be closer to or further from, and the rotation of the characters can orient them against the wall, or into corners, which might be harder to escape from. This makes the absolute position/rotation of the characters important.

Games with movement that’s locked to 4 or 8 directions (2d Legend of Zelda, except Link Between Worlds; Princess Remedy) have a weak form of this baked into the movement system, where relative positions of each character become more important to line up attacks, since they can’t be aimed at an arbitrary angle. In these games it’s really important to approach your opponents from either the cardinal or diagonal lines of the movement axes, depending on where your attacks are oriented relative to your character, and where the enemy’s attacks are relative to them. A Link to the Past and the gameboy zelda games accentuate this more by having Link’s attack originate from his side, rather than appearing straight from his center, as in Zelda 1. This has a weak effect in most cases, but it’s there. Since sword wielding enemies frequently have their sword a little off to the side, moving carefully can sometimes allow you to poke around their sword, which is interesting.

Most fighting games have what’s called “Guts Scaling”, where characters take less damage as their health gets lower. Since this is applied uniformly to all attacks, the effect is that characters have a little more health concentrated at the bottom of their health bar than they appear to. This doesn’t make it easier to come back from behind, but it does mean that matches spend more time in the stage where players look like their health is low. In other words, this is isomorphic in most fighting games, it’s purely a psychological trick. In Guilty Gear, the guts scaling is more extreme than other games, but chip damage and throws are exempt from this scaling, dealing their full damage, meaning that as someone gets lower in health, chip damage and throws become proportionally stronger, which means blocking is proportionally stronger at the beginning of the match, and weaker at the end.

Symmetry can frequently be useful however, for guaranteeing consistency and fairness. Multiplayer games are frequently symmetric in order to maintain fairness between teams. Asymmetric multiplayer games (Counter Strike, Overwatch, TF2, who serves in Tennis) are frequently played with the sides reversed to create symmetry, to give each team a chance to play each side. Many hitboxes for competitive games are designed to standardize oddities to create consistent outcomes (such as projecting 3d hitboxes orthographically). In boxing, left handed boxers (called southpaw) are frequently said to have an advantage, because they fight with their strong hand on the same side as their opponent. This breaks the mirroring of strong right arm versus strong right arm, closed stance, or open stance. The general rule is that asymmetry creates interest and breaks up redundancy, but symmetry creates fairness and consistency.

Developers should recognize framing and be careful with whether they label something a bonus or a penalty. If it’s more common to be “penalized” than to not be, players would probably prefer if that lack of penalty were framed as a bonus instead. Skilled players should recognize isomorphic game systems and not assign meaning based on whether the developer calls something a bonus or penalty. Developers should attempt at every stage of development to try to have relationships between different elements change in proportion, rather than retain the same proportion at a different scale, rotation, or so on. This means introducing reasons why the characters might want to rotate or not, or move around relative to each other or not. It means making levels, attacks, scaling, asymmetric relative to rotation, position, distance, and time.

Designing AGAINST Speedrunners

Speedrunners are terrible. They ruin games for everyone, and love to talk about how your coders are buffoons when they perform intricate tricks with elaborate setup and tight inputs that no ordinary player would ever think of doing, let alone be able to perform. Here’s how to drive these pests away from your games.

First, make an inaccurate ingame timer. Include load times (multiplied by 2, so now everyone needs to buy an SSD), cutscenes, character creation, time since the game was started. Hide it until they beat the game so they can’t reliably check if it’s accurate without cross referencing another timer.

Next, make file management annoying, or impossible. Utilize cloud saves, have events in one save affect events in a new game. Store savedata in the game files, encrypted, so they’re difficult to access, and difficult to modify. This makes starting completely fresh annoying.

Include unskippable cutscenes or autoscrollers that are about a minute or more, and vary their length randomly. Unskippable cutscenes are intensely irritating to speedrunners who just want to play the game. If they’re too long, the runner can take a break, but if they’re only a minute or so, they can’t comfortably do anything but sit and wait. Prompt the player to continue with text to make them all the more annoying.

Add RNG to practically everything. Damage, speed, enemy behavior, drops, etc. Be sure to include a big time saver powerup or item as a random drop that can only be obtained about a third of the way through the game, so speedrunners are obliged to obtain it, and need to waste time playing the game to see if it’ll drop. If you can work multiple of these in, all the better.

Ruin the wrists of speedrunners by including actions that go faster or deal more damage per second when they mash harder. Make the speedup from mashing grow exponentially as they mash faster, so the fastest possible mash has a significantly bigger benefit.

Next, don’t implement deltatime correctly for framerate independence. Make it so the timescale is faster at lower FPS, so that in order to move fastest, you need to reduce the FPS to as low as possible. Additionally, don’t benchmark the game to any specific FPS, just let it do whatever it wants, so then speedrunners need to argue about where to set the framerate standard, and need to force it to behave with outside programs. Make the input delay vary randomly over time, and don’t have a buffer for actions. This makes any frame-perfect input more difficult, and in general makes the game more frustrating to play.

Vary the speed of things like elevators and doors based on the difficulty picked. Higher difficulties should have faster elevators and doors, but also higher self-damage where applicable, forcing runners to play on the highest difficulty in order to get the fastest times.

Include drop-in online elements like Dark Souls so runners need to intentionally disconnect the game from the internet. Combine this with Denuvo, or other always-online DRM, which should also be set up to avoid tampering with Cheat Engine, which speedrunners use to practice and occasionally mod out RNG. Between these, runners will either need to accept that runs include online elements, they’ll need to authenticate with denuvo and play offline until authentication expires, or crack the game outright to disable always-online.

Make the game fast, make it linear (or open world, but with a linear sequence of objectives), and make it so the player snaps onto a bunch of environmental features, but has random animations of random length for traversing them. This helps narrow the skill gap, and introduce more random variation in timing. Making it linear makes the routing less difficult, and making it fast is something that you’d think would appeal to speedrunners, but they’re actually indifferent about. Making it open world means everything takes longer than it needs to. When making it open world, be sure that every event flag checks for multiple prerequisite event flags, so nothing can be completed out of order.

Don’t allow players to bind anything to scroll wheel, especially not jump or use. This has been used in countless games for various exploits.

Practice good coding conventions, don’t mutate state unnecessarily, use a strongly typed language with collections and avoid using pointers. Have each element interact with as few others as possible. Validate and sanitize your inputs. More safe coding practices means less glitches. Design mechanics to have a singular purpose that it accomplishes with no variation in output and no interaction with other elements. This reduces the chance of players finding unexpected uses of mechanics.

Thoroughly wall off areas that aren’t supposed to be accessed. Include kill planes in out of bounds areas. Don’t spawn loading zones before they’re supposed to be accessed. Lock players in rooms/arenas until they’re done with their current objective, or defeating all enemies. If players aren’t supposed to reach an area yet, make sure it’s unreachable, either with walls, or by making sure it doesn’t exist until it’s supposed to be reached. If possible, define levels in terms of areas the player is supposed to be, so they can’t exist outside of the places you want them to be.

Bundle bugfixes with new content patches, especially new bosses and new areas, because it forces all bosses and 100% runners to run on the patched version of the game in order to meet the category requirements.

Of course, a lot of these things make the game worse, even for casual players, but there’s no price too high to remove the speed demon menace!