Lunar Command

Languages: C#, XNA, MySQL, PHP

Platform: Mobile (Windows Phone)

Date Published: May 2015

This is a Missile Command clone that was originally an class assignment in 2011, which I've recently decided to port to Windows Phone. I also added online leaderboards using PHP and MySQL as part of the port and am thinking of also porting it to Android in the future.

Metroid Prototype

Languages: C++, Ogre3D, BOOST, PhysX 3.2.x

Platform: PC

Date Created: April 2013

This is part of a networking project where server and client connections were written using boost::asio sockets using the UDP protocol and dead reckoning was used for client updates. The server supports drop-in/drop-out connections, the simulation is run both server-side and client side, but all property updates and creation/destruction events are controller server-side.

This project is part of a general purpose engine I've been working on in my spare time written in C++, using Ogre3D and PhysX. I am working toward making a more robust networking engine as part of this general purpose engine that supports UDP reliable packet delivery, UDP punch through, and other features.


Languages: C++, openGL

Platform: PC (Github)

Date Created: April 2012

This was a project to create a simple raytracer using phong shading and specular reflection. Reflective surfaces was also implemented. Primitives in the raytracer include point lights, planes, circular planes, spheres, and cones.



Languages: C#, Unity 3.5

Platform: PC (Try it yourself)

Date: April 2012

A first person style puzzle platformer where the objective of the game is to navigate between cubes to get to the end goal. This was another collaborative game done with the George Brown game program students with the Designers, the Artist, and the Programmers. My task was to make the GUI elements and menus, as well as helping level building/design, as well as finding and fixing persistent bugs in the project.


Languages: C#, Unity 3.5

Platform: Mobile (iOS target) Try it yourself (old demo version)

Date: Summer 2013

A mobile version of the Crokinole boardgame invented in Canada over 100 years ago. This version has Tutorials, Pass and Play, One Player versus an AI. Features also include integration with Apple's Game Center with online play against your friends and strangers with leaderboard integration.

Wario's Woods Clone

Languages: C#, XNA

Platform: PC

Date Completed: March 2012

This was part of a class project to create a networked game using XNA, allowing 2 players to play locally or over a network.

The Nutjob Game

Languages: Flash AS3

Platform: Web (Try it yourself)

Date Completed: May 2011

This is an implementation of my simple flash physics engine. This project was a collaboration of the George Brown game program students with the Designers, the Artist, and the Programmers. It was my task to create the physics engine and with the other programmers to create a level creation system using Adobe Flash's editor.

Flash Physics Prototype

Languages: Flash AS3

Platform: Web (Try it yourself)

Date Completed: January 2011

This is created for a program wide collaboration project (The Nutjob Game) by myself, it is an impulse based physics engine and some features include n-sided polygonal collision detection (convex), spline collision detection, and circles. Rigidbody motion was not included because it was not necessary for the game.

The properties physics objects can have are restitution, friction, mass, as well as definitions for restitution/friction combination modes. The objects also support custom gravity definitions, collision callbacks and filtering.


Lights Off 3D

Languages: C#, XNA / Java, libGDX

Platform: Mobile (Windows Phone, Android)

Date Published: December 2011

This is an extension of the popular game Lights Out, but instead of being confined to a 2D grid, the grid wraps around a surface of a cube to add an extra dimension of difficulty.


Languages: C#, XNA

Platform: Mobile (Windows Phone)

Date Published: December 13, 2011

This is a Mastermind clone, where you need to guess the order and the colours of the pegs only given the information given back in terms of the pips (Red: right colour in the right spot, or White: right colour in the wrong spot).