Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
June 13, 2021
arrowPress Releases







If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 

King of Cards: Joustus Deep Dive - Part 3

by David D'Angelo on 12/10/20 10:50:00 am   Expert Blogs   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

Put on your diving helmets, deckhands! It’s time for the final entry in our Joustus deep dive. In this lesson, we’ll describe the vast metagame that we needed to develop while integrating Joustus in King of Cards.

Part 3 – Putting the “Cards” in King of Cards

During development, a lot of thought went into how Joustus would fit within a platforming game. In its entirety, King of Cards is about King Knight traveling to a land that’s obsessed with Joustus. We felt that he should visit Card Houses and see the excitement for himself! He should battle opponents, collect cards, and ultimately become the King of Cards!

Cue the title of the game!

Obviously, all those things have little to do with the mechanics of playing Joustus but they’re a big part of why you’d be motivated to play in the first place! So, they were important to scrutinize.

Acquiring Cards

The next hurdle we faced was determining how the player would get cards! There were so many potential ways! Initially, we liked the idea of King Knight collecting cards during the platforming stages. He could buy or earn “Card Juice”, a consumable item that you would toss onto an enemy to transmogrify them into a card. The loop would be similar to Final Fantasy VIII, or even Pokemon. Find an enemy or Boss, turn them into a card or resource. Makes sense, right?

First you gotta him 'em with that Card Juice! Then just smack 'em to make 'em a card! This idea was abandoned!

“Card Juice” went pretty far into implementation before we decided that it wasn’t going to work how we wanted it to. It would be too hard to balance the card game if your card selection was based only on the enemies encountered. We also wanted to avoid players card farming and harping on Joustus arrows when they were playing the platform game. The platforming was already enough to think about!  Like in Plague Knight’s Alchemy system, we had to toss the whole thing in favor of something more controlled. Decisions like this cost lots of time!

Toad houses provided some inspiration for giving away free stuff.

We made a hard delineation between the platforming and card gameplay. So we could focus on each one individually. From that moment on, cards would be no longer found in the platforming gameplay stages. We instead focused on cramming cards into players’ hands at every other opportunity:

  • Earned from your card combatants in Houses of Joustus and the Airship
  • Bought as “Mystery Cards” from Chester
  • Found in chests in single-screen room ‘toad houses’ and other ‘secret areas’
  • Granted by out-of-the-way NPCs simply for talking to them

Card Combatants

How do you battle your card opponents? We first imagined that you could press a different face button to either talk to someone or play cards with them, like in Final Fantasy VIII. We went so far as to make King Knight’s crown flash when he was near an opponent! Pressing the “Play Cards” button would bring up a menu that showed the card battle rules (and even a wager!) So the player could edit their deck in anticipation or decline the match.

Look at all those rules! I'm getting sleepy already...

Unfortunately, in practice, it didn’t work as well as we had anticipated. Playing cards by pressing a button was too far removed from the gameplay. If you never pressed it, you’d never even encounter anything card-related! We wanted people to be able to avoid the card game, but this was too extensive.

Additionally, the information provided by the rules menu was too complicated, boring, and pointless. Planning for a specific match wasn’t fun. We decided it would be much more enthralling to be surprised by a new board, rules, and even getting trounced!

We took out all those mechanics and centralized all card battles to be in the Card Houses and the Airship. So you’d be organically focused on Joustus since you would be immersed in the environment. This way, challenging Joustus players would use normal dialogue prompts and the battle’s contents would be a surprise! Whew! Much simpler!

Balancing the Game

This is only a small portion of the AI's tweakable parameters.

When we first created a Joustus AI to play against you, we focused on making the AI as smart as possible. From there, we planned to dial it back to be easier depending on what we wanted to achieve in each battle. There were many dimensions in which we could modify the AI to be more or less challenging to provide a unique play style. Sometimes the AI wouldn’t think turns ahead, they would be primarily focused on blocking out a gem, or were completely random! For each playable card, we ranked all the possible moves across all of these various dimensions to decide what the ideal AI move was! We found this method to work well! Unfortunately, the more we playtested with people, the more we found the AI was still too hard!

A debug menu let us easily test out myriad Joustus options

We solved this problem in a few key ways! We added dimensions to how the moves were ranked:
1) We made sure that the AI did not immediately push the card you just placed. We found this to disorient players, especially in their early matches where they were still learning.

