Menu

Tree [50de9b] master latest-linux latest-windows /
 History

HTTPS access


File Date Author Commit
 .github 2024-05-23 karl-zschiebsch karl-zschiebsch [ea3eeb] Fix cx_Freeze and update pre-release
 examples 2024-03-06 Karl Zschiebsch Karl Zschiebsch [3656f6] Add freeze build tool
 seekers 2024-05-22 Belissimo_T Belissimo_T [a860e6] fix previous commit 048704d1
 .gitignore 2024-05-23 karl-zschiebsch karl-zschiebsch [ea3eeb] Fix cx_Freeze and update pre-release
 .gitmodules 2023-06-02 Belissimo_T Belissimo_T [5b605c] draft of client
 LICENSE 2023-07-16 karlz karlz [01e8ac] Create LICENSE
 README.md 2024-04-11 Belissimo_T Belissimo_T [146dae] improve wording
 config.ini 2024-05-22 Belissimo_T Belissimo_T [5c5fa7] fix #30
 freeze.bat 2024-05-23 karl-zschiebsch karl-zschiebsch [ea3eeb] Fix cx_Freeze and update pre-release
 freeze.sh 2024-05-29 Kiyotoko Kiyotoko [15afb4] Add linux binaries
 requirements.txt 2024-04-11 Belissimo_T Belissimo_T [f1c00d] add versions in requirements.txt
 run_client.py 2024-06-04 Belissimo_T Belissimo_T [50de9b] fix help message of run_client.py
 run_seekers.py 2024-05-08 Belissimo_T Belissimo_T [88dcbe] implement new proto version
 setup.py 2024-05-23 karl-zschiebsch karl-zschiebsch [ea3eeb] Fix cx_Freeze and update pre-release
 tox.ini 2022-12-26 Bela Tollkien Bela Tollkien [ca72bd] add tox.ini file for configuration of flake8 fo...

Read Me

Seekers

Python Version 3.9/3.10 CodeQL pre-release

  • An artificial intelligence programming challenge targeted at students.
  • AIs compete by controlling bouncy little circles ("seekers") trying to collect the most goals.
  • Based on Python 3.9 and pygame.

image

This repository contains

  • 🎮 A classic Python implementation of the Seekers game
  • 🌐 A server and client implementation of the Seekers gRPC API

Players can join the Seekers Game in two ways:
1. as gRPC clients (new and safe way)
2. as a local file whose decide-function is called directly from within the game (old and unsafe way)
* This is discouraged as it allows players to access the game's internals and cheat. See this issue.
* useful for debugging/AI-developement

Getting started

Installation

  • Python 3.9 or higher is required (make sure it's in your PATH)
  • Download the latest release and unpack it.
  • Install the packages in requirements.txt.
  • We recommend using a virtual environment (venv). Whenever opening a new terminal, you will have to activate the virtual environment again.
  • To create: python -m venv venv
  • To activate: source venv/bin/activate (Linux) or venv\Scripts\activate (Windows)
python -m pip install -r requirements.txt

alternatively:

pip install -r requirements.txt

Depending on how you installed python, you might have to use py or python3 instead of python.

  1. Done!

Create server and run clients

This will:
* start a Seekers Game
* run a gRPC server by default

python run_seekers.py <AI files>

Run one single client

⚠ You will need a separate server running. This can be the server above, or, for example, the Java implementation.

python run_client.py <AI file>

Development

Generating gRPC stubs

After cloning, you need to compile the gRPC stubs manually.

cd seekers/grpc
pip install -r requirements-dev.txt
./compile_protos.sh

License

You can, and are invited to, use, redistribute and modify seekers under the terms
of the GNU General Public License (GPL), version 3 or (at your option) any
later version published by the Free Software Foundation.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.