The Maddening Maths Of Pegasus Castle Sprint

<- Back

Recently while wondering around the Welsh town of Conwy I stumbled across the new (I think) board game of Pegasus' Castle Sprint, based on Season 1 of the YuGiOh anime. Being a big Yu-Gi-Oh and a fan of the world of cheap board games I got the game and went to the hotel to play it with my partner.

The game itself is a lot more boring than I expect, once you've picked one of the four characters to play as (Yugi, Kaiba, Joey, and Mai are the options) the gameplay is pretty much just jumping around a hex grid flipping over tiles and either getting Star Tokens, or having to duel. Dueling consists of choosing a card from your deck and seeing who has the highest attack, winner gets some star chips, 10 star chips and you go to the end and win. There's no prizes in the game so unlike the anime you don't get to save your brother from being trapped in a card or your sister from permanent blindness. It's fine, a 4/10 game I don't intend to play again unless I'm very bored.

But the duelling is what caught my attention, each character has a deck of 8 cards, all based around monsters from series 1, you add cards to your hand through random tiles, you choose a card from your hand to play against the opponent, highest attack wins, then the cards go to the bottom of the deck and you draw to replace them

When we were playing through I was thinking about how balanced the game could be, it's ostensibly aimed at children though I can't imagine the child desperately wanting to play a pretty dull game based on a twenty-three-year-old anime but hey I'm not a marketer, I'm a software developer with too much time on his hands. But anyway back to the game, I was thinking about a way to compare decks to see who's better and my initial thought was just to compare the average attack of each deck but this doesn't work because hypothetically a deck could have 7 monsters with 100 attack and one with 100,000, giving it an average of ~12,500 but it's still going to lose most of its duels (for reference most monsters have an attack somewhere between 1000 and 2000).

After some thinking I eventually settled on the best way being to loop through every card in a deck and compare them to every card in the other deck, so 8 * 8 checks for each pair of decks, or 1,536 checks in total. Even though I am a frighteningly boring person this was too much for me to want to do by hand so I rolled over to my laptop and got to work.

An hour of my holiday, a few hundred lines of code, and only a few existential crises (seriously what am I doing with my life) later, I had a working model going and the results were confusing. In my ideal world the decks would work like some crazy form of Grime Dice (seriously they're a great thing, the Red Dice rolls a higher average than Blue, which rolls higher than Green, which rolls higher than Red, how cool is that, then you add two more and things go wild but read more about that here: https://singingbanana.com/dice/article.htm) but that's never going to happen, so I'd settle for the decks being roughly equal but no!

Kaiba won 73.4% of the duels against Yugi, 68.8% against Joey and 64.1% against Mai. Yugi meanwhile (the protagonist of the show) however is at the exact opposite end of the scale, 26.6% against Kaiba, 34.4% against Joey, and 32.2% against Mai. Joey and Mai are both middling between them. What is this? How is this what they chose? I get how they got here, I think, in the anime Yugi's whole deal is having monsters with low attack but then he uses spell cards, trap cards, random plot armour to eke out victories, while Kaiba is just building up various huge monsters to do big attacks. That level of strategy is why Yu-Gi-Oh succeeded as a card game, but also why you can't just pull monsters out of it and expect anything to work.

Looking back through the rules I realised I'd missed a key part of the game in my initial design, field advantages. Each of the monsters also has a field type advantage (remember that concept they tried to push in the first season, no? Well it's back). The 5 field types are Night, Day, Grass, Forest, and Water and then each field token you land on also has a field type, if you're duelling and the monster's type matches the field token's type then hooray you get your attack doubled.

