version 2
A fast-paced card game.
Be the last player with cards left.
You win by attacking your opponent's cards now, or by "tagging" them with Curses that hurt them at the start of the next battle.
Decks: You may decide to either have a 52-card deck for each player, or randomly divide one deck between players.
Both players shuffle their decks.
Both players draw one card from their deck.
The card with the highest Attack number goes first for the entire battle. Both cards are reshuffled into the deck.
If tied, redraw until there's a winner.
Draw 3 cards for the start of battle, then draw 2 more for the round. (5 cards total for Round 1).
If you run out of cards to draw, shuffle your discard pile and use it as your new deck.
After winning a battle, note the Attack value of your rightmost card.
Add this value to your blessing pool for the next battle.
Before anyone takes a turn, you must handle the Blessings and Curses from the last battle.
Every card in your hand starts with 20 Health.
After winning a battle, note the Attack value of your rightmost card. Add this value to your blessing pool for the next battle.
Curses hit your left-most card first.
If that card's health hits 0, it is discarded.
If there is still damage left, it moves to the next card.
If you lose all your cards here, you lose the game.
Add all your blessing pool to your right-most card's health.
All blessing and curse values are expended. They reset to 0 for this battle.
-
Discard all remaining cards from the previous battle
-
Shuffle all your cards (deck + discard pile) to form a new deck
-
Determine who goes first (same process as first battle)
-
Draw your starting hand (3 cards + 2 cards = 5 total)
Draw 2 cards at the start of your turn.
You must play every card in your hand. Each card does one of the following:
Deal damage to any enemy card you choose.
-
Calculation: Attack × Impact
-
Effect: Target card loses the calculated value of Health. If Health reaches 0, it is discarded.
-
After: Discard this card, draw 1 card
Save extra health for your next battle.
-
Requirement: Card must have "blessing" type
-
Calculation: Attack + Impact
- If face card, add 5 (total: Attack + Impact + 5)
-
Effect: Add result to your blessing pool
-
After: Discard this card, draw 1 card
Send "delayed" damage to hit the enemy at the start of the next battle.
-
Requirement: Card must have "curse" type
-
Calculation: Attack + Impact
- If face card, add 5 (total: Attack + Impact + 5)
-
Effect: Add result to enemy's curse pool
-
After: Discard this card, draw 1 card
Send a card to your discard pile and add to your blessing.
-
Requirement: Any card can be discarded
-
Calculation: Attack + Impact
-
If face card, subtract 5 (total: Attack + Impact - 5)
-
If calculation is less than zero, treat it as zero (-3 becomes 0)
-
-
Effect: Add result to your blessing pool
-
After: Discard this card, draw 1 card
Hint: Face cards are only useful for Blessing or Cursing.
Card Health: Damage persists only while a card is in your hand. If discarded and later redrawn, it returns with full 20 Health.
You cannot skip your turn.
-
Battle start: 5 cards
-
After Round 1: 7 cards (drew 2, played 5 and drew 5)
-
After Round 2: 9 cards (drew 2, played 7 and drew 7)
-
Continues growing by 2 each round
You lose the battle when, at the end of your turn, your deck is empty AND you have no cards in hand.
You can always freely surrender and skip to the next battle. Lose the round to win the war.
A Battle ends when only one player has cards left or everyone else surrenders.
The Game ends when all but one player is completely wiped out by Curses during the Start of Battle phase.
Hint:
-
Red suits (Hearts/Diamonds): Face cards bless, numbered alternate
-
Black suits (Spades/Clubs): Face cards curse, Spades are all curses, Clubs alternate
-
Impact decreases: Hearts (3) > Diamonds (2) > Spades/Clubs (1)
| id | suit | attack | impact | type | face |
|---|---|---|---|---|---|
| heart:jack | heart | 0 | 4 | blessing | True |
| heart:queen | heart | 0 | 4 | blessing | True |
| heart:king | heart | 0 | 4 | blessing | True |
| heart:ace | heart | 0 | 4 | blessing | True |
| heart:2 | heart | 2 | 3 | blessing | False |
| heart:3 | heart | 3 | 3 | curse | False |
| heart:4 | heart | 4 | 3 | blessing | False |
| heart:5 | heart | 5 | 3 | curse | False |
| heart:6 | heart | 6 | 3 | blessing | False |
| heart:7 | heart | 7 | 3 | curse | False |
| heart:8 | heart | 8 | 3 | blessing | False |
| heart:9 | heart | 9 | 3 | curse | False |
| heart:10 | heart | 10 | 3 | blessing | False |
| diamond:jack | diamond | 0 | 4 | blessing | True |
| diamond:queen | diamond | 0 | 4 | blessing | True |
| diamond:king | diamond | 0 | 4 | blessing | True |
| diamond:ace | diamond | 0 | 4 | blessing | True |
| diamond:2 | diamond | 2 | 2 | blessing | False |
| diamond:3 | diamond | 3 | 2 | curse | False |
| diamond:4 | diamond | 4 | 2 | blessing | False |
| diamond:5 | diamond | 5 | 2 | curse | False |
| diamond:6 | diamond | 6 | 2 | blessing | False |
| diamond:7 | diamond | 7 | 2 | curse | False |
| diamond:8 | diamond | 8 | 2 | blessing | False |
| diamond:9 | diamond | 9 | 2 | curse | False |
| diamond:10 | diamond | 10 | 2 | blessing | False |
| spade:jack | spade | 0 | 4 | curse | True |
| spade:queen | spade | 0 | 4 | curse | True |
| spade:king | spade | 0 | 4 | curse | True |
| spade:ace | spade | 0 | 4 | curse | True |
| spade:2 | spade | 2 | 1 | curse | False |
| spade:3 | spade | 3 | 1 | curse | False |
| spade:4 | spade | 4 | 1 | curse | False |
| spade:5 | spade | 5 | 1 | curse | False |
| spade:6 | spade | 6 | 1 | curse | False |
| spade:7 | spade | 7 | 1 | curse | False |
| spade:8 | spade | 8 | 1 | curse | False |
| spade:9 | spade | 9 | 1 | curse | False |
| spade:10 | spade | 10 | 1 | curse | False |
| club:jack | club | 0 | 4 | curse | True |
| club:queen | club | 0 | 4 | curse | True |
| club:king | club | 0 | 4 | curse | True |
| club:ace | club | 0 | 4 | curse | True |
| club:2 | club | 2 | 1 | blessing | False |
| club:3 | club | 3 | 1 | curse | False |
| club:4 | club | 4 | 1 | blessing | False |
| club:5 | club | 5 | 1 | curse | False |
| club:6 | club | 6 | 1 | blessing | False |
| club:7 | club | 7 | 1 | curse | False |
| club:8 | club | 8 | 1 | blessing | False |
| club:9 | club | 9 | 1 | curse | False |
| club:10 | club | 10 | 1 | blessing | False |
Values are as given by:
import csv
cards = []
suits = ['heart', 'diamond', 'spade', 'club']
face_cards = ['jack', 'queen', 'king', 'ace']
for suit in suits:
for face in face_cards:
card = {}
card['id'] = f'{suit}:{face}'
card['face'] = True
card['suit'] = suit
card['impact'] = 4
card['attack'] = 0
if suit in ['heart', 'diamond']:
card['type'] = 'blessing'
else:
card['type'] = 'curse'
cards.append(card)
for i in range(2, 11):
card = {}
card['id'] = f'{suit}:{i}'
card['face'] = False
card['suit'] = suit
card['attack'] = i
if i % 2 == 0:
card['type'] = 'blessing'
else:
card['type'] = 'curse'
if suit == 'spade':
card['type'] = 'curse'
if suit == 'heart':
card['impact'] = 3
elif suit == 'diamond':
card['impact'] = 2
else:
card['impact'] = 1
cards.append(card)
keys = [
'id',
'suit',
'attack',
'impact',
'type',
'face',
]
rows = []
prev_suit = False
for card in cards:
if prev_suit != card['suit']:
rows.append([])
rows.append(keys)
values = []
for k in keys:
values.append(card[k])
prev_suit = card['suit']
rows.append(values)
with open('cards.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile, dialect='excel')
for row in rows:
writer.writerow(row)
Released under CC0 1.0 Universal by James Milne.
Many thanks to my tortured playtesters.