2) We added the ability for the AI to deliberately choose a move they thought would make the game last longer (instead of trying to win).

3) We made turns matter a lot more. Depending on whether it was 1 or 3 or 5 turns to win, the AI could drastically shift what it was trying to do to accommodate the player.

This balanced deck is all you need to complete the game!

Then we took a look at how we were balancing the decks of each opponent.

We attempted this by:

1) Giving the AI a core strategy- i.e. they might have almost exclusively right arrows in their deck or they might overtly focus on blowing up cards.

2) Truly limiting the number of “good cards” anyone could have in their deck.

3) We made a system so the cards chosen from the AI’s deck could be shuffled towards the front of the deck, as needed. This way, we could ensure the randomness was never too far out of your favor. This also helped in increasing the likelihood of seeing unique cards and cards that were stolen from you.

With all of these balance changes, we made a large pass at every card battle in the game to make sure we could beat every fight with only the starter deck. It wasn’t easy but we were able to do it! With that requirement, we made sure that the most expert player didn’t need to rely on the best cards, and the worst player could lean into having good cards to get them through.

 

Houses of Joustus / Progression Structure

Initially, we planned to have Joustus battles scattered throughout the game in villiages. There would be a “card board”, a bounty board where you could seek out card missions. This was supposed to gate and guide your progress through progressively harder battles.

We even brought this to PAX! Conventions easily are one of the best ways we determine what is and isn't working in our games.

In practice, it was clunky and weird. We found it was best to avoid the menu and keep it visual, streamlining it.

The banners in each house denote your opponents. Note the small banner indicating Leo has been defeated.

The village idea eventually turned into “Card Houses”, which were imagined as dedicated locations for all of your Joustus activities. There would be one Card House per world. Just as Joustus itself required enough abilities to create sufficient card permutations, the Houses of Joustus needed the right amount of card types, opponents, interactions, and challenges. We took a stab at extrapolating the content: each house would have 3 card battles and a boss battle, some discoverable cards, a few puzzles, and a surprise or two.  There was a balancing act here. We didn’t want you stuck at the Card Houses for so long you forgot about the rest of the game or ignored them! So, we focused on making the houses digestible.

King Knight’s airship hub was decided as the only other location you could play cards. There, you could engage in battles with the Order of No Quarter and your Heirloom-dispensing followers. Initially, the Heirloom followers were passersby, but they were given their own spaces when Joustus grew in scope. The number of foes eventually ran to more than 50. Robust!

It was important that players were able to face the Order of No Quarter at Joustus.

At Casa Bonita in Colorado, you raise a little flag to request service. In Joustus, the little flag raises when you've beaten your foe!

As another indicator of progress, we added a little “Casa Bonita” flag near each card combatant so you’d know at a glance if you’d beaten them or not. By the end of development, we’d added little tables with flags next to almost every Joustus Player.

We decided not to gate the Card Houses artificially. If you wanted to waltz right into the last card house and play, you would be able to, but you probably wouldn’t get too far. For a while, we considered having a bouncer at the door of each card house against whom you’d need to prove your skill to enter. It ended up being more fun to let the player do things out of order, so we went with that direction!

Acquiring Cards

Winning and Losing Cards

Winning and losing cards from your opponents is a critical part of most collectible card games. It’s such a rush to win a card from your opponent!  We discussed the possibility of rewarding a specific card for beating an opponent, but – as players – we wanted to choose from the cards on the board! Questions arose like, “If you took your opponent’s unique card, would they have another copy of it if you played them again?” We decided that if the card was truly unique, that it should be impossible. This led us to the inevitable conclusion that each opponent would need their own unique deck. So, the game would need to keep track of all the cards that they lost and have backup cards to replace the missing ones. Yikes!

Likewise, if the opponent can lose a card, you should be able to lose one as well! We decided that if you lost a card in a match, it would fun to see it appear in your opponent’s hand next game! Since we had unique decks already, we took this plunge. Unfortunately, losing cards also meant that you could end up with fewer cards than your minimum deck size needed to play! We didn’t want players to have to rearrange their decks every time they lost. So, to remedy this, we created an auto-suggester that allows you to quickly refill your deck between rounds.

