Q: Is this possible?

Heya, recently me and a group of friends have started playing a custom card game but long distances prevent us from visiting often. Now I found out about Vassal recently and wondered if our rules could be programmed into a module before I start figuring out how it works. (I’m horrible with this sort of stuff)

Either way:


One player takes as his “deck” the 26 red cards, the other the 26 back cards. Each player’s deck is shuffled and stacked face down to the player’s right. Each player begins with 40 life points. A player whose life points fall to zero or below zero has lost the game.
If four players are around, two decks are used while every player takes one suit.

In this game, the cards 2 to 9 are knight cards, used for attack and defence, and the cards from 10 to ace are effect cards.

At the start of the game each player draws 5 cards from his deck. The players now play alternately. In each turn, one knight card and any number of effect cards can be played, but at any time there can only be a maximum of five knights and five effect cards in each player’s layout.

[Cards that are destroyed during the game are placed in a discard pile and cannot be reused.]

Phases of a turn

A turn consists of 4 phases:

  1. Draw a card

One card is drawn from the player’s deck

  1. Main phase

The following actions can be taken:

Play a knight card face up in attack position (AP, vertical) or face down in defence position (DP, horizontal). In any turn only one knight card can be played.
Change the position of a card from DP to AP or vice versa. When taking this action face down cards are turned face up, but face up cards are not turned face down (this can only be done by means of an effect). Changing a card from face down DP to face up AP is known as ‘flipping up’ and can trigger effects. The position of a knight cannot be changed during the turn in which it was played from hand, except by an effect.
Activate effects. (The opponent of the player whose turn it is can also activate effect cards but not knight effects.)
3. Battle phase

Attack with knights (both players can activate effect cards). This phase does not take place during the very first move of the game. Therefore the first player cannot attack immediately.

  1. Second main phase

Play a knight card (if not already played in phase 2), activate effects.

Carrying out the attack phase

Each knight in AP can attack once. The attack strength (A) of a knight is the face value of the card, the defence strength (D) is 10 minus the face value. For example a 3 has A=3 and D=7. A knight in AP always has strength A, while a knight in DP has strength D.

If a knight attacks an enemy knight in AP, the knight with the lower A (taking account of effects!) is destroyed and the loser subtracts the strength difference from his life points. If the knights have the same A both are destroyed but no life points are lost.

If a knight in DP is attacked, it is only destroyed if the attacker’s A is greater than the defender’s D. However the defender does not lose any life points. The attacking knight cannot be destroyed, but the attacker loses the difference in life points if the defender’s D is greater than the attacker’s A. If a face down knight in DP is attacked it is flipped up into face up DP, and flip effects are thereby activated.

If the opponent has no knights in play, the attacker can attack his opponent directly, and the opponent loses life points equal to the A of the attacking knight.

In this phase both players can activate effect cards.

Effect cards

Effect cards are played in an area below the player’s knight cards. Any number of effect cards an be ‘placed’ face down during a move [provided that the player never has more than five effect cards in total on the table]. Effect cards cannot be activated during the turn when they were placed, but they can be activated in the opponent’s turn that follows, or any time after that.

10 = Mirror: A knight attack is cancelled and the attacker loses life points equal to the A of the knight. The player cannot attack with that again in the same turn, but may attck with a different knight.
J = Bash: Can only be activated when a knight (one’s own or an opponent’s) is played or flipped up into AP. All knights on the table are destroyed.
D = Damage: All effect cards on the table are destroyed.
K = Counter: The opponent’s most recent action (no matter what it was) is cancelled and the card used for it is destroyed.
A = Adjust: the position of any knight on the table [one’s own or an opponent’s] can be changed (to AP or face up or face down DP).
Additionally a knight card can be placed in the effect zone as an effect card instead of being used as a knight. When activated it has the effect “Equip”: the A and the D of the face up knight so equipped are increased by the A of the equipment card. It is possible to apply more than one equipment card to the same knight. If the knight is destroyed, removed from the table or flipped down any associated equipment cards are destroyed. Like effect cards, equipment cards cannot be activated until the (opponent’s) turn after they were placed in the effect zone, but after that can be activated at any time, even in reaction to an attack by an opposing knight.

Effect cards are placed on the discard pile immediately after activation, with the exception of equipment cards, which remain in the effects zone until destroyed.

Knight effects

In addition to their normal functions, 4-, 5- and 6-knights can produce effects as follows.