Aha, this'd be where the strategy element of Yugi's deck pulls through, surely. I looked and still had 45 minutes until dinner so went back to the drawing board and added in the field types, bringing the total comparisons up to 52,224. I ran the code again and .. nope it was basically the same results. Kaiba gets 68.1% wins over Yugi, 56.8% against Joey, and 60.7% vs Mai. Meanwhile Yugi crawls up the rankings to get 29% against Kaiba, 30.7% against Joey, and 32.6% against Mai (the discrepencies are due to the draws some matchups cause, where you just duel again with new cards. I guess technically this would change the odds but there's never more than 5% draws between 2 decks so I just left it, I only have so much time).

Wait no, one more thing to check, there is also a big deck of Opponent cards, which is some amalgamation of all the other character cards in the season (Pegasus, Maki, Weevil, Rex, Panik, Bonz, Para & Dox are all represented to some extent) (no Bandit Keith though, why even bother) which you sometimes have to matchup against. Maybe this will be Yugi's moment, he's weaker against the other character cards but through some crazed confluence of mathematics he has the advantage in opponent duels. And there's still 15 minutes before dinner so I quickly entered all 22 of these cards and hit go but no of course Kaiba still crushes everything, beating 59.9% of the opponent cards to Yugi's measly 36.6%. This is madness.

It's just ... nowhere near balanced, but as I looked through the decks again it makes even less sense. Somehow Kaiba is allowed his Blue-Eyes Ultimate Dragon, the crazy fusion boss monster with 4500 printed attack, 20 years later that's still one of the most powerful cards in the game in raw attack power. In this board game only 2 of the other character's cards can beat that and that's if they get lucky with the field type. Meanwhile they didn't even try adding any of his weaker cards from the anime (Saggi the Dark Clown, with just 600ATK seems like a prime candidate), instead just letting him be basically unbeatable. Yugi (who already has an underpowered deck) gets randomly nerfed from the anime, with his key card Dark Magician having his attack randomly dropped from 2500 to 2100 (interestingly, 2100 is the card's defense stat, did someone misread in a panic) and then Exodia The Forbidden One, setup as the ultimate monster who can immediately win any duel, has a pathetic 1000 attack in this game. And yeah, the card does have 1000 attack but the whole point is that it's one of 5 cards.

If you change those two so Dark Magician has 2500 Attack and Exodia has 10,000 (enough to beat any other card whatever the field type is) then suddenly the game is nearly balanced! Kaiba still beats Yugi 56.4% of the time but that's pretty great. If you then take out Blue-Eyes Ultimate and replace him with Saggi (naturally with a Night field advantage) then the game is ... pretty much balanced. The biggest win advantage is Mai vs Yugi but that's only 56.3%. That's amazing! Why did the people who made the game not even slightly try to balance these decks.

I mean, I know why, I've seen how badly perforated the token were, and how the box came with two rulebooks rather than the one they stated, the simple answer is that nobody cares as much as me, and hopefully at least one of you reading this.

Source Code is available here: https://github.com/ChesterSA/YuGiOh-Pegasus-Castle-Sprint

Full results (of the decks as printed in the game): Yugi vs Kaiba | W: 29% L: 68.1% D: 2.9% Yugi vs Joey | W: 30.7% L: 64.7% D: 4.6% Yugi vs Mai | W: 32.6% L: 66.6% D: 0.7%

Kaiba vs Yugi | W: 68.1% L: 29% D: 2.9% Kaiba vs Joey | W: 56.8% L: 39.4% D: 3.8% Kaiba vs Mai | W: 60.7% L: 35.3% D: 4%

Joey vs Yugi | W: 64.7% L: 30.7% D: 4.6% Joey vs Kaiba | W: 39.4% L: 56.8% D: 3.8% Joey vs Mai | W: 50.1% L: 49.9% D: 0%

Mai vs Yugi | W: 66.6% L: 32.6% D: 0.7% Mai vs Kaiba | W: 35.3% L: 60.7% D: 4% Mai vs Joey | W: 49.9% L: 50.1% D: 0%

Yugi vs Opponents | W: 36.6% L: 60.4% D: 3% Kaiba vs Opponents | W: 59.9% L: 37.4% D: 2.7% Joey vs Opponents | W: 49.5% L: 47.7% D: 2.8% Mai vs Opponents | W: 48.2% L: 48.8% D: 2.9%

Full Results (with my changes to Exodia, Dark Magician, and switching Blue-Eyes Ultimate Dragon to Saggi the Dark Clown): Yugi vs Kaiba | W: 49.8% L: 46.2% D: 4% Yugi vs Joey | W: 43.2% L: 52.2% D: 4.6% Yugi vs Mai | W: 43.7% L: 56.3% D: 0%

Kaiba vs Yugi | W: 46.2% L: 49.8% D: 4% Kaiba vs Joey | W: 45.1% L: 50.8% D: 4.1% Kaiba vs Mai | W: 48.2% L: 47.8% D: 4%

Joey vs Yugi | W: 52.2% L: 43.2% D: 4.6% Joey vs Kaiba | W: 50.8% L: 45.1% D: 4.1% Joey vs Mai | W: 50.1% L: 49.9% D: 0%

Mai vs Yugi | W: 56.3% L: 43.7% D: 0% Mai vs Kaiba | W: 47.8% L: 48.2% D: 4% Mai vs Joey | W: 49.9% L: 50.1% D: 0%

Yugi vs Opponents | W: 48% L: 49.2% D: 2.7% Kaiba vs Opponents | W: 48.4% L: 48.8% D: 2.8% Joey vs Opponents | W: 49.5% L: 47.7% D: 2.8% Mai vs Opponents | W: 48.2% L: 48.8% D: 2.9%