-
Notifications
You must be signed in to change notification settings - Fork 1
Software Description
The first part of the software, is a pong game. The pong game is just a basic implementation of the classic pong game. Where you bounce a ball with a paddle from left to right, right to left.
Pong
The second part is a implementation of Neuroph's multilayer perceptron neural network. This neural network, learns and plays the game at a almost too high rate.
The third and final part of the software handels the second frame. The live view frame. It's implementet so that the user can see what inputs the neural network get, and what outputs it generates. Albeit it's might be a bit hard to read, because it updates every 15 millisecond...
Live view
Description of the different classes used by the program.
Package | Class | Description |
---|---|---|
Pongnnreborn | Pong | Main class, handels the pong aspect of the program. |
Pongnnreborn | Paddle | Creates "Paddle" objects used in the pong game. |
Pongnnreborn | Ball | Creates a "Ball" object used in the game. In addition to gathering data for NN. |
Pongnnreborn | Rendering | Renders the Pong frame. |
Neural_Network | Neural_Network | Neural Network class. Creates, learns, and uses the neural network to play pong. |
Neural_Network | Neural_View | Handles the Neural network live view frame. |
Neural_Network | Neural_View_Rendering | Renders the live view frame. |
For more information about the architecture of the software, check out the wiki.
Current version: 2.1.2
Checkout the wiki for changelogs: wiki
We use SemVer for versioning.
Inputs:
1. Paddle1.y: Y cordinates of the paddle.
2. Ball.y: Y cordinates of the ball.
3. Desired Output: 0, 0.5, or 1. Created by checking if the ball is above, below, or at the paddle position.
Outputs:
1. Output 1: Number beetwen 0-1. Uses to see if the neural network needs to go up or down.
This project was created by Kim, Vegar, og Tønnes. 2018