4: the owner of a face-up 4-knight can exchange it for any of the opponent’s knights. Any equipment is transferred along with the knight. After operating this effect, the player will probably want to destroy the 4-knight that now belongs to the opponent, otherwise the opponent will be able use the same 4-knight to reverse the exchange at his next turn.
5: when face up, this knight is immune from the effect Bash. If used as an equipment card, a 5 protects the knight it is applied to from the Bash effect. A face-down 5 in DP is destroyed by bash in the usual way. A face-down 5 in the effect zone is not destroyed by Bash, because in this position it is not a knight.
6: when this knight is flipped from face-down to face up (flipped to AP in the player’s turn or flipped by an adjust effect or flipped because it is attacked), the owner chooses any one of the opponent’s cards on the table and sends it back to the opponent’s hand.
When several effects are activated during the same attack, they are resolved in reverse order.


Player A has a 4 in hand and a Queen face down in his effects zone. Player B has a 9-knight in AP and an 8 face down in his effects zone. It is player A’s turn. Player A plays the 4 as a knight in AP and activates its knight effect to exchange it for player B’s 9. Player A then uses the newly acquired 9-knight to attack the 4-knight. Player B reacts by equipping the 4 with the 8, but player A activates the Queen to destroy all effect cards. The Queen destroys the 8, and the 9 kills the 4.
Suppose that in addition to the above, player B has a King face down in his effect zone. After player A activates the Queen, player B activates the King. Now the King cancels the effect of the Queen (so that effect cards are not destroyed), and the equipped 4 has a strength of 12. The attack with the 9-knight fails and the 9-knight is killed.
Suppose that in addition to all of the above player B has a face down Ace in his effects zone. After B activates the King, A activates the Ace and uses it to turn the 4-knight face down into DP. As the last played card, the Ace takes effect first and the 8-equipment is destroyed since face down knights cannot be equipped. Next B’s King cancels the effect of A’s Queen, but B’s 8 has already been destroyed so the 9-knight succeeds in killing the 4-knight.
End of the game

The game ends when a player loses all his life points or when both players’ decks are empty. In the second case the game is a draw, irrespective of how many life points each player has.

Possible Variations

This game offers many creative possibilities. One can invent other card effects, which could even be different for each player.

The inventor often plays with the following additional effects for knights 2 and 3:

2: If this card causes damage to the opponent, the opponent cannot draw a card at the start of his next turn.

3: If this card causes damage to the opponent, a card is drawn at random from the opponent’s shuffled hand and discarded to the discard pile.


Hello, I haven’t read the whole rules in details, but some comments anyway.

  • The main point is that Vassal is mostly a virtual board not a virtual game. This means that it is not designed to easily allow rules of the game to be put in a module, only the manipulations of the pieces (cards, counters, whatever). Quickly browsing these rules, it seems that the manipulations you require are standard Vassal stuff (decks, players hands, cards to play on specific locations, cards that can be flipped and rotated).
    I strongly suggest that you start by just implementing this. A module to handle decks and allow players to place their cards at specific locations and positions.
    Do not try to put the rules in it at first. That is, do not try to, say, have a button “attack with this knight against that one” and have the module resolve everything. You will still need to do it “by hand”, that is say in the chat that your 4th knight from the left is attacking, ask the opponent to flip his defender, do the maths yourself to decide which knight it dead and how many HP are lost and put the correct card in the discard.

This alone is relatively easy to do with Vassal but can already be a lot of work for a newbie module designer. Make sure you do read or watch the tutorials before you jump in it. And also make sure you use a lot of prototypes as it will ease long term maintenance (eg, make a prototype for all knights even if the A and D values will be individually stored in each card, you may group knight actions in the prototype (play in AP or DP, flip, change from AP to DP, …))

Only when you have a working module that allows all the manipulations necessary to play should you envisage to start enforcing the rules into it. I know it is a bit annoying to do all the manipulations “by hand” on the computer… But well, Vassal is a board, not a game. And like, say, a deck of cards, you can play any game with it (the rules are not wired into the deck) similarly, a Vassal module cannot easily enforce rules of a game.

Your rules don’t seem to be extremely complicated and can most certainly be implemented into Vassal, but the amount of work to do so is much more important than simply implementing the correct manipulations and letting the players enforce the rules. Like you’d do on a real table.

  • If you’re playing in Vassal, you may want to make a custom set of cards for your game. Typically, effects could have a text describing the effect, thus players don’t have to remember that J means Bash or K means Counter… You can also write on the knights the A and D values, and the effects of the 4,5,6 knights, …
    (and obviously, if you do have artists in your group, let them loose to draw the cards, that’ll be even more beautiful)
    Vassal will need image (typically jpeg) of each individual card, so it’s easy to use custom cards.