https://github.com/synray/platformerneat
Uses NEAT to evolve networks that can beat challenging platform levels.
https://github.com/synray/platformerneat
ai neat neural-networks neuroevolution
Last synced: 2 months ago
JSON representation
Uses NEAT to evolve networks that can beat challenging platform levels.
- Host: GitHub
- URL: https://github.com/synray/platformerneat
- Owner: Synray
- Created: 2019-06-09T22:11:14.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-06-10T00:02:22.000Z (about 6 years ago)
- Last Synced: 2025-02-07T19:18:02.386Z (4 months ago)
- Topics: ai, neat, neural-networks, neuroevolution
- Language: Java
- Homepage:
- Size: 80.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PlatformerNeat
Uses the NEAT algorithm to evolve networks that can beat challenging platform levels.
### Video Example
[https://www.youtube.com/watch?v=-eR63uJ9FYM](https://www.youtube.com/watch?v=-eR63uJ9FYM)[](https://www.youtube.com/watch?v=-eR63uJ9FYM)
## Getting Started
Create a project in your IDE and run Main.java to run the main application. Press 'F' to start evolving, '+' to evaluate a genome per frame, and 'T' to evaluate one generation per frame.To play the game, use arrow keys to move and jump.
Check in Simulation.java for the rest of the controls. A more user-friendly GUI is on the todo list.
## Hacking
To change the fitness function, edit the calculateFitness() method in Simulation.java.To change the parameters used by NEAT, edit NEATUtil.java.
To make a new type of level, edit Level.java.
Making a new kind of enemy is harder, and I'm considering rewriting most of the game-related code.
## Very WIP
Note that some of the code was made when I was 14, and a lot is being rewritten.