First year project with a small team of artists, designers and programmers.
We had about six weeks to complete this project.
The Game
In the game, you play as an octopus who is desparately trying to draw magical symbols on the floor using paint collected from enemies. The symbol to be drawn is shown on the floor, and shows which colors should be used. If the symbol is drawn correctly, the next symbol unlocks. Progress towards completion is indicated on a magical glowing pillar in the center of the room.
My Role
I took up the role of Research and Development programmer to find a way of recognizing how well the player has drawn the symbols. This involved researching CNN's (Convolutional Neural Networks) and other heuristics. In the end I had no time to implement and train an actual CNN, but I did learn from that approach and used some of the concepts. I implemented a color based key-point generator in the drawings that would compare distances and angles with other points. Some heuristics like amount of ink used were also in place to prevent brute-forcing. In the end the algorithm worked pretty well. It was implemented in C++ and exposes variables to the designers so that they could tweak the values. Other than this I worked on various small things like bug fixes, adding behaviour to NPCs and such things.
Video
The artists in my team made a small trailer for the game, which can be seen on the right. In total the team existed out of two programmers, four designers and two artists.
Feedback
Overall the game was pretty positively received by the teachers and other students. It's a very simple game due to the time restraints.
Lessons Learned
This project sparked my interest in neural networks and deep learning, a topic that I ended up researching more in later years when I was working on a path tracer. This was also my first introduction to Unreal Engine, which took some getting used to. Writing C++ is not too bad, but I'm not a big fan of the blueprinting.