Unity
Idle TD
Mobile Tower defense game which blends active and idle play. Enemies walk the loops endlessly while the player sets up roads and defenses to grow their empire.
Key Notes:
-
Custom road building and AI
-
In game GUI displaying enemy health
-
Optimized to run on mobile devices
-
Multiple unique tower behaviours
-
Saving & Loading
Biggest Challenge:
Getting Navmesh to update with each new road to ensure consistent enemy pathing.
Skelegun
Mobile Platformer where the player is a skeleton with no legs. Instead of walking around, the skeleton uses the recoil from a big six-shooter to propel themself through the level, collecting treasure along the way!
Key Notes:
-
Physics implementation for gun recoil
-
Automatically detects whether running on PC or mobile and will switch to on-screen controls or mouse & keyboard.
-
Level progression & high score tracking
Biggest Challenge:
Setting up dynamic sound effects to play different volume and pitch depending on how hard the player lands. A louder "ding" in their cup when they do a big fall!
Mobile Arcade Shooter where the player ship automatically launches "Battery Balls" which ricochet off enemy ships to charge up the player's battery. Filling the battery fires more battery balls!
Catching battery balls on the way down triggers the player's Cannon, which blasts straight up and destroys enemy ships.
Key Notes:
-
Finger tracking ship movement
-
High score system
-
Procedural enemy spawning for endless waves
Biggest Challenge:
Building enemy AI to produce dynamic enemy movement with a mixture of predictability and novelty.
Ricochet Space
BattleQuest
2D RPG system with random encounters triggered by walking in grass. Defeating enemies adds their moves to your character so defeating enemies makes the player stronger!
Key Notes:
-
Scriptable object system for easy development of new enemies and skills
-
Implemented Unity 2D lighting and particle effects
-
Pop-up UI display for damage & combat text
Biggest Challenge:
Constructing a turn-based combat system with enough flexibility and symmetry to enable players and enemies to use the same skills.
Inventory System
Custom Inventory system for use in an RPG.
Key Notes:
-
Tracks items in inventory and containers/chests/storage.
-
Created as an all-in-one exportable package to be used in other games.
-
Extensible for custom items and dimensions, which can be easily created in editor.
Biggest Challenge:
Setting up the inventory grid to prevent placing items in positions with overlap.
Calendar System
Custom day/night & calendar system. Set up to track special events and special times.
Key Notes:
-
Calendar system customizable to any month size.
-
Special events / weather customizable in editor.
-
Created as all-in-one package to be easily imported in other projects.
Biggest Challenge:
Setting up a basic scriptable object to serve as a "day event" which can be attached to any day in the calendar.
Match-3
Match 3 Puzzle game with a combo system. Move tiles to create matches, string together combos to earn more points!
Key Notes:
-
Custom grid set up to work with any board size.
-
Combo system to track rate of matching and award bonus points.
-
Set up as a "mini-game" which can be triggered by interacting with a game object.
Biggest Challenge:
Establishing logic to check for matches in each direction. Especially accounting for "edge-cases" -- when the tiles were up against the edges of the board.
Hacking Minigame
Hacking game with randomized passwords and randomized boards, which challenges the player to find the right path through the board to unlock the device.
Key Notes:
-
Adjustable difficulty and "character skill" parameters for dynamic challenge.
-
Built in Unity Canvas for easy addition to other games.
-
Set up as minigame to trigger when the player interacts with a computer game object.
Biggest Challenge:
Adjusting interactable and non-interactable buttons to account for different gamestates.
Lockpicking minigame where the player must use mouse and keyboard input to find the "sweet-spot" angle in a lock to successfully pick.
Key Notes:
-
Different lock difficulties and "lockpicking skill" makes for adjustable challenge.
-
Breakable lock-picks are destroyed when the player tries to unlock the door too aggressively.
-
Interactable doors trigger lockpicking when the player uses them.
Biggest Challenge:
Setting up the "angle math" to translate player mouse movements to input angles for finding the sweet spot.
Lockpicking
Soccer game where the player needs to kick 10 balls before the time goes above 10... Or below zero! The timer switches directions when the player kicks a ball so they need to carefully weave and choose their opportunities. Also, the music plays in reverse when the timer is going backwards!
Key Notes:
-
Special physics behaviour on ball rigidbodies to get good kicking physics.
-
Special implementations on UI to make timer slider go forwards and backwards.
Biggest Challenge:
Setting custom ball physics to keep the balls moving - they needed to only slow down to a "minimum speed" but still be able to accelerate when kicked by the player.
Elvis Presley & The Soccer balls of Time
Running Out (In Space)
Guide an astronaut through a spaceship with no oxygen. Use the oxygen in your suit as propulsion to speed along the ground (or fly through the air!)
Time your movements right to take advantage of the shifting gravity.
Key Notes:
-
Gravity shifts over time between moon and earth gravity.
-
Collect Oxygen tanks to restore oxygen.
-
Omnidirectional oxygen jets let the player shoot up, down, or in any direction.
Biggest Challenge:
Implementing custom gravity to behave predictably while shifting between zero and high gravity -- especially for strange physics actions like the oxygen thrusters!
Unreal Engine
Ghost Knight
2.5D Platformer where the player must escape the underworld. Use dashes, jumping, and omnidirectional attacks to defeat enemies and collect coins.
Key Notes:
-
2 Playable characters with unique movement properties
-
Enemy AI system with line of sight and attack behaviours
-
Built for console release, including achievements, controller support, menu systems, etc.
Biggest Challenge:
Rigging up animations for character attacks. Especially blending animations, such as the leaning while attacking.
Cannon Car
Car Combat game where the player must race through an arena to destroy towers. Use the cannons mounted on the car to fire projectiles, but mind the powerful recoil: it can throw the car off course (or be used to make adjustments midair, or to roll your car when you flip!)
Key Notes:
-
Implemented full car handling & physics.
-
Enemy AI behaviour to aim at and fire at player when they are within range.
-
Special functionality for cannon projectiles and recoil physics.
Biggest Challenge:
Setting up recoil physics to behave correctly regardless of player orientation. Lots of fine-tuning blueprints to achieve intended behaviour.