KesslerGame


NameKesslerGame JSON
Version 2.1.5 PyPI version JSON
download
home_pagehttps://github.com/ThalesGroup/kessler-game
SummaryAsteroids game simulation environment for ML and AI applications
upload_time2024-04-18 17:30:53
maintainerTimothy Arnett
docs_urlNone
authorZachariah Phillips
requires_python>=3.10
licenseApache 2.0 License
keywords artificial intelligence asteroids machine learning
VCS
bugtrack_url
requirements numpy pillow inputs mypy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Kessler

## Getting started

Kessler is a simulation environment loosely modeled after our internal project PsiBee and the external project [Fuzzy Asteroids](https://github.com/xfuzzycomp/FuzzyAsteroids).
The game has ships that shoot bullets at asteroids to gain score. Ships can collide with asteroids and lose lives.
If the ship runs out of lives, the game terminates. In multi-ship scenarios, ships can collide with each other as well, 
but cannot shoot each other.

Kessler can be built as python extension for install using pip, or used as a local package by copying the
`src/kessler_game` directory to your project. Wheels are provided in
[releases](https://github.com/ThalesGroup/kessler-game/releases) for install using:
``` 
pip install <path to kessler_game-#.#.#-py3-none-any.whl>
```

Kessler has two primary graphics modules. The first uses Python's Tkinter UI library to display the game. The second
utilizes a separate executable process called kessler_graphics made in Unreal Engine 5. Data is sent to the
kessler_graphics instance using UDP protocol on a local machine.

## Using the UE5 graphics engine
Under kessler_graphics is an Unreal Engine 5 project for receiving simulation data from the Kessler Python process and
displaying it in a 3d environment. To contribute to the UE5 project, you will need to do the following.
- Install Visual Studio 2019 v16.11.5 or later with "Game Development with C++" selected on install
- Install the .NET Core 3.1 Runtime from [here](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-3.1.30-windows-x64-installer?cid=getdotnetcore)
- Install Unreal Engine 5.0.x from the [Epic Games Launcher](https://store.epicgames.com/en-US/download)
- Grab the latest release of the UDP-Unreal plugin from [here](https://github.com/getnamo/UDP-Unreal/releases)
- Follow installation instructions for UDP-Unreal from its included README
- Right click `kessler_graphics.uproject` under the `kessler_graphics` directory and select "Generate Visual Studio Project Files" from the context menu
- Launch the project by double-clicking on `kessler_graphics.uproject`, and select "Yes" if prompted to rebuild engine modules

## Documentation

Documentation is not yet available for Kessler. If you would like to contribute to documentation, check out 
[CONTRIBUTING.md](CONTRIBUTING.md) for info on how to get started

## Contributing

If you are interested in contributing to the Kessler project, start by reading the [Contributing guide](/CONTRIBUTING.md).

## License

Kessler is licensed under the Apache 2.0 license. Please read [LICENSE](LICENSE) for more information.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ThalesGroup/kessler-game",
    "name": "KesslerGame",
    "maintainer": "Timothy Arnett",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "tim.arnett@defense.us.thalesgroup.com",
    "keywords": "artificial intelligence, asteroids, machine learning",
    "author": "Zachariah Phillips",
    "author_email": "zach.phillips@defense.us.thalesgroup.com",
    "download_url": "https://files.pythonhosted.org/packages/6a/32/a1847dc20bd7fc0eb2b2ac7c3f9e4242ba3f97afdcd2806a66dd94a17ce2/KesslerGame-2.1.5.tar.gz",
    "platform": null,
    "description": "# Kessler\r\n\r\n## Getting started\r\n\r\nKessler is a simulation environment loosely modeled after our internal project PsiBee and the external project [Fuzzy Asteroids](https://github.com/xfuzzycomp/FuzzyAsteroids).\r\nThe game has ships that shoot bullets at asteroids to gain score. Ships can collide with asteroids and lose lives.\r\nIf the ship runs out of lives, the game terminates. In multi-ship scenarios, ships can collide with each other as well, \r\nbut cannot shoot each other.\r\n\r\nKessler can be built as python extension for install using pip, or used as a local package by copying the\r\n`src/kessler_game` directory to your project. Wheels are provided in\r\n[releases](https://github.com/ThalesGroup/kessler-game/releases) for install using:\r\n``` \r\npip install <path to kessler_game-#.#.#-py3-none-any.whl>\r\n```\r\n\r\nKessler has two primary graphics modules. The first uses Python's Tkinter UI library to display the game. The second\r\nutilizes a separate executable process called kessler_graphics made in Unreal Engine 5. Data is sent to the\r\nkessler_graphics instance using UDP protocol on a local machine.\r\n\r\n## Using the UE5 graphics engine\r\nUnder kessler_graphics is an Unreal Engine 5 project for receiving simulation data from the Kessler Python process and\r\ndisplaying it in a 3d environment. To contribute to the UE5 project, you will need to do the following.\r\n- Install Visual Studio 2019 v16.11.5 or later with \"Game Development with C++\" selected on install\r\n- Install the .NET Core 3.1 Runtime from [here](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-3.1.30-windows-x64-installer?cid=getdotnetcore)\r\n- Install Unreal Engine 5.0.x from the [Epic Games Launcher](https://store.epicgames.com/en-US/download)\r\n- Grab the latest release of the UDP-Unreal plugin from [here](https://github.com/getnamo/UDP-Unreal/releases)\r\n- Follow installation instructions for UDP-Unreal from its included README\r\n- Right click `kessler_graphics.uproject` under the `kessler_graphics` directory and select \"Generate Visual Studio Project Files\" from the context menu\r\n- Launch the project by double-clicking on `kessler_graphics.uproject`, and select \"Yes\" if prompted to rebuild engine modules\r\n\r\n## Documentation\r\n\r\nDocumentation is not yet available for Kessler. If you would like to contribute to documentation, check out \r\n[CONTRIBUTING.md](CONTRIBUTING.md) for info on how to get started\r\n\r\n## Contributing\r\n\r\nIf you are interested in contributing to the Kessler project, start by reading the [Contributing guide](/CONTRIBUTING.md).\r\n\r\n## License\r\n\r\nKessler is licensed under the Apache 2.0 license. Please read [LICENSE](LICENSE) for more information.\r\n",
    "bugtrack_url": null,
    "license": "Apache 2.0 License",
    "summary": "Asteroids game simulation environment for ML and AI applications",
    "version": "2.1.5",
    "project_urls": {
        "Homepage": "https://github.com/ThalesGroup/kessler-game"
    },
    "split_keywords": [
        "artificial intelligence",
        " asteroids",
        " machine learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "323d6388a13eb83f43b7d60d32755201dca297c60237a1532425e17c4c2cda6f",
                "md5": "2a2701e95f82de21600699c7d959404b",
                "sha256": "f28f1b13837f31fc0a1c96f39cae12fab8a298ce1f7f86f9b829fd083963b4a2"
            },
            "downloads": -1,
            "filename": "KesslerGame-2.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2a2701e95f82de21600699c7d959404b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 48240,
            "upload_time": "2024-04-18T17:30:51",
            "upload_time_iso_8601": "2024-04-18T17:30:51.741748Z",
            "url": "https://files.pythonhosted.org/packages/32/3d/6388a13eb83f43b7d60d32755201dca297c60237a1532425e17c4c2cda6f/KesslerGame-2.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6a32a1847dc20bd7fc0eb2b2ac7c3f9e4242ba3f97afdcd2806a66dd94a17ce2",
                "md5": "2524db2f77cbba07aa16a7d5e5b60ec1",
                "sha256": "6e555ffe2e1c550d465f19325fa134c4266d9b78449e4935c259e0006b485ad9"
            },
            "downloads": -1,
            "filename": "KesslerGame-2.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "2524db2f77cbba07aa16a7d5e5b60ec1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 40848,
            "upload_time": "2024-04-18T17:30:53",
            "upload_time_iso_8601": "2024-04-18T17:30:53.086384Z",
            "url": "https://files.pythonhosted.org/packages/6a/32/a1847dc20bd7fc0eb2b2ac7c3f9e4242ba3f97afdcd2806a66dd94a17ce2/KesslerGame-2.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-18 17:30:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ThalesGroup",
    "github_project": "kessler-game",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "pillow",
            "specs": []
        },
        {
            "name": "inputs",
            "specs": []
        },
        {
            "name": "mypy",
            "specs": []
        }
    ],
    "lcname": "kesslergame"
}
        
Elapsed time: 0.25684s