Academic Work

School Projects:

Master’s thesis paper:

Skeletal Animation Optimization Using Mesh Shaders


Large game project at BTH where I was responsible for the entire animation pipeline. Including character creation, rigging, animating some of the characters and the animation system within the game itself.

Beyond animation playback and state machine blending the animation system also has several other features such as:

  • Generic animation notifies and triggers which allow animations to trigger other parts of the game. Such as audio in sync with footsteps  and the ability for the AI to tell the system which animation to play.
  • Aim offset which allows the player character to look up and down in the direction that the player is aiming.
  • Partial blending of state machines, meaning that the upper and lower parts of the player character can play different animations.
  • Look-At functionality, letting one of the bosses in the game to look at the player by directly modifying the animation at run-time.

The repo for the game can be found here:

SuperNautic Racing:

A game made over the course of a few months by a team of six students during our third year at BTH. The task was to create a game from scratch, including the engine. The game is built using C++ and OpenGL. I primarily worked on the OpenGL rendering side and created most of the art present with Maya.

Poilu Pierre:

A simple game made in my first year at BTH using C++ and SFML. Poilu Pierre is a WW1 game where the player takes on the role of the titular Poilu Pierre, commanding a French regiment to victory against the Germans.

Machine learning cars:

My project for the Machine Learning course that I took at BTH. My goal was to create a neural network that could learn to drive a car without using any external libraries. The project was built using Unreal Engine 4. They aren’t super smart but considering this was my first foray into machine learning, I’m pretty happy.