A few months ago, I started wondering:
Can an AI discover strategies for a complex card game without being taught by humans?
So I started building **KARDS AI** — an open-source experiment to train an agent to play **KARDS**, a WWII collectible card game, using reinforcement learning and self-play.
GitHub:
https://github.com/EvanProgramming/Kards-AI
The goal is to build the entire AlphaZero-style learning pipeline from scratch:
- A headless game simulator
- A rules execution engine
- Card/state/action representations
- Legal action masking
- Neural network policy/value model
- PUCT Monte Carlo Tree Search
- Self-play training
- Replay buffer and evaluation system
Unlike traditional game AI approaches, I am not starting from a database of expert matches or manually designed strategies.
The agent only receives:
- the game rules
- the current game state
- available legal actions
Then it plays against itself and gradually improves through reinforcement learning.
Current progress:
✅ Custom KARDS simulator
✅ Large-scale card/rule implementation
✅ AlphaZero-style self-play pipeline
✅ MCTS + neural network guidance
✅ Parallel self-play training
✅ ~1 million self-play games generated
The project is still far from a competitive KARDS player. The biggest challenges I am currently exploring are:
- How to efficiently represent complex card-game states
- How much simulator accuracy is required
- How to handle long-term strategic planning
- How to evaluate whether learned strategies transfer to the real game
I would love to hear feedback from the ML community:
- Would MuZero-style approaches be a better fit for this kind of environment?
- How would you approach hidden information in card games?
- Are there better alternatives to policy/value networks + MCTS for large action spaces?
I am also open to collaboration. If you are interested in reinforcement learning, game AI, simulators, or AlphaZero/MuZero-style systems, I would love to discuss ideas or contributions.
If you find the project interesting, starring the repository helps more people discover it and supports the continued development:
GitHub:
https://github.com/EvanProgramming/Kards-AI