Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/siva-tanikonda/asteroids-plus
An HTML5 remake, an AI, and a training environment/framework for Asteroids (a retro Atari game)
https://github.com/siva-tanikonda/asteroids-plus
asteroids-game cpp genetic-algorithms html-css-javascript sdl2
Last synced: 8 days ago
JSON representation
An HTML5 remake, an AI, and a training environment/framework for Asteroids (a retro Atari game)
- Host: GitHub
- URL: https://github.com/siva-tanikonda/asteroids-plus
- Owner: siva-tanikonda
- Created: 2022-10-10T16:42:02.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-03T01:13:54.000Z (13 days ago)
- Last Synced: 2025-01-03T01:25:55.422Z (13 days ago)
- Topics: asteroids-game, cpp, genetic-algorithms, html-css-javascript, sdl2
- Language: C++
- Homepage: https://siva-tanikonda.github.io/asteroids-plus/
- Size: 15.9 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Asteroids+
## How to Use
### Play Game/View AI
You can play the game for yourself and see the observe an AI trained by the algorithm at [siva-tanikonda.github.io/asteroids-plus](https://siva-tanikonda.github.io/asteroids-plus/).*Note: The amount of asteroids on-screen scales with the resolution of the game window, so your results may vary from the training results. In addition, the game-speed variable doesn't change the rate at which the AI updates its decision, which is intentional and is another way of stress-testing the AI.*
### Using the Trainer
#### Install Packages
You need to install C++, SDL2, and the nlohmann JSON library
#### Run Trainer
* First, you should alter any parameters you want to in *asteroids-plus/Training/config.json*.
* Then, to run the trainer, execute the following command (in the *Training* directory):
```
$ make train
```
* To monitor the progress of the training, use the window that has now popped-up.## AI Strategy & Training Methodology
A complete overview of the project (including the AI strategy and training methodology) can be found in the Wiki: https://github.com/siva-tanikonda/asteroids-plus/wiki.## Tools/Libraries Used
### SDL
This is a JavaScript runtime environment you can learn more about at [libsdl.org](https://www.libsdl.org/).
### nlohmann/json
This is a library to parse JSON in C++ [github.com/nlohmann/json](https://github.com/nlohmann/json/).