This page contains screenshots and descriptions of games and game demos, a few playable demos of game mechanics, a zip of a few sample programs, and several screenshots and descriptions of computer science and design related work. There are also a few hyperlinks to YouTube videos showing programs in action.
click here to play Force Blast ONLINE! (it takes a few seconds for Unity to install)
the game starts with a huge randomized sphere of girders falls from the sky... lots of stuff to force blast
the force blast is very powerful, and when used in quick succession it's super fun to demolish the towers and girders
the force blast discs blasting a path through a dense field of girders
the camera moves closer to the player so it doesn't go through the ground
... also, it's fun to hit the first tower so it falls over creating a chain reaction that knocks over all 4
it's also fun to hit I-beams into the towers at a distance
you can double jump up to the top of a tower
the demo starts with the player's boid far away
click here to play Boids Flocking ONLINE! (it takes a few seconds for Unity to install)
Boids Flocking demo video
randomly placed boids start to form flocks at the start
... the large waterdrop in the center of the world is just for reference
because of randomization built into the flocking behaviour, sometimes the boids form large or small flocks
Steps to download and run the program:
1. Click the red download button above to download the zip file containing the game to a Windows PC
2. Unzip the file (eg. onto your desktop)
3. Navigate into the newly unzipped folder containing the Hover Tank.exe executable file
4. Double-click Hover Tank.exe
5. At the splash screen, pick a resolution and click the Play! button
hovering, shooting, bouncy cubes, and other targets
bullet trails, collapsed brick walls
lights off, red laser scope is used to aim
Here are screenshots from a few interactive game physics demos that were produced in a gaming physics course I taught. Instead of just doing physics math which was the norm for the course before I taught it, I took the course into Unity programming and we did the applied math there - creating different physics demos that showed off various physics principles including force, collision & relection, wave dynamics, light refraction, and momentum.
I started the course by giving the students starting code with the player and navigation controls already done (the wizard with glowing particle effects). Although we were working in Unity (and Unity can do collision physics), we disabled it, so I could show the students how to do *all* the physics math ourselves (forces, momentum, dot products, cross products, and so on).
I believe the outcome was far better than just doing math on paper since the students applied their knowledge, and they have demos to send to potential employers.
To accomplish this assignment, first I helped students create various physics elements such as acceleration zones, gravity toggle zones, bouncy walls (using either perfect reflection, super-elastic, or inellastic collisions), vortecies, funnels, river type behaviour (with different force zones), and conveyor belts. I also showed them how to add visualizations to show direction and speed to the motion elements (the bouncy balls) so it's obvious to the viewer at a distance (eg. variable length trails with colour based on speed or frequency).
A flow of randomized balls get spawned, and because of their randomization, they will follow one of 4 different paths... through various physics elements. There is a controllable camera ('player') so you can zoom around and view the various parts of the machine as it's running... for example, to verify super-elastic collisions rather than acceleration zone functionality, and so on. Not only can the player move around the world, but there are also controls that spawn more balls, toggle the view locked to pointing at the the origin (where the balls are spawning) as the player flies around the world, toggle view from the player to one of the balls, toggle inverted mouse control, and reload the demo.
Note that the focus of this demo was on functionality, and the ability to test + verify it... not on graphics.
Correy Fisher's Physics Machine
... and in action... the black trails show the speed and direction of the bouncy balls as they move through the machine
Dimitri Pauwels' Power Plant Problem Physics Machine
From this distance, it's hard to see the bouncy balls in this running demo as they spawn from the nuclear reactor, float up into the clouds, fall down and hit the mountain side and into the river, flow through the river through the rapids, are gathered by the vortex of the whirlpool, make their way up into the nuclear reactor, float up into the clouds again to continue the cycle again.
An interactive surface that responds when you guide the mouse cursor over it. You can create ripples that will continue to oscilate for a while based on the viscosity of the fluid. The user can change the viscosity.
An interactive demo showing how photons of various frequencies (coloured accordingly... red, orange, yellow, etc.) can be reflected and refracted by prisms. The prisms can be moved around and rotated such that the light can be reflected and refracted over and over.
Here are screenshots from a small fraction of the games I have helped with... ideation, design, programming.
Bound - platformer where you shoot and make your own platforms, different platform powers, can angle shot and make the shot turn into a platform at any time during it's flight
Zero's Revenge - 2D platformer hack and slash, flaming sword, flowing headband, lighting, shoot out the lights with throwing stars, attack in the dark for a quick kill, avoid falling boulders near the mountain
Frequency - fps shooter, avoid zombies with smart AI that follows and avoids obstacles, gather radio parts and get to the radio tower to call for help
AI visualization of each zombie's view
Dynamic Evolution - blocky one-eyed character can grow by collecting segments which it loses when it takes damage, collect jump and flight power blocks to evolve and gain access to different parts of the level, huge level
boxing evolutionflight evolution
spike pits and jump pads
jump / bounce evolution
TAFL - Viking strategy board game
Wave Party - first person shooter + whacking stick + flashlight
flashlight is your only friend
enemies attack
big boss
Narcoleptic Rainbow Experience - fps, kill spiders that
Harold Helicopter - rotor spins, realistic helicopter flight, fly through the gates, put out the fire with a bucket of water that hangs on a rope from the helicopter
The Last Tower - journey out to gather energy and materials to build up the defense of your tower, many different weapons to build onto your tower, tower wall can be built 4 segments high, minimap, can play game with PS3 gamepad controller, ship flight is smooth
Voidstar - first person puzzle game with minigames (eg. drive a maze, put code chunks together, swim to get a key)
Swarm - first person action, kill bugs with different sticks/pipes with different powers, bugs attack your campsite, then you break through to sail a ship, then battle frost giants!... huge level
Downtown Ninja - avoid line of sight by the all-seeing beholderbots, climb ladders, get to the end of the level without being detected
Enemy Skies - arcade flight shooter, enemy AI that follows you, aims, shoots, enemy towers shoot at you
MindMelt - roll the ball, collect buckyballs, powers - ice kills fire demon, fire kills ice demon
Mugi vs AAA - maze strategy, force field gates prevent backtracking, laser turrets, several levels
Space Man - 3d platformer, low gravity, checkpoints, power-ups
Hive Mind - bee simulator, gather nectar before the year ends and the bear attacks your hive
Humpback Counterinsurgency - flying whale is on a rampage, breath fire, bubble bombs, realistic whale swimming controls and animations
RaceGame - 3D platformer and racer, jump between worlds, use a gravity gun to adjust platforms to get from planet to planet, jump around to get to the different races that you can compete in, 2 players on gamepads, huge level
planets platforming
track design
2 player racing
Punchy - first person punch kicker, collisions on hands and feet
enemies swarm from the towers
kick sends enemy flying
GunTote - FPS
boss battle (boss = huge creature)
Fish Domination - fish swimming physics, gather powerups, avoid sharks
Transporter - 3d terrain, enemies swarm when you're in range
Spookhouse - enemies move around on waypoints, you are a ghost demon who can hide in certain objects and jump out to scare the enemies to death
Imperial Armour - tank sim
Museum Theif - strategy puzzle
Falling Maze - randomized maze is different each time you play, different maze units have different challenges (eg. zero gravity), minimap
Here are a few demo programs that highlight some of my programming talents. Below are several screenshots from some of my programs and 3D models.
Steps to run the demo programs:
1. Download the zip file (containing all programs) to a Windows PC
2. Unzip the file (eg. onto your desktop)
3. Navigate into the newly unzipped folder containing the executable files (.exe files) and screenshots (.jpg files)
4. Double-click the program (.exe file) that you wish to run.
C++ brew and Java 2D puzzle game
Scrabble Blast is like a mix of Boggle and classic Scrabble. You make words by selecting tiles while trying to hit the score multipliers. There are four challenging ways to play including blast, puzzle, action, and classic modes.
C++ and OpenGL 3D game
Gymmy is a single or networked multiplayer 3D game where you can run/jump around in a textured world and collect bouncing prizes that bestow upon you different powers such as increased/decreased speed and increased/decreased jumping ability. There are strategies to winning (especially in multiplayer mode) where you want to be able to jump, but not too high because it wastes time. You want speed, but not too much because it becomes difficult to control. You want as many prizes as possible, but if you get all the black springs (decreased bouncing prizes) then you can't jump up to the levels to get the rest of the prizes.
third-person views of a super high jump
I was team lead for the game and my responsibilities in the design and implementation included:
an initial random terrain is constructed, and then smoothed
it is lowered to bring out more colour, then enhanced (increased contrast between the lows and highs)
so, you might start with something like...
... and eventually it may become...
. . .
Galaxy Control demo video
Downsampleator demo video
a few screenshots
A few screenshots
Some images from the video...
Mountain Scenes Morph demo video
screenshot
Screenshots showing the equilizer(using a multiple document interface), Fourier view (blue bars on the right), and a few of the many different visualization options
Lightsaber object tracking mode
Night vision mode, sensitivity testing
Object tracking based on relative position heuristics
Two screenshots showing two teams generated with a desired total points cost of 300.
I built this program to store and quickly access my contact information. I have been using the program almost every day for more than 10 years.
There are multiple User Experience (UX) design considerations and features:
contacts are searchable
Built using Visual Basic in 2003.
Possible improvements: