pygomas


Namepygomas JSON
Version 0.5.1 PyPI version JSON
download
home_pagehttps://github.com/javipalanca/pygomas
SummaryA Python 'capture the flag' Game Oriented Multiagent System.
upload_time2024-03-20 10:20:14
maintainerNone
docs_urlNone
authorSergio Frayle Pérez
requires_pythonNone
licenseGNU General Public License v3
keywords pygomas
VCS
bugtrack_url
requirements spade spade_bdi numpy loguru pqdict click pygame msgpack strenum
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =======
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"
}
        
Elapsed time: 0.19899s