virtualmarmalade

strange, isn't it?

  • like, whatever you want

31, FL, USA
game design liker, amateur ttrpg writer, sonic/zelda/pokemon fan, perpetually broke

pfp: Picrewの「little guy maker」でつくったよ! https://picrew.me/share?cd=eI65FyU1vN #Picrew #little_guy_maker
priv: @staticpreserves
Mercari: https://www.mercari.com/u/557017347?sv=0
Ultimate Sonic Mixtape: https://youtube.com/playlist?list=PLkNWRvOrZVs9nVQTS_Z9NiT9vsEC_N2ga&si=rBI9rReJ3Ln0BANv



i am incapable of sticking to one project, so i started working on another one

i was thinking about using cards as a resolution mechanic again, and the strengths and weaknesses inherent to them compared to dice.

you can use card flips as a kind of RNG to simulate a dice roll, but imo it doesn't feel as good as just using dice for that job. you can even flip multiple cards if you want to, but that takes longer than rolling a handful of dice. feels bad. plus. there's a whole history of playing card games that you can draw on for inspiration instead!

this post is about the core Trait Check mechanics in my work in progress, Magicians: Urban Fantasy.


so firstly, one of the best things you can do with cards is to draw them into your hand and make choices about which ones to play, knowing that the cards in your hand and the ones you've discarded aren't in your deck anymore.

Each player starts with a standard 52-card deck with no Jokers, though as you advance you may add the Jokers back in. The MC shuffles two full 54-card decks together to create a 108-card deck of their own.
At the start of a session, all players draw up to their hand limit.
The MC draws a hand of cards equal to twice the hand limit of the player with the highest hand limit. They use these for all NPCs and to set the difficulty for Trait checks.

another weird thing about decks of cards is that there aren't just numbers in there: 12 cards (16 if you count the Aces) don't have any numbers at all! and that means depending on the game you have to make choices about what to do with those cards. i think it's fairly common to just extend the existing numbers in the deck, something like: 9, 10, J(11), Q(12), K(13), A(14).

but i have a couple of problems with this. firstly, that doing this inflates the average value of a card in your deck, such that the median value goes up to 7.5. that makes most of your non-face cards feel kinda useless and bad if you're using this as a resolution mechanic - in a simple numbers-based check, anything less than a 9 isn't likely to be any good. treating the face cards as high like this works in a game like poker because it's all relative anyway - you're not trying to beat a set target, you're just trying to predict if your hand is better than the other players', and bet or fold accordingly.

so if we're gonna use cards as a resolution mechanic, to check against some predetermined difficulty or challenge value, let's look at another game where you're trying to beat a target value instead: Blackjack. in the game of blackjack, it's you against the dealer. you can see both of your cards and one of the dealer's two cards, and it's your job to decide whether to draw (Hit) or stop drawing (Stand) to try and beat them by adding up your cards' values and having it be over theirs but under 21. the dealer usually plays under certain restrictions that you don't have to, like always drawing a card if they're under 17 but not if they're at 17 or higher.

in blackjack, all 12 face cards are worth 10, with Aces worth either 1 or 11, whichever is best. so because there are effectively 16 tens in the deck, you can usually assume that if the face-up card isn't worth 10, then the face-down card probably will be. these things form the core of blackjack as a game - the core "game essence": you have enough information to make an informed choice about whether to Hit or Stand, but there's still an element of chance that keeps the game exciting (and addicting).

so let's steal this mechanic. all face cards are now worth 10, and all Aces are worth 11 or 1, player's choice. except, now we have almost the same problem: now we have too many 10s in the deck. anything less than that seems pretty bad now because 5/13s of your deck is heavily weighted at the top end. but we can solve this problem.

When you create a character, they start at Level 2. Your level is represented by a certain card rank: 2-10, then Ace. Whenever you play a face card, it can have any value of your choice up to your level.

now just like that, as you advance your character, your deck gets stronger. you start out with a deck bloated with effectively 16 twos, pretty bad. you wanna get those out of here ASAP. but at higher levels? your face cards only get stronger and more versatile.

