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
- Clone the repository to your local machine using the following
command:
git clone https://github.com/KNODIS-Research-Group/atarigon.git cd atarigon
- Install the project dependencies using Poetry:
poetry install
- 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:
- Fork the repository.
- Create a new branch for your feature or fix.
- Commit your changes with clear, descriptive messages.
- Push the branch to your fork.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3b26721627c55de54838be40d72259272f424886b0b3f8a359fc891e043d998 |
|
MD5 | 7f27797b2b18c8f8033575732c429d38 |
|
BLAKE2b-256 | 791eca37a688fe7eb12d639601126de5c151705dc1dd9dc2924e3fb08106a1d7 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c905a6ad5503d6796092c66a6eb615defaaaa6f1247d723fc4758e1f3e818ab0 |
|
MD5 | f33390d7d528d9bd9dff808c4ea0f433 |
|
BLAKE2b-256 | f3ee2e60322b42960dd5527e49e3704337b2f7c34e5535456fa0cd4520d33e13 |