Skip to main content

No project description provided

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atarigon-0.1.1.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

atarigon-0.1.1-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file atarigon-0.1.1.tar.gz.

File metadata

  • Download URL: atarigon-0.1.1.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.14 Linux/6.5.0-1021-azure

File hashes

Hashes for atarigon-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d3b26721627c55de54838be40d72259272f424886b0b3f8a359fc891e043d998
MD5 7f27797b2b18c8f8033575732c429d38
BLAKE2b-256 791eca37a688fe7eb12d639601126de5c151705dc1dd9dc2924e3fb08106a1d7

See more details on using hashes here.

File details

Details for the file atarigon-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: atarigon-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.14 Linux/6.5.0-1021-azure

File hashes

Hashes for atarigon-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c905a6ad5503d6796092c66a6eb615defaaaa6f1247d723fc4758e1f3e818ab0
MD5 f33390d7d528d9bd9dff808c4ea0f433
BLAKE2b-256 f3ee2e60322b42960dd5527e49e3704337b2f7c34e5535456fa0cd4520d33e13

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page