Skip to main content

A Python 'capture the flag' Game Oriented Multiagent System.

Project description

pygomas

https://img.shields.io/pypi/v/pygomas.svg https://img.shields.io/travis/javipalanca/pygomas.svg Documentation Status

A python capture the flag Game Oriented Multiagent System.

Features

  • BDI agents to play a capture the flag game.

  • Based on the SPADE Multi-Agent System platform (https://spade-mas.readthedocs.io.)

  • Support for different game viewers (pygame, Unity, ncurses…)

Usage

To run a pygomas game manager:

$ pygomas manager --num-players 10 --match-time 120

The prepare a JSON file with your agent configuration:

{
    "host": "127.0.0.1",
    "manager": "cmanager",
    "service": "cservice",
    "axis": [
        {
            "rank": "BDISoldier",
            "name": "soldier_axis1",
            "password": "secret",
            "amount": 5
        }
    ],
    "allied": [
        {
            "rank": "BDISoldier",
            "name": "soldier_allied1",
            "password": "secret",
            "amount": 5
        }
    ]
}

For more complex configuration files run:

$ pygomas help run

Then run your agents file:

$ pygomas run --game game.json

To view the game play in real time run:

$ pygomas render

To dump the game play to a file to be replayed in the future run:

$ pygomas dump --log my_log_file.log

To replay a game play run:

$ pygomas replay --game my_log_file.log

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.5.1 (2024-03-20)

  • Upgraded to spoade_bdi 0.3.1

  • Fixed missing files in last release

0.5.0 (2024-02-13)

  • Upgraded to SPADE 3.3.2

  • Upgraded to spade-bdi 0.3.0

  • File refactoring

  • Constants moved to Enums

0.4.7 (2022-05-09)

  • Added internal action .delete

0.4.6 (2022-04-05)

  • SPADE version upgraded

0.4.5 (2020-05-12)

  • Fixed minor bug when deregistering services.

0.4.4 (2020-04-13)

  • Upgraded spade and spade-bdi versions.

  • Fixed shot method with negative values.

0.4.3 (2020-03-11)

  • Fixed BDI initialization.

  • Fixed allied uniform color.

  • New pack sprites.

  • Default asl now generates packs at target_reached for axis troops

0.4.2 (2020-03-09)

  • Pygame render improvements.

  • Sprite size modified.

  • Help dialog.

  • Show/hide info (health bars and names).

0.4.1 (2020-03-06)

  • Hotfix: fixed bug with flag sprite.

0.4.0 (2020-03-06)

  • Improved create_control_points.

  • Fixed import bug.

  • New pygame render. With new sprites and animations.

0.3.7 (2020-03-05)

  • Added warning when goto tries to go to invalid coordinates.

  • Fixed dump and replay options.

  • Changed map_arena.

0.3.6 (2020-02-28)

  • Added new maps.

0.3.5 (2020-02-25)

  • Increased agents velocity.

  • Fixed render messaging initialization.

  • Fixed look ZeroDivisionError bug.

  • Improved pygomas render with tiles.

  • Improved pygomas render supporting invisible bases.

0.3.4 (2020-02-24)

  • Added add_custom_actions support.

  • Improved create_control_points custom action.

  • Updated spade_bdi requirement to 0.2.0.

  • Fixed maps path in render.

0.3.3 (2020-02-24)

  • Minor bug fix.

  • Upgraded reference to github repository.

0.3.2 (2020-02-19)

  • Added friendly fire.

  • Added a probability to miss a shot.

  • Fixed agent stop when there are pending messages to be sent.

  • Fixed max length bug in text render.

  • Moved ontology constants to a new file.

0.3.1 (2020-02-17)

  • Fixed adding new actions in inherited classes.

  • Improved logger.

  • Added verbosity parameter.

  • Improved jps and a* algorithms by avoiding being near walls.

0.3.0 (2020-02-10)

  • Migrated msg format to msgpack.

  • Black sttyle applied to code.

  • Major refactoring of code in renders.

0.2.3 (2019-07-10)

  • Upgrade default ASLs.

  • Agent name in JSON file is no longer required.

0.2.2 (2019-07-10)

  • Change all coordinate actions and beliefs to tuple of coordinates.

  • Update spade-bdi.

0.2.1 (2019-07-08)

  • Change the .create_control_points from action to function.

  • Change all coordinate actions and beliefs to tuple of coordinates.

0.2.0 (2019-07-05)

  • Added game replay support.

  • Added action to register generic services.

  • Added turn action for the troop agents.

  • Added a new map (map_08)

  • Minor bug fixes.

0.1.0 (2019-06-13)

  • First release on PyPI.

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

pygomas-0.5.1.tar.gz (8.0 MB view details)

Uploaded Source

Built Distribution

pygomas-0.5.1-py2.py3-none-any.whl (4.9 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file pygomas-0.5.1.tar.gz.

File metadata

  • Download URL: pygomas-0.5.1.tar.gz
  • Upload date:
  • Size: 8.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for pygomas-0.5.1.tar.gz
Algorithm Hash digest
SHA256 9ecf7ed54059e26bed8a2e456ca474e0da3ac8896d99ee4c058bff4f987178f5
MD5 0eb51a1c2822c7da3f3037625ee946d5
BLAKE2b-256 ce30bdc7a4faa9562167007013c47064210cf336cb72e9d724562b270ebf10e0

See more details on using hashes here.

File details

Details for the file pygomas-0.5.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pygomas-0.5.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for pygomas-0.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d8bbd54e4e73ebe8fd92f0791b426997790768d3d774025b4a133f37c892e7c5
MD5 40691493712fed8d9e3be4a22d074a62
BLAKE2b-256 921d6cdb6df19c973c6fe41844ae1ea5b5b8ff1805be75b8416eb58ea35ec688

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