Skip to main content
Arianna Story

Software Engineer, NC State University

Article Projects
A screenshot of various Magic: the Gathering tokens laid out on a PDF.
A screenshot of various Magic: the Gathering tokens laid out on a PDF.

Last time, I talked about what a big impact video games have had on my life, so I thought it was only appropriate to make the next one about the impact that physical games have had! My partner and I met at a board gaming event, and over the course of our friendship and now relationship, we play a ton of games. Sometimes, I’ll introduce her to something, and sometimes she’ll introduce me to something. It’s a great way to add some variety!

Sometimes when she explained games, she’d use terms from a card game that I’d not played before – Magic: the Gathering. It’s been around longer than either of us have been alive, so it’s pretty easy to make comparisons in mechanics. So, she might say “you tap this and scry 2,” which makes perfect sense to someone familiar with the game (at least I think so). Now, I was a big Yu-Gi-Oh! player when I was younger, but Magic is, quite literally, a whole different game.

In an effort to understand the words she was using and make translation a little bit easier, I decided to learn Magic. And a few hundred dollars later, I am hooked. It’s a wonderful game with a rich history, complex interactions, and (my favorite part) literal decades worth of data to play with. Now, none of that is to say that I am good at the game. I’m average at best, and my Friday Night Magic rankings represent that.

One of my favorite websites in learning Magic has been Scryfall: a comprehensive and gorgeous database of all of the cards that have ever been released for the game (over 30,000 unique ones, by the way). It’s incredibly well-organized with a great UI and an even better API. A while ago, I built a silly game (“Guess the Magic Card“) based off it. But that was, like I said, just a silly one-night project to get familiar with it’s API.

A few months ago, Wizards of the Coast (the company that produces Magic) announced an expansion set centered around the Final Fantasy franchise, a collection of amazing video games that I’ve been playing since I was little. I prepared myself (and my wallet).

This set got me interested in actually building decks to play competitively. The Final Fantasy set, I found, makes extensive use of “tokens.” For example, Magitek Armor has this text: “When this Vehicle enters, create a 1/1 colorless Hero creature token.”

Because tokens are ephemeral, they’re not a part of your deck. You’re expected to have some on the side, ready to be placed on the battlefield. And to Wizards’ credit, they pack in a physical token with every booster pack. I think I ended up with 11 Hero tokens from the pre-release event I attended.

But while I was playing around with decks, I found that I was missing some tokens. There’s tons of ways that folks get around this, ranging from sticky notes to dry-erase tokens like Infinitokens (which work great, by the way; I have a set that I keep in my game night bag). However, me being me, I decided it might be a good opportunity to play with Scryfall’s API again… and maybe to try a new technology!

After a night of work, I whipped up DeckTokens.org – a Django-based app that takes your deck list and generates 8.5″ x 11″ sheets of all of the tokens you need to test your deck! When you submit your deck list, we loop through every card seeing if we already know about it. If not, we contact Scryfall’s API and parse out what kind of tokens a card generates. We then store it locally (because, to their credit, Wizards never changes what cards do) for the next person.

I will say, Magic has a tendency to have a ton of card variants… and those extend to the tokens! While one card might create “a 1/1 colorless Hero creature token,” another might create a “1/2 blue Hero creature token.” And when you’re creating a tool to help test decks, that difference is far from negligible. Fortunately, as I said earlier, Scryfall has every single Magic card created, and that includes tokens. So, it was a matter of being really, really specific.

And if learning to be really, really specific isn’t Magic in a nutshell, I don’t know what else is.

(P.S. If you’re interested, here’s the Dual Commander deck that I built to play for Pride Night with my partner!)