top of page

MTG Creature Cost Calculator

​Solo Project
Project Duration: 4 weeks
Software/Languages: Excel, Visual Studio, C#

Magic the Gathering is a game that releases thousands of new cards each year. I tried to put myself in the designer's shoes and made a tool to help the design and balance of new creature cards.


How does it work?
Input power/toughness values, color(s), a rarity, and abilities into the calculator, and it will give you a potential starting point/baseline for a "balanced" mana cost.
A note on balance: True balance is impossible and doesn't sound fun anyways. There are many reasons to make a card "unbalanced". 

Krang Utrom Warlord is a card that exists, but let's use it as an example and put the math to the test. 

 

 

 

 

 

 

 


Each ability, stat, and other property like legendary status contribute to an Ability Points (AP) number based on backend numbers that can be adjusted. Once it totals the Ability Points it will convert it to a Mana Value based on the card's desired rarity. Higher Rarity = More Ability Points per mana value.

 

 

 

 

 

 

 

 

 

Backend Tables:

I used 1 as an understandable baseline for an ability, so most abilities cost 1 AP, but something like indestructible costs 3. The cost of adding power and toughness changes based on color (or lack thereof), and I used real numbers to understand the differences between the colors and their stats read more in the section below.

- all numbers can easily be adjusted on the fly

KrangColorStatsAndAbilitiesInCalculator.png
Krang, Utrom Warlord's card
It is Legendary which gives a -0.5 AP Cost and the calculator outputs 8.8288

Getting the Creature Data with a custom JSON Parser

I used the Scryfall API to get all the mono-colored creatures from the past 4 standard-legal sets at the time (Marvel to Lorwyn) into a JSON file. Then I wrote my own JSON parser in C# to go through and total the stats, using the total Mana Value to help put these numbers in context.

​

Why the Past 4 Standard-Legal Sets?
Scryfall had limits on how many cards 1 API call could return, and Standard offers a smaller card pool that is more comparable.
Why Creatures and not a different card type?

Creatures are ubiquitous in Magic, so there's plenty of data to look at. They're also more comparable to each other than other card types because of the shared stats and common keywords.​

Why only mono-color creatures?

I'd like to add multi-color/gold creatures into this at some point, but:
- data becomes harder to get at a good scale
- it's a complex design challenge
- excel makes this technically challenging, so it might be better to migrate this project somewhere else if I wanted to continue
​

Code snippets:

Findings:

1-mana creature cards were difficult to balance the calculator for accurately. The jump from 1-2 mana is a large one mathematically, and I feel like if I spent too much time focusing on getting 1 drops right, it would have effects on how the calculator scales beyond what it sees as 1 mana value creatures. The balance of 1-mana creatures is delicate.

In earlier versions, I found multiple situations where I wanted to add context to give the calculator as much information as possible. This added context is now available in modifiers that can modify certain abilities ability point scores based on a designer's evaluation.

​

I gained a deeper understanding of card balance. The process of making this required deeper analysis of how parts of a card fit together to make a card strong. Designing this tool required some understanding of the buttons and levers card designers have at their disposal, and testing the tool and adjusting the numbers helped me see where my assumptions fell short.

©2026 by Game Design Portfolio Ziad El-Rady.

bottom of page