A bomberman bot that learns through machine learning. Using a combination of hardcoded AI, playing against humans, and Tensor Flow, the computer learns to better clear levels the more it plays.
To learn more, visit the project website.
A final project Franklin W. Olin College of Engineering's Software Design Spring 2017 class.
Alex Core
Benjamin Ziemann
Nick Steelman
Seungin Lyu
Yichen Jiang
Base game code written by Github user rickyc.
Dependencies
Before starting, ensure you have the following installed:
- Python 3
- Pygame (1.9.3)
- Numpy (1.12.0)
- TensorFlow (1.0.1)
Download
To download just download as a zip file or clone the repository.
Once downloaded, in the terminal use the commands
$ SoftDesFinalProject/src
$ python3 main.py
to run the game.
Pressing the "Left Shift" key will activate the auto mode.
Once created enough training data(.csv), in the terminal use the commands
$ SoftDesFinalProject/src
$ python3 NNClass.py
to train the Deep Neural Network for the automode!
Project proposal can be found here.
Architectural Review can be found here.
Architectural Review Reflection can be found here.
Final Presentation can be found here.
Poster can be found here here.
MIT License
Copyright (c) [2017] [Alex Core, Benjamin Ziemann, Nick Steelman, Seungin Lyu, Yichen Jiang]
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.