A small Roguelike game that uses Machine Learning to power its entities. Both the player and its enemies are ML Agents, and the demo is a good playground to test Machine Learning in a real game environment. A scene specifically for training is included, to demonstrate how to train the agents in a different environment than the one where the game is going to happen. This demo also features the use of Cinemachine for 2D and Tilemap.
Originally used in Codemotion (Milan) and DevGAMM (Minsk) talks by Ciro Continisio & Alessia Nigretti.
Objective
This project is intended to demonstrate a practical application of the Machine Learning Agents in a real game.
Usage instructions
Please note that this project is using v0.2.1d of Unity ML-Agents.
To try out the project, you need to add the Tensorflow Sharp plugin to your Assets folder. More information on how to set up Tensorflow Sharp Support is provided here.
To be able to train the agents, make sure that the Python API is installed in your system. This is a guide on how to do it. Then, add the python folder from the Machine Learning Agents repository to the project (outside the Assets folder).
Refer to the Machine Learning Agents wiki for further instructions on how to set up the project for external training.
Extra Materials
Information on how this project was created is available on the blog post.
Slides: Link.
Talk video: Link.
Software Requirements
Required: Unity 2017.2, or later version
Hardware Requirements
Required: Any computer (Win or Mac)
Owner and Responsible Devs
Owners: Alessia Nigretti ([email protected]), Ciro Continisio ([email protected]) Original graphics: Michele "Buch" Bucelli on OpenGameArt under CC0 License
Major Change Log
- 24 Oct: Created repository
- 14 Nov: First real working copy
- 27 Nov: Updated for public use, added license, Readme
- 11 Dec: Repository is public