The Quarto board game implemented in Python using Kivy.
QuartoPy is an implementation of the Quarto board game, featuring an AI player implemented using techniques such as the NegaMax algorithm with alpha-beta pruning, transposition tables, iterative deepening, and symmetry detection. This project is a fan recreation of the Quarto game and is not affiliated with or endorsed by the official Quarto game or its publishers.
- Python 3.8 or higher (tested with Python 3.13)
- Kivy (with full dependencies)
- NumPy (for game state management and AI calculations)
- filetype (required by Kivy)
pip install -e .pip install "kivy[full]" numpy filetypeuv pip sync pyproject.tomlTo run the game, execute the following command:
python main.pyThis will start the Kivy application and allow you to play Quarto.
- Advanced AI Opponent:
- NegaMax algorithm with alpha-beta pruning
- Transposition tables for move optimization
- Iterative deepening for time-controlled search
- Symmetry detection to reduce search space
- Multiple difficulty levels
- Game Modes:
- Single-player vs AI
- Two-player local multiplayer
- User Interface:
- Intuitive Kivy-based GUI
- Pause menu
- Keyboard support
- Customizable Settings: Modify settings through
kivy_config.ini - Comprehensive Logging: Detailed game logs for debugging and analysis
The entire project, including the code and assets, is licensed under the MIT License. You are free to use, modify, and distribute the project, subject to the terms of the MIT License.
Note: This project is a fan recreation of the Quarto game and is not affiliated with or endorsed by the official Quarto game or its publishers.
Contributions are welcome! Please submit pull requests or report issues on the GitHub repository.
- Quarto is a registered trademark of Gigamic.
- This project is inspired by the original Quarto board game and its innovative design by Blaise Müller.