A Python 'capture the flag' Game Oriented Multiagent System.
Project description
pygomas
A python capture the flag Game Oriented Multiagent System.
Free software: GNU General Public License v3
Documentation: https://pygomas.readthedocs.io. (to be done)
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.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
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
Hashes for pygomas-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 586fc1d26fda8d4e255e4e99d62683c62a4c438b1d80a745288f1a74d016b7aa |
|
MD5 | f71c4a64ffa2cd85f7b3e8572e4049ba |
|
BLAKE2b-256 | 6cfbc113986a37a59df47577e8222f1e9bab18c9721bc7e54b9e5cdcc6c0f5d5 |