Watch Dogs: Legion
Watch Dogs: Legion is the third installment in the Watch Dogs series. It’s an open world game set in London, featuring diverse characters, quests, stories and more. By far, it’s most important feature is the ability to play as anyone. On the project, I worked as a tools programmer doing my best to improve the process of making the game.

Minerva Prime
Minerva Prime is a rover simulation game that is part of an exhibition at the Canada Aviation and Space Museum. It places 3 visitors in a VR environment where they are colonists taking part in missions to survive and thrive on the exoplanet Minerva Prime.
Shaders - I wrote a few of the post processing effects for the game including a Vignetting effect for the reduction of motion sickness and a welding mask 'simulation'
Game mechanics - I was in charge of the objective system behind the robot helper for one of the players. I also worked on some of the many tools that players can use.
3rd Party Integration - I was in charge of learning and using Final IK to use it as our IK system for the player bodies.
Visitor Interaction - As a team we had to manage crowds of visitors wanting to try the game and ask us questions. We also had to guide players through what was, for most of them, their first VR experience.



The Little Game Engine
The Little Game Engine is a basic windows and android development environment. It was designed and created over a summer by 2 students. The inner workings of the engine are based on the entity, component, system design. We started from scratch and incorporated opengl(and opengl es) as well as glm for the math.
Design - We designed together how the game systems would interact and be used by a potential game creator. From then on, the design of the future parts of the engine were my responsibility. The engine was designed to be a simple library link and requires few lines to set up.
OS integration - Creating windows, creating opengl contexts and Handling input is taken care of by the engine with code that I wrote
Visual Studio - I had to set up the environment for us to work in. That involved having multiple configurations and platforms. It also involved having multiple projects that used the same scripts. I also had to set up the output, execution and temporary paths for files and setup the multiple includes and defines required to make things work.
Pinball
This pinball game was created for the Ubisoft Toronto NXT competition in 2018. We were given a very basic api to draw lines, play sounds and check input devices for their status. We had the api in hand for about a month before they announced the game we were making and gave us a weekend to complete it.
Property Centric - I approached the challenge with the intent of implementing a property-centric game object system. There were many challenges in my attempt as this type of system was new to me but in the end, I made it work.
Physics - The pinball game had us create a physics system from scratch. Although it was only circle-to-line and circle-to-circle collisions, i still spent a decent part of the weekend making it feel right.

