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