If you visited the ActiveState booth at PyCon, QCon, GopherCon or PyData Seattle, you may have had a chance to play NeuroBlast - a simple arcade space shooter, but powered by machine learning. It was created as a demonstration of the power and accessibility of open source tools for machine learning, and uses Google’s popular TensorFlow library to drive the enemy AI in the game.
At every event, numerous people asked if the code was available on GitHub - and so I’m happy to announce that you can now access the code to both the Python and Go versions of NeuroBlast on GitHub!
This was an exciting learning project for me, and my first real foray into doing any kind of machine learning project. It taught me a lot about the fundamentals of ML, but also a lot about the practicalities of deploying ML into real applications. Hopefully, having access to the source code and being able to look at how it’s put together will help others learn about machine learning - and maybe even help expand and improve the game in new and exciting ways.
Over the past few months, I’ve written a few blog posts that delve a little deeper into how the game works and how it’s all put together, which you can read if you’re interested in diving a little deeper:
- Building an ML-Powered AI Using TensorFlow in Go on GopherData.io
- Building Game AI Using Machine Learning: Working With TensorFlow, Keras, and the Intel MKL in Python
There are still lots of ways to improve and expand the game, so head over to GitHub and check out the repo, as well as the list of issues. Feel free to get involved by taking on one of the issues, or contributing fixes to the code of either language version.
If you have any questions or problems working with the code, don’t hesitate to report an issue or hit me up on Twitter to ask a question.
Thanks to everyone for all their interest and enthusiasm for this project to date - excited to see what people do with this from here!