GC SF Sp WH BV YL BT CP SA CB CC Back to puzzle

Safari Adventure


by Chris Yao

How to Solve

Here we refer to the top row of hoofprints, left to right, as T1 through T6. The bottom row is B1 through B6.

Each hoofprint must be filled in with a card from the game Magic: The Gathering, such that constraints are met. The various constraint types include:

  1. (For post-hunt solvers only) Naturally, only cards/printings that exist prior to this hunt are relevant: all sets up to and including Theros Beyond Death.
  2. Each card has a power, toughness, and two-word name.
  3. The first/second word matches a given word.
  4. A card's cost-related attributes, subtypes, power/toughness, rarity, or word, has a given level of matching with other cards on the path. Some examples:
    • "Cost, CMC, # of colors":
      • Tireless Tracker (2G) and Atzocan Archer (2G) satisfy "All matching" and/or "One or more matching" since they have the same cost and, as usual when costs are same, same CMC (converted mana cost) and same number of colors.
      • Abzan Guide (3WBG) and Toxic Nim (4BB) satisfy "One or more matching" since they have the same CMC (converted mana cost) but different costs and different number of colors.
      • Razor Swine (2R) and Shipwreck Singer (1UB) satisfy "Zero matching" since they have different cost, different CMC, and different number of colors.
    • "Power, toughness":
      • Ruthless Sniper (1/2) and Atzocan Seer (2/3) satisfy "Zero matching" since their power does not match and their toughness does not match.
    • "Rarity":
      • Akroan Horse (rare) and Goblin Matron (uncommon or common) satisfy "Zero matching" since they don't have any matching rarities. (Although some cards can have multiple rarities from different printings, the solve is also unaffected if one only considers one of their rarities/printings.)
      • Gnarlroot Trapper (uncommon) and Hunted Wumpus (uncommon) satisfy "All matching" and/or "One or more matching".
    • "Subtypes (Oracle)":
      • Chasm Guide (Goblin Scout Ally) and Goblin Matron (Goblin) satisfy "One or more matching" since they have a matching goblin subtype along with two non-matching subtypes.
      • Zodiac Pig (Boar) and Bristling Boar (Boar) satisfy "All matching" and/or "One or more matching" since they have the same Oracle subtypes.
  5. A 1:1 mapping from square/diamond/triangle onto 3 constraint types must also be consistent.
  6. No card is repeated ("no step is repeated").
  7. Words filled into the black blanks correspond to entries within the given alphabetically-ordered word bank. (This constraint and the word bank are not necessary to solve the puzzle, but are very helpful.)

The set of possible cards for a hoofprint, given some info about its attributes, can be found and narrowed down using an online database such as Scryfall or Gatherer. The general logic progression follows these steps, where each involves a few search queries and narrows down possibilities to no more than a handful:
1. Out of the 3 possible cards for B1, pick any one that hasn't been picked already.
2. Narrow down possibilities for T1, B2, and triangle. When considering each of the 3 triangle possibilities, the diamond+square connection to T1 would take the other 2 possibilities.
3. Narrow down possibilities for T4 and T5.
4. Narrow down possibilities for square and T2.
5. Narrow down possibilities for T3.
6. Narrow down possibilities for B3 and B4.
7. Narrow down possibilities for B5.
8. Narrow down possibilities for B6.
9. Narrow down possibilities for T6.
Finally, if there are still remaining possibilties for step 1, restart from that step.

The unique solutions in filling unknowns are:

  • Starting from Akroan Horse:
    Top row: Chrome Steed, Chasm Guide, Hunted Witness, D'Avenant Trapper, Tireless Tracker, Atzocan Seer
    Bottom row: Akroan Horse, Akroan Sergeant, Goblin Matron, Kyren Sniper, Ruthless Sniper, Atzocan Archer
    Cost, CMC, # of colors: Diamond
    Power, Toughness: Triangle
    Subtypes: Square
  • Starting from Bronze Horse:
    Top row: Diabolic Machine, Abzan Guide, Hunted Ghoul, Benalish Trapper, Lowland Tracker, Rakshasa Gravecaller
    Bottom row: Bronze Horse, Bronze Bombshell, Toxic Nim, Dripping Dead, Llanowar Dead, Rakshasa Deathdealer
    Cost, CMC, # of colors: Square
    Power, Toughness: Diamond
    Subtypes: Triangle
  • Starting from Zodiac Horse:
    Top row: Dusk Charger, Sorin's Guide, Hunted Wumpus, Gnarlroot Trapper, Deadeye Tracker, Shipwreck Singer
    Bottom row: Zodiac Horse, Zodiac Pig, Bristling Boar, Nettle Swine, Razor Swine, Shipwreck Looter
    Cost, CMC, # of colors: Triangle
    Power, Toughness: Square
    Subtypes: Diamond

