|
Senior Programmer (Bedlam Games)
Sept. 2010 - July 2011
Lead A.I. programmer on Gamma World: Alpha Mutation and a currently unannounced project. Further information will be posted at a later date once there has been an official press release.
|
View Website
|
|
Gamma World: Alpha Mutation
Announced (no release date)
Designed and implmented the A.I. for Gamma World. Extended the Unreal Engine 3 weapon system to allow for multiple weapons to be equipped at one time.
|
View Website
|
| |
|
|
|
Dungeons and Dragons: Daggerdale
May 25, 2011 (Release Date)
Developed Gameplay/A.I. for Daggerdale. Performed optimizations in the latter stages of development.
|
View Website
Show/Hide Results
|
| |
Results:
|
|
|
Programmer (Silicon Knights)
Aug 2006 - Aug 2010
Gameplay/A.I. programmer on a current-gen AAA titles for Silicon Knights. Further information will be posted at a later date once there has been an official press release on our up and coming titles.
|
View Website
Show/Hide Results
|
|
Too Human
Aug 19, 2008 (Release Date)
Assisted in developing the engine that runs Too Human. Was responsible for bug fixes and performance improvements for a total of five months during multiple phases of the project. Too Human is available for the XBox360.
|
View Website
Show/Hide Results
|
| |
Results:
|
|
|
Football Pool
Aug 2007
Created a Football Pool website to automate calculating everyones weekly and total scores when new results are added to the database. It requires very little attention on my part. It was written using PHP, HTML, JavaScript with an SQL database.
|
View Website
Show/Hide Features
|
| |
Features:
- Different scoring systems based on league settings
- Scripts calculate scores automatically
- Pick sheets auto update to prevent cheating
- Options include: Sunday, Monday and all other day points; Best Bet; Eliminator Best Bet; Monday night total score tiebreaker;
- Features to come: confidence points
|
|
|
HuckCity Engine
Apr 2006 - Present
Started developing a game engine in my spare time. The main purpose of this project was to research fields that I don't come across in my day to day carerr. I have no intention of ever releasing this publicly. Most of the work i've done on this project has been the back-end code base, which is not very easy to demonstrate.
|
Screenshots
Show/Hide Details
|
| |
Features:
- Implemented a fixed pipeline DirectX based render engine
- Uses height maps to generate terrain
- Component based architecture.
Work In Progress:
- Began work on a programmable pipeline using vertex and pixel shaders.
- Animation system
|
|
|
Particle System
Jan 2007
Developed this particle system over the course of a year by working on it in small chunks. It currently simulates Fire, Smoke, Water, Rain, and an Explosion. This project was an experiment with subsystems of games. The current number of particles in the system is constant at 1000. The system is completely implemented in code using a fixed-function pipeline.
|
Download Demo
Screenshots
Show/Hide Controls
|
| |
Controls:
- e - explosion
- r - rain
- w - water
- f - fire/smoke
- q/esc - quit
|
|
|
Computer Graphics Course
Sep 2005 - Dec 2005
Completed a number of assignments and a project in this fourth year Waterloo graphics course. All assignments were written using C++ and OpenGL. The Raytracer and Hierarchical Modeller also use Lua scripts to import scenes and models.
|
Download Demo
Screenshots
Show/Hide Details
|
| |
- Project:
- Created a 3D hockey shootout game for my graphics final project using OpenGL with a C++ backend
- Ice surface and glass reflections, texture mapping, key frame animations, cloth simulation to model movement of the net
- Modelled players using Blender and 3D Studio MAX, then imported using MD2 file format.
- Raytracer:
- Simulates lighting effects by tracing "rays" of light from the eye to light sources.
- Spheres, Cubes and polygonal meshes implemented
- Diffuse and specular (Phong) lighting, shadows, reflections, bounding volumes
- Hierarchical Modelling:
- Created hierarchical "puppets" from transformed sphere primitives.
- Able to manipulate joint angles of puppet and rotate entire puppet
- OpenGL picking, undo/redo stack
- z-buffer, backfacing, frontfacing hidden surface removal can be toggled on and off.
- Graphics Pipeline:
- Modelling and Viewing transformations
- perspective and homogeneous coordinates
- 3D line/plane clipping (viewport clipping)
- Rotating 3D Tetris game:
- U-shaped well that can rotate 360 degrees in every direction and scaled.
- falling 3D blocks that follow rules similar to the popular 2D game "Tetris"
- variable game speeds, modes (wire-frame, multi-colouring), single/double buffering
|
|
|
VoIP System
Jan 2005 - Apr 2006
This was a project for the Software Design and Implementation course series at Waterloo. My team, consisting of four individuals, was responsible for designing, implementing and testing a fully functional, multi-threaded VoIP phone system.
|
Show/Hide Details
|
| |
This project was designed as a distributed system and was able to have all processes run at different locations, as everything was managed using sockets and IP addresses. It consisted of four major modules and used an SQL database to store our information.
The major modules of the system included:
- A complete administrative system that handled customers, calling plans, hardware tests, bills, system settings, etc...
- A bill processor that calculated bills each day based on an account's billing date.
- A call processor that handled connections between phones and acted as the intermediate between the actual phones and the data stored in the database.
- Phone processes that represented all phones in the system. Contained the logic for all situations a particular phone could encounter.
|
|
|
Sphere in Box Demo
Jun 2005
This was my first attempt at creating anything using OpenGL. This idea came to me almost immediately when I was thinking of what to do for my first project. This turned out to be more difficult than I first expected. 3D collision detection involving rotating objects is one tricky business! I wrote this with a C++ backend.
|
Download Demo
Screenshots
Show/Hide Features
|
| |
Features:
- Translucent Cube with a solid sphere bouncing around inside of it.
- Collision detection using ray tracing technique (not perfect yet).
- Uses Euler's method to estimate the ball's location.
- Uses display lists to save on processing time.
Controls:
- Left/Right Arrow - Rotate y-axis of box
- Up/Down Arrow - Rotate x-axis of box
- Page Up/Page Down - Translate z-axis of camera
- Esc - Exits the program
|
|
|
Metroid Clone
Oct 2004
This was my first attempt at writing a 2D game engine. I wrote this using Simple DirectMedia Layer (SDL) and C++ (.net). This engine is not complete and many aspects are still unimplemented. This engine is currently being rewritten (see below). Updated March 5, 2006: Fixed some glaring bugs.
|
Download Demo
Screenshots
Show/Hide Features
|
| |
Features:
- 2D Side scrolling game engine.
- Uses sprite system for animations and backgrounds.
- Bullet-to-Enemy collision detection using reduced rectangles to provide more accurate collisions (Samus-to-Enemy collision is implemented but is commented out at the moment).
- Sound effects and music done with SDL_Mixer.
- Basic Joystick controls implemented but bugs with movement.
- Random enemy speeds, render locations, life and movement (straight or curved).
- Thanks to Tommy Lee for creating the sprites.
Controls:
- SPACE - shoot
- Left Shift - jump
- Left Ctrl - Run
- Left direction arrow - walk (run slow) left
- Right direction arrow - walk (run slow) right
|
|
|
New Metroid Clone
Dec 2004
This was my second attempt at creating a 2D game engine. This engine is still in progress and is not nearly complete. I decided to re-write my first engine using a Tile-based system. I wrote this with SDL and C++ as well. The basic level editor is the only thing that is currently useable. The other sections of this game are partially implemented but not yet playable.
|
Download Demo
Screenshots
Show/Hide Features
|
| |
Features:
- 2D side scrolling game engine.
- Uses sprites system for animations and backgrounds.
- Tile-based system.
- All of the features mentioned in the "Metroid Clone" project are also included.
|
|
|