CardStock is a General Game Playing engine for card games implemented in C#. Games are written in RECYCLE, a card game description language, and then simulations are run with random, simple, and complex AI players. CardStock can then analyze the games to determine heuristics about the games such as fairness, decisiveness, drama, or clarity, and generate transcripts of each simulation for further study.
We are currently in the process of abstracting and refactoring CardStock to allow for new game functionality and setting up a modular system for a tournament of AI players. Please check back for further progress on these issues.
There are currently 41 games coded in RECYCLE
- Press Your Luck
- Fishing
- Stealing Bundles (2-5p)
- Shedding
- Comet (2p)
- Crazy Eights (4p)
- Sane Eights (4p)
- Simon's Cat (4p)
- Adding
- Caterpillar (2p)
- Ninety Eight (4p)
- Draw and Discard
- Golf (2p)
- Lost Cities (2p)
- Spite and Malice (2p)
- Trick Taking
- Agram (2-5p)
- California Jack (2p)
- Duck Soup (2p)
- German Whist (2p)
- Hearts (3-5p)
- Omnibus Hearts (4p)
- Broken Hearts (4p)
- Pure Hearts (4p)
- Grey Lady (4p)
- Black Maria (4p)
- Spot Hearts (4p)
- Knaves (3-4p)
- Polignac (4p)
- Shasta Sam (4p)
- Sheepshead (5p)
- Cheesheads (5p)
- Spades (4p)
- Slobberhannes (4p)
- The Bottle Imp (3-4p)
- Whist (4p)
- Catch and Collect
- Enchère (3p)
- GOPS (2p)
- Go Fish (2p) limited deck
- Turn the Tide (3p)
- Unique
- Open
CardStock
folder in the project using Visual Studio Code. - Install .NET Install Tool Extension
- Get .Net Core 8.0
- Install C# Dev Kit Extension
- Open the CardStock subdirectory
- Write up your game in RECYCLE in the
games
subdirectory. - Alter the
Program.cs
class to specify the name of your game. - Run the program in either Release or Debug mode.
- For Release mode, in the terminal type "dotnet run --configuration Release"
- Choose "Release Mode" to only see the results, or "Debug Mode" to see all game actions (better logs in the future).
- The Shape of Card Games Blog
- ReadTheDocs.io
- Automated Playtesting with RECYCLEd CardStock, Connor Bell and Mark Goadrich, Game & Puzzle Design Journal, Vol 2, Issue 1, July 2016
- Quantifying the Space of Hearts Variants, Mark Goadrich and Collin Shaddox, Advances in Computer Games 2021, November 2021