catanatron  by bcollazo

Catan AI bot and simulator for Settlers of Catan

created 5 years ago
340 stars

Top 82.2% on sourcepulse

GitHubView on GitHub
Project Summary

Catanatron is an open-source project focused on simulating Settlers of Catan games at scale to develop a strong AI player. It provides a robust simulation engine, tools for custom bot development, and a web-based UI for game inspection, targeting AI researchers and Catan enthusiasts.

How It Works

The project implements Settlers of Catan game logic in pure Python, leveraging networkx for graph operations. It supports large-scale simulations via a CLI tool (catanatron-play) and offers an OpenAI Gym interface for AI agent training. Custom bots can be integrated by subclassing Player and implementing decision logic, with advanced strategies like Alpha-Beta search and customizable value functions highlighted for performance improvement.

Quick Start & Requirements

  • Install dependencies: pip install -r all-requirements.txt
  • Requires Python 3.8 or higher.
  • For UI inspection: docker-compose up
  • Official docs: https://catanatron.readthedocs.io/

Highlighted Details

  • Supports simulating thousands of games per minute for bot strategy testing.
  • Offers a web UI via Docker for game state visualization and debugging.
  • Provides tools to generate game data in JSON or CSV formats for machine learning.
  • Includes an OpenAI Gym interface (catatron_gym) for AI agent development.

Maintenance & Community

The project is actively developed by bcollazo. Contributions are welcomed, particularly in improving bot strength and core logic performance.

Licensing & Compatibility

The project appears to be under a permissive license, but the README does not explicitly state a license type. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The UI lacks step-forward/backward functionality for game replays. Not all actions are implemented in the UI. There's a reported bug where a newly bought development card can be used immediately.

Health Check
Last commit

1 month ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
20 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.