The word bank gets filled out as:






Puzzle answers are, from the red blank in T6: SEER, GRAVECALLER, and SINGER

Construction notes:

This puzzle idea originated in a brainstorming session with Yar, based around having these 3 answers that happened to match up with MTG cards. We thought of building a path of nodes where identifying the cards' identities was equivalent to navigating a maze through MTG cardspace, and the various card mechanics/attributes allowed for various relationships between nodes. For an extra layer of logical deduction, some constraint edges would only be given as symbols, and would have to be identified within the solve.

I had originally floated the idea of squeezing the 3 answers into one node (rather than 3 separate nodes), thinking that it would be an interesting twist to support divergent solutions within the last few nodes, and it would indirectly highlight the vastness of the cardspace that it could support pulling that off. But when I did the first search for "___ Horse" cards to check out the options for the starting node, there were exactly 3 results (that were creatures)... then I knew that I'd have to try making the entire graph support 3 completely independent solutions.

One early idea was to throw in a tricky twist somewhere for each constraint, where fan knowledge could be handy. For example, Avian Changeling has the same creature types as Mistform Ultimus (due to the cards' rules box texts), while that fact wouldn't tend to come up in basic searches. But once it was apparent that the solve would involve a lot of searching through branch spaces, I tried hard to steer clear of anything tricky/ambiguous like this.

The primary challenge of the construction was finding a core path between B2 and T6 connected by equality constraints, that would fit in all of the 3 "universes". It was really fortunate for this that one of the 3 answers, SEER, had so many card options. I'd first focus on finding a constraint path that would work for GRAVECALLER and SINGER cards, and then there was a somewhat better chance that it could also be made to work for SEER cards. Once this core path (represented by B4, B5, & B6) was set, the bulk of the remaining work was all about paring down options/branches of the solve to reasonable levels, which is where all the "no match", rarity, power, and toughness connections came in. For some additional construction leverage I decided to use additional guide nodes along the path, which would each have one of their words pre-determined.

The main issue after the first testsolves was the excessive slog to get through all 3 paths. We addressed this in a few ways: Primarily, added the word bank (suggested by Yar), which was especially nice in accelerating the 2nd and 3rd solves. Expanded the constraints to include "one or more", CMC, and number of colors, which provided enough fine-tuned control to clean up half the edges and an extraneous node. And added another guide node while closing off several large incorrect branches in the solving search space.

Node B3, despite its central location and having the most constraint edges, was factored in as a final addition quite serendipitously. Prior to that, the last major issue was an excessively large branch in determining Kyren Sniper for B4 -- there were too many other options that fit the immediate constraints, that solvers would have to go through one by one. I had exhaustively determined that none of my normal mechanisms for pruning search space would fit in, and didn't want to rely on the word bank for pruning (as it could change to adjust difficulty, or to fix any issues from upcoming sets). Finally I was thinking "even if I miraculously set up full constraints for all its attributes, I still wouldn't even eliminate Kyren Sniper's twin card (with same effective attributes) Goblin Matron from consideration... darnit, why couldn't Kyren Sniper have been more like the other cards in this slot, which ONLY have their single twin cards widening their search space... wait a minute...". So it turns out that every card for B4 (Kyren Sniper, Dripping Dead, Nettle Swine) happened to have an unplanned twin card (Goblin Matron, Toxic Nim, Bristling Boar) with respect to the 4 attributes, and adding that card as its own node nicely pruned the search space to a reasonable level by forcing the logic along the lines of finding a pair of cards!

A missed opportunity: After this puzzle was fully designed starting from the set of 3 horse cards, I was watching MTG releases for any new cards that might force adjustments. And then a special set was announced that would contain precisely 3 cards which (can be argued) are horses. Sigh.