Within normal rules of collectible card game Magic: The Gathering a player may find themselves constrained to only a single legal course of action forward. It’s a situation players could craft to frustrate their opponents, though the victims usually break free after a few moves. But under a carefully crafted scenario, players would have no choice but to become the execution engine for a Turing-complete programming language written with Magic cards via techniques detailed in this paper.
One of the authors of this paper, [Alex Churchill], started working on this challenge in 2010. We covered an earlier iteration of his work here, and his own criticism that it was dependent on player cooperation. At various points, the game rules state a player “may” take certain actions and the construct falls apart if our player chooses the wrong thing. It would be as if a computer was built out of transistors that “may” switch as commanded or not, which would not be a very reliable method of computation.
To improve reliability of this particular Turing machine execution engine, the team combed through rules and cards to devise an encoding where the player is only ever presented with a single legal course forward. This ensures deterministic execution of the instruction stream, and now with proof of Turing-completeness in hand, we congratulate [Alex] on a successful conclusion to his decade-long quest.
We have a primer available for anyone who wants a refresher on Turing machines. They are utterly impractical but fun for hackers to build, and they are typically constructed of electronics and LEDs instead of ink on cardboard.
Via Ars Technica, who have presented their own analysis of this machine.
Main image: Unspecified set of Magic: The Gathering cards by [Robert] CC BY 2.0
Virtual card games proliferate the interwebs, but this card-playing telepresence device is unique. [Patrick] calls the project Vanna, and we’d bet that’s an homage to the tile-flipping TV star [Vanna White]. Much like she flips the blank tiles to reveal letters, this device can flip the hand of cards either face up or face down.
Each of the six card trays is connected to a stepper motor. The local player deals the hands, placing each card in a tray so that it faces the webcam for the remote player. That remote player has an on-screen interface that can discard by tilting the tray forward and dropping the card on its face, or play a card by tilting toward to the local player so they can see its face value. All becomes clear in the clip after the break.
The hardware is USB controlled from a Windows machine thanks to the PIC 18F4585 which controls it. But it should be quite simple to get it talking to the OS of your choice.
Continue reading “Telepresence Robot Lets You Play A Hand Of Cards”
This game storage box will also keep score for you. [Marcus] built it for playing the card game Munkin, but some clever programming could adapt it for most needs. The hardware is built around an ATtiny2313 to do the thinking, and a MAX7219 to drive the 7-segment displays. Each player has their own two-digit score readout, which is perfect for this game which only tracks scores from -9 up to 10.
In the video after the break you can see [Marcus’] explanation of the user interface. One player acts as scorekeeper for the game. That person uses three buttons to adjust the score as necessary, and to move the current player marker, expressed as a decimal point on one of the displays. Pressing all three keys will put the unit into programming mode. This lets you select the number of players and at which position they are sitting, as well as make adjustments to the score if necessary.
Continue reading “Gaming Scoreboard And Storage Box In One”