The card replacement suggester takes some guesswork out of choosing a card if you lose one. The first card the AI chooses is most similar to your lost card, the second is the card the AI deems most valuable, and the 3rd is random.

This led to the problem of, “What happens if you completely run out of cards?” We were able to solve this problem simply by giving you infinite copies of the least powerful cards!

Chester filled the role of merchant for all things card-related!

ALSO, what if people forgot who they lost their card to, or what if they couldn’t win it back? To solve this, we added a card buyback option from Chester. Where he could get you your cards back…for a hefty price!

Finally, we made sure that players would be able to access cards that they might’ve missed in a no longer accessible area. They would simply appear in Chester’s buyback menu!

It was a whole lot of work but it was well worth it to ensure the card economy was as well-considered as the gold or health economy of the game.

Mystery Cards

Every self-respecting TCG needs booster packs, and Joustus was no exception. It felt fitting for Chester to sell them. We had many unique character cards to somehow award the player, and we’d already stuffed the game full of them in other places! We put the rest in Mystery Packs. In order to keep the packs balanced, we made multiple Mystery Pack levels! Which were unlockable in each House of Joustus and would contain different sets of cards.

Late in development, we added a completion % for each level for ease of use. So, players would know how far along they were! We also tried to streamline the interface so it didn’t feel tedious to buy multiple cards.

Fun fact: The odds of getting a new card from a mystery pack are always weighted slightly in the player’s favor.

Card Crystal and Completing the Card Collection

We figured players would naturally want to collect every Joustus card and 100% their collection. The number of cards (about 150) and the unique combatants (dozens) would make that impossible to track. How would you know where the cards were? We didn’t want people having to resort to scouring a wiki if they wanted all the cards. We resolved to give you a way to track everything.

Using the Card Crystal Filter, you can see the location and owner of each card in the Card Info.

This led to the creation of the Card Crystal. Which would be unlocked once you beat Giga Cardia, the final Joustus boss! It would show you the owner of every card. We figured this would be a good balance between searching and collecting. This way, collecting all the cards ends up feeling rewarding and not too tedious! Even after all the gameplay testing, several of us still 100% the card collection for fun each time we play!

Bosses

We wanted the bosses of the Houses of Joustus to be more powerful and interesting than a regular battle! We decided to give each Boss a unique ability that was like a cheat of their own.

Giga Cardia

Only Cardia has unique Joustus Board art.

We originally wanted to have King Knight travel to the moon at the end of the game… but we had to stop ourselves or else development would go on forever. So instead of going to the moon, King Knight is warped to a celestial plane to battle Giga Cardia, King of Cards’ final card-related challenge. To show her Joustus supremacy, we gave her all the abilities from the other bosses.

After the card battle, you fight Giga Cardia in a platforming style boss encounter. This is a rare time in the game where your platforming prowess is needed to complete card tasks! We figured, “What the heck, why not?!”

Secret Multiplayer Mode

We acknowledge that everyone wanted a multiplayer mode! We did too! In our 4.1 Patch update for King of Cards, we added a secret feature for a Joustus local co-op! Pressing “Up” in front of the mirror in King Knight’s room allows for Joustus Free Play! Where you can set up Joustus decks, board layouts, and more! So you can play with your Joustus fanatic friends to your heart’s content!

 

Let’s Joust!

We’re really proud of Joustus. Though it wasn’t exactly in our normal wheelhouse, it became another pillar of gameplay that sets King of Cards apart. Through the portrait art and loving craft put into the cards themselves, it ultimately became our little sendoff to the world of Shovel Knight: Treasure Trove. We put a lot of effort into making Joustus accessible and understandable, as we hope this deep dive has shown. Thanks for reading this extremely in-depth article series! We hope you enjoy discovering how to play, conquering the Houses of Joustus, and hunting down every last Joustus card.


Related Jobs

Eyestorm Creative
Eyestorm Creative — Los Angeles, California, United States
[06.11.21]

Post Producer
Disbelief
Disbelief — Cambridge, Massachusetts, United States
[06.11.21]

Programmer
Disbelief
Disbelief — Cambridge, Massachusetts, United States
[06.11.21]

Senior Programmer
Skybound
Skybound — Los Angeles, California, United States
[06.11.21]

Producer (Games)





Loading Comments

loader image