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 (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-06-10T00:02:22.000Z (over 6 years ago)
- Last Synced: 2025-02-07T19:18:02.386Z (11 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.