Skip to main content

Asteroids game simulation environment for ML and AI applications

Project description

# 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.

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

KesslerGame-2.1.5.tar.gz (40.8 kB view details)

Uploaded Source

Built Distribution

KesslerGame-2.1.5-py3-none-any.whl (48.2 kB view details)

Uploaded Python 3

File details

Details for the file KesslerGame-2.1.5.tar.gz.

File metadata

  • Download URL: KesslerGame-2.1.5.tar.gz
  • Upload date:
  • Size: 40.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for KesslerGame-2.1.5.tar.gz
Algorithm Hash digest
SHA256 6e555ffe2e1c550d465f19325fa134c4266d9b78449e4935c259e0006b485ad9
MD5 2524db2f77cbba07aa16a7d5e5b60ec1
BLAKE2b-256 6a32a1847dc20bd7fc0eb2b2ac7c3f9e4242ba3f97afdcd2806a66dd94a17ce2

See more details on using hashes here.

File details

Details for the file KesslerGame-2.1.5-py3-none-any.whl.

File metadata

  • Download URL: KesslerGame-2.1.5-py3-none-any.whl
  • Upload date:
  • Size: 48.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for KesslerGame-2.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f28f1b13837f31fc0a1c96f39cae12fab8a298ce1f7f86f9b829fd083963b4a2
MD5 2a2701e95f82de21600699c7d959404b
BLAKE2b-256 323d6388a13eb83f43b7d60d32755201dca297c60237a1532425e17c4c2cda6f

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