so let's build on this. let's talk about Trait scores. this game is kind of a dark urban fantasy, criminals & corpos, Underworld (2003) but with magicians vibe (bc cards so like card magic get it hahaha). the traits i picked for this are: Tough, Cool, Quick, Charm, and Spells. you rank each of them on a scale from 2-10 then Ace, just like your level. there's like a point buy system i think too, don't worry about it. anyway, give the NPCs the same traits and now look what we've done: we have a bunch of "face-up" cards for every character that're always in play, useful in a variety of situations.

When you attempt something risky, dangerous, or uncertain, the MC calls for a Trait check for the Trait most suited to the action you take. The MC sets the difficulty by playing two cards: one face-up and the other face-down (the MC's face cards are equal to the mission's Difficulty). You start with your Trait score by default, and you may play cards from your hand to increase your result. Once you are satisfied with your result, declare that you're ready to Stand. The MC then reveals their face-down card. If your cards' total value is higher than theirs, you Succeed, and put the cards you played on the bottom of your deck. If it's lower, you Fail, and discard the cards you played. If it's a tie, it's a Push. The MC will offer you the chance to Succeed at a cost, otherwise you Fail.
Opposed Checks. When you make a trait check against another character, it works much like making any other trait check except that the MC (or another player if you're targeting their character) uses one of the target's Trait scores as their face-up card and plays another card face-down (in this case, the MC's face cards are based on the level of the NPC they control). The same rules for resolving the check apply as above. On a Push, instead the defending player plays another card face-down, and you play out another trait check using all the cards in play. Continue until you Succeed or Fail. The winner of the contest puts the cards they played on the bottom of their deck, and the loser discards theirs.
Succeed or fail, after the check resolves all players draw cards up to their hand limit. If any player is above their hand limit, they must discard cards until they are under it.

tah-dah! by borrowing some of the core mechanics of blackjack, we now have a system where characters with various stats can use them with a deck of cards to overcome obstacles and resolve conflicts.

there's just a couple small things i think need to be ironed out. for one, given an uncertain target and free choice of which cards to play, players will generally just play all of their best cards. just drop your whole hand at once, then redraw a new hand. why not, right? and for another, while these trait scores give a good baseline, it still kinda feels like they matter less than the cards themselves - regardless of what your stats are, if you have two tens in your hand, you can pretty much overcome anything anyway. but i think i figured out a way to kill two birds with one stone here... first we give each trait a suit...

Tough ♣ - Power through and endure.
Cool ♠ - Keep a level head under pressure.
Quick ♦ - Act with speed and precision.
Charm ♥ - Talk fast, smooth, and sweet.
Spells - Touch the magic behind the veil. This trait's suit is dependent on your class.

then, we can use that suit to place restrictions on what cards can and can't be played on a trait check...

...You start with your Trait score by default, and you may play cards from your hand to increase your result. All Trait-suited cards are allowed, but you may only play off-suit cards of a lower value than your trait (minimum 2, which is to say that you can always play a 2 or a low Ace regardless of your trait score). Once you are satisfied with your result,...

and finally, to prevent players from just burning through their deck all the time...

At the start of a session, all players draw up to their hand limit. Your deck represents your character's life force, and it diminishes as you push yourself, act in dangerous situations, cast spells, or take damage. If you ever deck out and can't draw, you're Taken Out. You're unconscious, out of action, or otherwise more or less helpless. You can't make trait checks or cast spells, though you may be able to speak weakly, limp/crawl to safety, or take actions that don't call for a trait check depending on your situation.
In between missions, you can spend downtime recovering to get cards back. Note that other than that, moving cards from the discard pile back to your deck is rare.

and there we go. that's my design for a core resolution mechanic based on cards. there are some additional details, like helping each other out or using skills to draw additional cards during a trait check, NPCs and how the MC's hand and deck works with them, action economy in conflicts like fights, stealth, chases etc... plus each class gets a gimmick that they can also use their cards for, like the Elementalist who basically plays Uno solitaire to switch between and stack elements; the Wizard who prepares spells by removing cards from their deck at the start of a mission; or the Augur who can look at the top cards of their deck, have the MC rearrange them, and try to predict their topdeck for massive damage.

i'm pretty happy with what i have so far. thanks for reading this long meandering post about cards. and if you want to see the rules i have written so far (extremely a work in progress, not playable or final in any way), here's a link to the doc: https://docs.google.com/document/d/1L8RJoxySKHt57UdG7cXeiCO27pir68lOklZbV_pGjms/edit?usp=sharing


You must log in to comment.

in reply to @virtualmarmalade's post:

This is super interesting!

I've personally been teetering back and forth on starting my own card-based ttrpg project using matching as a storytelling and resolution mechanic. Reading through this is definitely inspiring me to pick it back up again.

This is rad! (Also, I saw you commented on my dev log two months ago, and then I didn't notice until... two days ago, haha. Cohost's low-key notifications are a blessing and a curse)

I haven't seen anyone else really working in this space, and this is a really rad approach to designing a card-based game. I've thought that a deck builder approach would be really interesting, but couldn't imagine how that would actually play out before this (outside of the upcoming Gloomhaven RPG, I suppose). I really like your stat implementation - the face card approach is really really cool, and is not something I would have even considered. This feels like a whole other world of design to me - a lot of my approach has been sort of MtG flavored, with an eye towards card economy and all that - but this blackjack approach is wild and interesting.

I saw your thing about managing people burning through their hands to with the whole managing the number of cards in deck mechanic. (Figuring out how to incentivize people to not rush to the end of a hand is something I've also spent a lot of time thinking about, haha). I'm really curious about that - have you done a lot of playtests/do you have a sense of how quickly folks burn through their decks with this system?

Thanks a lot! I think it was your post that originally got me thinking about how I would approach these problems in the first place. Unfortunately I haven't had the chance to really playtest this, so it's really just theory. My regular gaming group doesn't get together as much as we used to, and besides we're already in the middle of like two or three other games with a couple more in the "queue" as it were lol.
The short answer is that I expect a trait check to take 1-3 cards, with the caveat that if you succeed you get to put them back on the bottom of your deck instead of discarding them. Additionally, you'll lose cards from your deck whenever you take damage, and taking actions in a conflict (battle, stealth, or chase) also requires you to discard cards. So how long your deck lasts will vary depending on how reckless you are as a player and how much trouble you get in.
The longer answer is that without actual playtesting, it's hard to say how players will actually interact with the system. You're always encouraged to play at least some cards, since low cards are both bad and easy to play even if you have a low trait score so you can cycle them out, but you're also restricted to playing I would say about 63% or fewer of the possible cards in your deck on a given trait check on average. Plus there are times when you know for certain you can beat a certain check (if the MC shows a 6, you know you need at most a 17 total), meaning that there's an upper limit on how many cards you'll want to play, but on the other hand if you can't guarantee the win it becomes a question of how much are you willing to commit with the risk that you could lose those cards for the rest of the mission. If your deck is running low I'd expect more conservative play, but that limit will move around depending on how risk-averse you are as a player. So it's hard to say.
I've considered soliciting cohost to find a playtesting group, but even if I did Magicians isn't really close to playable at the moment tbh.

That's really interesting! I think one of the core things that a deck of cards allows you to do that dice are not good at is give you finite resources, and the idea that those resources are your whole deck rather than one hand is really cool conceptually. I ended up pushing more towards economy on a hand to hand basis - one of the core mechanics that I ended up implementing was the idea of "looming consequences" - stuff that doesn't happen immediately, but will resolve once everyone is out of cards unless someone takes fictional action to prevent that consequence. The idea being that you want to allocate cards as efficiently as possible and decide whether it's worth it to throw good cards after bad to squash looming consequences, or just play through it and hope for the best. (I also ended up going for a system where you only draw a new hand once everyone has played all their cards, in part because I would have players who would sit with a hand of bad cards and do nothing because they don't want to play them, haha).

But anyway, your whole conceit is rad, and if you ever get it in a place where you need playtesters, I would be extremely interested in getting to play with it. (Also, you might know this, but there's a friends at the table discord server offshoot where folks design and play games, and it's pretty easy to rustle up playtesters there if you ever need to find some!)