=======
pygomas
=======
.. image:: https://img.shields.io/pypi/v/pygomas.svg
:target: https://pypi.python.org/pypi/pygomas
.. image:: https://img.shields.io/travis/javipalanca/pygomas.svg
:target: https://travis-ci.org/javipalanca/pygomas
.. image:: https://readthedocs.org/projects/pygomas/badge/?version=latest
:target: https://pygomas.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
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.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
=======
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/javipalanca/pygomas",
"name": "pygomas",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "pygomas",
"author": "Sergio Frayle P\u00e9rez",
"author_email": "sfp932705@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ce/30/bdc7a4faa9562167007013c47064210cf336cb72e9d724562b270ebf10e0/pygomas-0.5.1.tar.gz",
"platform": null,
"description": "=======\npygomas\n=======\n\n\n.. image:: https://img.shields.io/pypi/v/pygomas.svg\n :target: https://pypi.python.org/pypi/pygomas\n\n.. image:: https://img.shields.io/travis/javipalanca/pygomas.svg\n :target: https://travis-ci.org/javipalanca/pygomas\n\n.. image:: https://readthedocs.org/projects/pygomas/badge/?version=latest\n :target: https://pygomas.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\n\n\nA python capture the flag Game Oriented Multiagent System.\n\n\n* Free software: GNU General Public License v3\n* Documentation: https://pygomas.readthedocs.io. (to be done)\n\n\nFeatures\n--------\n\n* BDI agents to play a capture the flag game.\n* Based on the SPADE Multi-Agent System platform (https://spade-mas.readthedocs.io.)\n* Support for different game viewers (pygame, Unity, ncurses...)\n\n=====\nUsage\n=====\n\nTo run a pygomas game manager::\n\n $ pygomas manager --num-players 10 --match-time 120\n\nThe prepare a JSON file with your agent configuration::\n\n {\n \"host\": \"127.0.0.1\",\n \"manager\": \"cmanager\",\n \"service\": \"cservice\",\n \"axis\": [\n {\n \"rank\": \"BDISoldier\",\n \"name\": \"soldier_axis1\",\n \"password\": \"secret\",\n \"amount\": 5\n }\n ],\n \"allied\": [\n {\n \"rank\": \"BDISoldier\",\n \"name\": \"soldier_allied1\",\n \"password\": \"secret\",\n \"amount\": 5\n }\n ]\n }\n\n\nFor more complex configuration files run::\n\n $ pygomas help run\n\n\nThen run your agents file::\n\n $ pygomas run --game game.json\n\n\nTo view the game play in real time run::\n\n $ pygomas render\n\nTo dump the game play to a file to be replayed in the future run::\n\n $ pygomas dump --log my_log_file.log\n\nTo replay a game play run::\n\n $ pygomas replay --game my_log_file.log\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.5.1 (2024-03-20)\n------------------\n\n* Upgraded to spoade_bdi 0.3.1\n* Fixed missing files in last release\n\n0.5.0 (2024-02-13)\n------------------\n\n* Upgraded to SPADE 3.3.2\n* Upgraded to spade-bdi 0.3.0\n* File refactoring\n* Constants moved to Enums\n\n0.4.7 (2022-05-09)\n------------------\n\n* Added internal action .delete\n\n0.4.6 (2022-04-05)\n------------------\n\n* SPADE version upgraded\n\n0.4.5 (2020-05-12)\n------------------\n\n* Fixed minor bug when deregistering services.\n\n0.4.4 (2020-04-13)\n------------------\n\n* Upgraded spade and spade-bdi versions.\n* Fixed shot method with negative values.\n\n0.4.3 (2020-03-11)\n------------------\n\n* Fixed BDI initialization.\n* Fixed allied uniform color.\n* New pack sprites.\n* Default asl now generates packs at target_reached for axis troops\n\n0.4.2 (2020-03-09)\n------------------\n\n* Pygame render improvements.\n* Sprite size modified.\n* Help dialog.\n* Show/hide info (health bars and names).\n\n0.4.1 (2020-03-06)\n------------------\n\n* Hotfix: fixed bug with flag sprite.\n\n0.4.0 (2020-03-06)\n------------------\n\n* Improved create_control_points.\n* Fixed import bug.\n* New pygame render. With new sprites and animations.\n\n0.3.7 (2020-03-05)\n------------------\n\n* Added warning when goto tries to go to invalid coordinates.\n* Fixed dump and replay options.\n* Changed map_arena.\n\n0.3.6 (2020-02-28)\n------------------\n\n* Added new maps.\n\n0.3.5 (2020-02-25)\n------------------\n\n* Increased agents velocity.\n* Fixed render messaging initialization.\n* Fixed look ZeroDivisionError bug.\n* Improved pygomas render with tiles.\n* Improved pygomas render supporting invisible bases.\n\n0.3.4 (2020-02-24)\n------------------\n\n* Added add_custom_actions support.\n* Improved create_control_points custom action.\n* Updated spade_bdi requirement to 0.2.0.\n* Fixed maps path in render.\n\n0.3.3 (2020-02-24)\n------------------\n\n* Minor bug fix.\n* Upgraded reference to github repository.\n\n0.3.2 (2020-02-19)\n------------------\n\n* Added friendly fire.\n* Added a probability to miss a shot.\n* Fixed agent stop when there are pending messages to be sent.\n* Fixed max length bug in text render.\n* Moved ontology constants to a new file.\n\n\n0.3.1 (2020-02-17)\n------------------\n\n* Fixed adding new actions in inherited classes.\n* Improved logger.\n* Added verbosity parameter.\n* Improved jps and a* algorithms by avoiding being near walls.\n\n\n0.3.0 (2020-02-10)\n------------------\n\n* Migrated msg format to msgpack.\n* Black sttyle applied to code.\n* Major refactoring of code in renders.\n\n0.2.3 (2019-07-10)\n------------------\n\n* Upgrade default ASLs.\n* Agent name in JSON file is no longer required.\n\n0.2.2 (2019-07-10)\n------------------\n\n* Change all coordinate actions and beliefs to tuple of coordinates.\n* Update spade-bdi.\n\n0.2.1 (2019-07-08)\n------------------\n\n* Change the .create_control_points from action to function.\n* Change all coordinate actions and beliefs to tuple of coordinates.\n\n0.2.0 (2019-07-05)\n------------------\n\n* Added game replay support.\n* Added action to register generic services.\n* Added turn action for the troop agents.\n* Added a new map (map_08)\n* Minor bug fixes.\n\n0.1.0 (2019-06-13)\n------------------\n\n* First release on PyPI.\n\n\n",
"bugtrack_url": null,
"license": "GNU General Public License v3",
"summary": "A Python 'capture the flag' Game Oriented Multiagent System.",
"version": "0.5.1",
"project_urls": {
"Homepage": "https://github.com/javipalanca/pygomas"
},
"split_keywords": [
"pygomas"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "921d6cdb6df19c973c6fe41844ae1ea5b5b8ff1805be75b8416eb58ea35ec688",
"md5": "40691493712fed8d9e3be4a22d074a62",
"sha256": "d8bbd54e4e73ebe8fd92f0791b426997790768d3d774025b4a133f37c892e7c5"
},
"downloads": -1,
"filename": "pygomas-0.5.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "40691493712fed8d9e3be4a22d074a62",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 4939030,
"upload_time": "2024-03-20T10:20:09",
"upload_time_iso_8601": "2024-03-20T10:20:09.431151Z",
"url": "https://files.pythonhosted.org/packages/92/1d/6cdb6df19c973c6fe41844ae1ea5b5b8ff1805be75b8416eb58ea35ec688/pygomas-0.5.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ce30bdc7a4faa9562167007013c47064210cf336cb72e9d724562b270ebf10e0",
"md5": "0eb51a1c2822c7da3f3037625ee946d5",
"sha256": "9ecf7ed54059e26bed8a2e456ca474e0da3ac8896d99ee4c058bff4f987178f5"
},
"downloads": -1,
"filename": "pygomas-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "0eb51a1c2822c7da3f3037625ee946d5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7971755,
"upload_time": "2024-03-20T10:20:14",
"upload_time_iso_8601": "2024-03-20T10:20:14.217568Z",
"url": "https://files.pythonhosted.org/packages/ce/30/bdc7a4faa9562167007013c47064210cf336cb72e9d724562b270ebf10e0/pygomas-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-20 10:20:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "javipalanca",
"github_project": "pygomas",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "spade",
"specs": [
[
"==",
"3.3.2"
]
]
},
{
"name": "spade_bdi",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"1.26.2"
]
]
},
{
"name": "loguru",
"specs": [
[
"==",
"0.2.5"
]
]
},
{
"name": "pqdict",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.7"
]
]
},
{
"name": "pygame",
"specs": [
[
"==",
"2.5.2"
]
]
},
{
"name": "msgpack",
"specs": [
[
"==",
"1.0.7"
]
]
},
{
"name": "strenum",
"specs": [
[
"==",
"0.4.15"
]
]
}
],
"tox": true,
"lcname": "pygomas"
}