MaRio Bot
As a short project for a graduate course on AI agents, I worked with a group of other students to design a few bots that could play an emulated version of an old Super Mario game. We designed three bots: one with hard-coded rules, one that mimicked a human player's strategy, and one that used a neural network to learn how to play.
I worked primarily on the player-mimicking bot, as well as background requirements like interfacing the bots with the emulator, writing the level generator, and taking and caching game states. The mimicking bot takes state-action pairs saved during a human player's playthrough as training data for a Naive Bayes classifier, then predicts what action the player would take in the current game state.
Some of our documentation is linked below, and the link to our repository is here. Note: Keras and Theano are required to run the neural network bot and will need to be installed separately.
The final product was more of a proof-of-concept than a full project; if we'd had more time, we'd hoped to improve the level generator to create more complex levels, improve the neural network bot's performance, etc.
I worked primarily on the player-mimicking bot, as well as background requirements like interfacing the bots with the emulator, writing the level generator, and taking and caching game states. The mimicking bot takes state-action pairs saved during a human player's playthrough as training data for a Naive Bayes classifier, then predicts what action the player would take in the current game state.
Some of our documentation is linked below, and the link to our repository is here. Note: Keras and Theano are required to run the neural network bot and will need to be installed separately.
The final product was more of a proof-of-concept than a full project; if we'd had more time, we'd hoped to improve the level generator to create more complex levels, improve the neural network bot's performance, etc.