M:tG - Finding Infinite Combos

Discussion in 'Games (and Other Interactive Entertainment)' started by Bucky, Jul 16, 2017.

  1. Bucky

    Bucky Well-Known Member

    For the past few years, I've been treating each new Magic: the Gathering set as a puzzle, the goal of which is to figure out how to do infinite damage. It's usually possible, and unintended. I explain this not so much because I think it's directly useful, but because it's related to designing score based single player games - the same sort of process is used to answer the question "can I score unlimited points?", which if the answer is "yes" kills the game's balance. So I'll walk through the process of breaking the game, using M:tG as an example.

    Our overall goal is to achieve a loop - one action gives us enough resources to perform that action again. We also want a converter - a way to deal damage for each iteration of the loop.

    To start with, we identify the common costs for actions. M:tG has a variety of effects that use the same type of costs. In particular:
    • Cards in hand are used to cast spells, or occasionally discarded for an effect
    • Mana is spent to cast spells and activate abilities
    • Permanents are tapped to activate their abilities
    • Permanents are occasionally sacrificed to activate their abilities.
    These costs cover about 90% of the effects that matter. Now, in order to achieve a loop, we search for ways to reverse each of these. M:tG has a handy keyword search tool, and uses keywords consistently enough that the right one-word searches turn up most of the reverse actions. In particular, you want to run four searches. I refer to them as the CRUP searches, but I'll explain them in reverse order:
    • Pool - Only shows up in the phrase "mana pool". This phrase appears on all cards that generate mana, which is the inverse of spending it.
    • Untap - This is the inverse of tapping a permanent. Since many permanents tap to generate mana, an Untap effect can sometimes substitute for a Pool effect.
    • Return - This has a couple of meanings, but they're both useful. Returning something to your hand is the inverse of playing it, and returning something to the battlefield is the inverse of sacrificing it. Since cast or returned permanents are usually untapped, this can sometime substitute for an Untap effect.
    We've now covered the four basic costs, but one more term is useful.
    • Copy - This means "do it again without paying the costs", which in turn means fewer costs need to be reversed during the loop. Copy cards are good at turning a resource-losing non-infinite loop into a resource-gaining infinite loop. Also, copying a permanent generally results in an untap.
    One then filters for cards in one category that other cards can reverse. For example, spells and enters-the-battlefield abilities are only interesting if they can be returned. Within the filtered subset, map out the costs associated with each transition; this might suggest the need for other searches, such as a way to sacrifice something so it can be returned from the graveyard. The top priority is usually to generate a lot of mana, as the most common cost, and the solution usually follows from that constraint.

    There are also a few rare effects that mimic these inverse operations, like getting an extra turn which is used to untap. Unfortunately there's no systematic way to search for these.

    Finally, once one finds a loop, it's time to convert to damage. Often, the loop is self-converting, for example generating infinite copies of a creature as a side effect. In other cases, it generates something like mana or extra untaps that isn't directly useful and you need to search for something that consumes that resource to deal damage. If it's just an empty loop, you need to do one final search for "triggers" that have side effects as a loop progresses; the keyword for this in M:tG is "whenever".

    As a backup plan, there's occasionally a circular trigger loop that requires no resources to continue once started that will turn up in the "whenever" search. For example, if you have two copies of the card "Enduring Scalelord", putting a +1/+1 counter on one lets you put a counter on the other, which lets you put another counter on the first one. You can find these by mapping out the causes and effects of each trigger, with arrows representing the card, and looking for a cycle.
    keithburgun and BrickRoadDX like this.
  2. richy

    richy Well-Known Member

    Definitely seems like something valuable to think about mechanics-wise. Probably easier to understand the point if it were put in gamelet terms though? MTG seems so obviously complicated that maybe there would be bound to be exploits buried in there.
  3. Bucky

    Bucky Well-Known Member

    Okay, let's break Super Mario Bros.

    There are a bunch of ways to score points. - finish a level, kill enemies, collect coins and power-ups

    Common costs are:
    * Timer, for everything except finishing a level
    * Stuff on screen, removed when you score points with it
    * Screen scroll, for anything on the right

    And there are only a finite number of levels, so we need to keep the infinite combo within a level.

    There's only one way to reverse the timer - dying. Conveniently, dying also unscrolls the screen and replaces any collected items.

    Can we reverse dying? Yes, by collecting a 1-up. Can we reverse the removal of the 1-up? Yes, dying does that too.

    So we have an unlimited points loop: collect a coin, collect a 1-up, die before the next checkpoint. We get unlimited lives as a side effect. Conveniently, there's a hidden 1-up and a pit right before the first checkpoint, so we can combo off at the start of the game.
  4. Jon Perry

    Jon Perry Well-Known Member

    Nice post. I do think solving for these combos is fun. Incidentally I've been tinkering with a game where the explicit goal is to create an infinite loop. As in that's the prescribed way for the player to win and the mechanics are meant to support that.
    BrickRoadDX likes this.

Share This Page