Skip to main content

AtariGoN

AtariGoN is a simulation environment based on the Atari Go rules, for two or more players. The game is played on a board with size NxN, and the players take turns placing their stones on the intersections of the board. The goal of the game is being the last player to place a stone on the board. The game ends when no player can place a stone on the board without being captured or when only one player can place a stone on the board.

The project aims to provide a versatile environment for testing different AI algorithms and strategies, and to provide a platform for research and educational purposes.

Features

  • Multi-Agent support: Allows for games between multiple, user-defined automated agents, fostering a competitive or collaborative AI research environment.
  • Customizable board sizes: Accommodates various styles of play by allowing users to specify the board size, supporting standard sizes ( 9x9, 13x13, and 19x19), but not limited to them.
  • Multiple game simulation: Facilitates the simulation of multiple games in succession, generating a comprehensive leaderboard to track agent performance over time.
  • Dynamic Agent Integration: Leverages dynamic module loading, enabling users to add or update agents without altering the core simulation code.

Getting Started

Prerequisites

Before you begin, ensure you have Python 3.8 or later installed on your system. This version or newer is required due to the use of recent enhancements in the Python typing module and other features.

Installation

  1. Clone the repository to your local machine using the following command:
    git clone https://github.com/KNODIS-Research-Group/atarigon.git
    cd atarigon
    
  2. Install the project dependencies using Poetry:
    poetry install
    
  3. No external dependencies are required outside the standard Python library, making it straightforward to set up and run.

It should be noted that the project uses the Poetry package manager for dependency management and packaging. If you don't have Poetry installed on your system, you can install it by following the instructions on the official website.

Running the simulation

Execute the simulator with the command below, replacing the angle-bracketed parameters with your desired settings:

poetry run python atarigon/main.py --size <board_size> \\
               --agents <path_to_agents_directory> \\
               --games <number_of_games>

For example, to run a simulation with a 9x9 board, using the agents located in the agents directory, and simulating 1000 games, you would run the following command:

poetry run python atarigon/main.py --size 9 --agents agents --games 1000

Parameters:

  • --size: The size of the Go board (9, 13, or 19 are standard sizes).
  • --agents: The directory containing the Python files for your Go agents.
  • --games: The number of games to simulate (default is 1).

Custom agent development

To develop your own agent, create a Python class that extends the Goshi class. Your class should implement the abstract methods defined in Goshi, allowing it to decide on moves and interact with the game board.

Place the .py file for your agent in the directory specified by the --agents parameter when running the simulator. For examples and best practices, refer to the agent templates provided in the repository.

Contributing

Contributions are warmly welcomed. Whether you're fixing a bug, adding a new feature, improving the documentation, ... whatever; your help is deeply appreciated.

To contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Commit your changes with clear, descriptive messages.
  4. Push the branch to your fork.
  5. Submit a pull request against the main repository.

Please adhere to the code style guidelines and include unit tests for new features or fixes. For more information, see the CONTRIBUTING.md file in the repository.

License

This project is licensed under the GNU General Public License v3.0. For more information, see the LICENSE file in the repository.

Metadata

Release files for atarigon 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for atarigon 0.1.1
File Size Uploaded
atarigon-0.1.1.tar.gz 19.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for atarigon 0.1.1
File Interpreter ABI Platform
atarigon-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 40.3 kB

Release files / atarigon-0.1.1.tar.gz

Download URL atarigon-0.1.1.tar.gz
Size 19.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d3b26721627c55de54838be40d72259272f424886b0b3f8a359fc891e043d998
BLAKE2b-256 checksum
How to use checksums
791eca37a688fe7eb12d639601126de5c151705dc1dd9dc2924e3fb08106a1d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.10.14 Linux/6.5.0-1021-azure

Release files / atarigon-0.1.1-py3-none-any.whl

Download URL atarigon-0.1.1-py3-none-any.whl
Size 21.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c905a6ad5503d6796092c66a6eb615defaaaa6f1247d723fc4758e1f3e818ab0
BLAKE2b-256 checksum
How to use checksums
f3ee2e60322b42960dd5527e49e3704337b2f7c34e5535456fa0cd4520d33e13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.10.14 Linux/6.5.0-1021-azure

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page