This year I am taking a console programming course, which is pretty much a class that gives us the freedom to program a cool portfolio piece before we graduate.
If you’ve been reading this blog, you know that I have been pouring my blood, sweat and tears into making Lucha Megadrive. Fighting games are a huge passion for me, and programming wise I’ve always had a huge interest in artificial intelligence. My proposed project is that I develop fighting game AI for Lucha Megadrive. This AI would incorporate some machine learning techniques in order to adapt and learn from it’s opponents to increase its chances of outsmarting an opponent.
How It Shows my Skills
I believe that pulling this off would be an amazing portfolio piece, and would showcase my ability to architect complex systems while showing my understanding of game AI and deeper AI techniques like machine learning. It’s a win win for me because I get to learn more about one of my favorite programming fields while also making my already awesome game even cooler!
What I Need to Do
The biggest risk and unknown involved in this undertaking is implementing the machine learning algorithm that would make the AI learn and adapt to its opponent over time. While I’ve developed some AI systems here and there, I’ve never done anything close to machine learning, so it’s going to be a huge but very interesting challenge to overcome!
I would also need to program some base AI for my fighting game to start with and build off of. Luckily, the fighting game is there, so I only need to worry about the AI side and making it deeper and function-able.
Lastly, I will have to make a significant amount of planning to develop an architecture that efficiently handles the machine learning algorithm while applying the results to live matches. Luckily, I know the architecture to my game like the back of my hand, so I shouldn’t have trouble extending that and working around what I already have in place.
Since I don’t have much experience with machine learning, I will most likely be paying visits to the CSI faculty on campus to discuss strategies and algorithms that would best suit my specifications.
I’ve always wanted to learn about deeper and more complex AI systems and I think this is the perfect opportunity to do it. Although the core concept is a significant risk and a big unknown, a lot of the other programming tasks surrounding it (architecture, basic AI), is definitely not out of scope, which gives me plenty of time to implement and iterate on an adaptive AI system.