How Four Stat Axes Turn 84 Cards Into Real Tradeoffs
How I designed the 84-card database in Orchard Deck with four orthogonal stats so a card can be rare but weak or common but fast, making every card a tradeoff.
Orchard Deck has eighty four cards spread across three packs, the Medieval Realm, the Cosmic Orchard, and the Spooky Grove. That sounds like a lot of content, and it can be, but a pile of cards is only interesting if the cards differ in ways that matter. A collection where a better card is just a card with bigger numbers everywhere is not a collection, it is a ladder, and once you have the top card the rest are scenery. The thing that makes these cards a real collection is that each one carries four stats that pull in different directions, so being good at one thing does not mean being good at the others.
The four axes are rarity, power, value, and age, and none of them is a stand in for the others. Rarity drives a card's tier and its pull weight in the slot machine, so rare cards show up less often. Power drives how much a card yields when harvested in the orchard and how it performs in the campaign battles. Value drives a card's sell price and its buy price, the coins it is worth on either side of a trade. Age drives grow time, how long the card takes to mature in a plot before it can be harvested. Four stats, four jobs, and the design lives in keeping them independent.
Play Orchard Deck in your browser
Orthogonal Means The Stats Do Not Track Each Other
The word I kept in my head the entire time I built the database is orthogonal. It means the four stats move independently. A card's rarity tells you nothing about its power. Its power tells you nothing about its grow time. Its value tells you nothing about its rarity. That independence is the whole trick.
The lazy way to build a card database is to make every stat track a single hidden quality score. A card is either good or bad, and if it is good then its rarity, power, and value are all high and it grows fast, all together. That is what most collections secretly are. It feels fine for an hour and then it collapses, because once the player works out that one number drives everything, the collection flattens into a single ranking. There is the best card, the second best, and so on down, and the only goal is to climb. Every card is just a worse or better version of the same card.
Orthogonal stats break that ranking apart. When rarity and power are independent, you can have a rare card that is weak, a flashy hard to pull card that produces almost nothing in the orchard. You can have a common card that is powerful, one you see constantly that out yields cards far above its rarity. You can have a card that grows fast but is worth almost nothing to sell, or a card worth a fortune that takes ages to mature. None of these is strictly better than another. They are better at different things, and that is the difference between a collection and a ladder.
What The Independence Buys In Play
The payoff for keeping the axes orthogonal shows up everywhere a card gets used, because different systems care about different stats.
In the orchard, the stats that matter are power and age. You want high power for the coin yield and low age for fast grow time, so the best orchard card is a fast growing powerhouse. But power and age are independent, so that ideal card is rare, and most of the time you choose between a powerful card that grows slowly and a weak card that grows fast. A slow powerhouse pays more per harvest but ties up the plot longer. A fast weakling pays less but cycles quickly. Which is better depends on how often you check in, and that is a real decision rather than a sorted list.
In the market, the stat that matters is value, and value being independent of rarity is what keeps trading interesting. A rare card is not automatically worth a lot of coins, and a common card is not automatically worth a little. So selling becomes a judgment rather than a reflex. You might keep a low value rare because it is hard to pull again, or dump a high value common because you can always get another. If value tracked rarity, every sell decision would be obvious.
In the campaign, power leads, but a card you would never plant because it grows too slowly might be your best fighter, because age does not matter in a battle, only power does. So a slow grower that is dead weight in the orchard can be a star in the campaign. The orthogonality means a card's worth is not a single number, it is a profile that reads differently depending on which system you look at it through.
Designing Eighty Four Profiles By Hand
Building eighty four cards with four independent stats each is more work than building them on one quality slider, and that extra work is the point. Every card needed a profile, a deliberate mix of the four axes that gave it a niche.
I worked pack by pack and made sure each pack had a spread across every axis, so that within the Medieval Realm alone you could find a slow valuable rare and a fast cheap common and everything between. I did not want a player to learn that one pack was just better than another. Each pack is a full range of profiles, themed differently but balanced against the same four axes. The themes are flavor. The stats are the substance.
The temptation the whole way through was to let a stat drift toward correlating with another, because correlation makes balancing easier. Keeping the axes independent meant I had to accept that some rare cards are deliberately bad at some things, and that is uncomfortable when you are the one placing the numbers. A rare card that grows slowly and sells for little is doing its job, even though it looks like a mistake next to a common card that does both better. I had to leave those cards weak on purpose, because their weakness on one axis is what makes the strong axis mean something.
The thing I learned building the database is that depth in a collection does not come from the number of cards. It comes from the number of independent ways a card can be good. On a single axis, eighty four cards collapse into one ranking where you only ever care about the top. On four independent axes, those same eighty four cards open into a field of corners and edges and tradeoffs, cards perfect for one job and useless for another. The cards did not get more interesting when I added more of them. They got more interesting when I made each one good and bad at different things.
The full deck is live in the browser build, all eighty four cards across the three packs with their four stats on display. It reads as a space you move around in, full of corners and edges where a card useless in the orchard turns out to be your best fighter in the campaign. Play Orchard Deck in your browser.
Like this? You'll like what I'm building too.
Two ways to support and get more of this work.
HEARTH
A privacy-first Life OS for your desktop. Journal, tasks, and notes that stay on your machine. Coming soon, direct download from this site.
Read moreMY TOOLKITS
Receipts-first toolkits for shipping after hours, building Claude agents, publishing on Amazon, and more. The exact methods I used, not theory.
Browse on WhopRelated Articles
Balancing a Roguelike to a One-in-Three Win Rate With a Headless Harness
My draft roguelike was too easy. A strong team won the cup two-thirds of the time, so winning meant nothing. Here is how I stopped guessing and tuned it to a real one-in-three with a few hundred simulated runs.
What Building Small Games on Nights and Weekends Taught Me
I keep my games small on purpose. Here is what shipping little, finished, free browser games in Godot, instead of chasing one big dream project, has taught me about scope, momentum, and actually finishing.
Daily Challenges and Shareable Seeds, No Server Required
A deterministic, seeded simulation gave my draft game a daily challenge and shareable challenge links for free, with no backend at all. Here is how a single integer unlocks both.