top of page
Honours.PNG

Honours Project

Engine: Unity
Language: C#

Procedural 2D level generator using machine learning algorithms.


An LSTM Neural Network was created in the Python language using TensorFlow and trained on level data from the original Super Mario game. The trained network was then tasked with creating new levels which were then imported into a premade demo game in the Unity game engine to be tested. The second approach to generation was to use a Markov Model utilizing a Monte Carlo Tree Search algorithm, this was coded within the premade Unity project using the C# language. The Markov model was built using the same training data used in training the Neural Network. Once the levels were generated an AI agent (using A*)  was tasked with traversing the levels to ensure their playability. All work except the art assets were made by me as part of my 4th year honours project at Abertay University.

​

Link to the project

Honours Project: About
bottom of page