"Super Duel" is a prototype of a trading card game that combines physical and virtual components. It was a project for a class called "Physical Computing", which was about embedded systems (computer systems that interact with the real world.) I was inspired by the "Spyro: Skylanders" game. Super Duel was fun because I got to apply many different skills - game design, drawing, arts and craft, programming, and electronics.
Each player chooses a "Champion": a card representing a character. Each Champion has 6 health points and 3 moves that hurt the opponent or help you. Each player puts their card on the Duel Stage, which scans them and uses information about their moves to track the stats of each player during the game. When it's your turn, you press the button on the stage that corresponds to the move you want to make, and the game calculates and displays the results. The first player to reduce her opponent to 0 health wins the duel!
Some moves have a random effect (for example, Attack 0 / 2 means that move has a 1/2 chance of doing no damage and a 1/2 chance of doing 2 damage.) The random moves have either 2 or 3 results, so you could play with a die instead of using the electronic duel stage. The "random effect" component is the best solution I found to keep the game interesting, since there's no mana or other kind of trade-off to making a powerful attack. But I didn't have much time to balance the gameplay, so some champions are clearly better than others.
Super Duel uses an Arduino (basically, a very small computer) with an RFID shield to read data from the champion cards. The cards are only scanned at the beginning of the game, and their move data is stored as a string (for example, "N0/S0, P1/, N0/A1/A3" for Agent FOX.) If I wanted to add more champions, I could just store a new moveset on each new card and not have to edit the duel stage code. The game interface is composed of 8 LEDs (to show health and whose turn it is) and 3 push buttons for choosing moves, which are all mounted on a breadboard.