Work

Real builds. Real input.

What I made and the systems underneath. Team work is labelled as team work.

Mobile vertical slice Playable vertical slice

Valley Sentinel

Solo Developer — all design & code

Unity vertical slice on Android. Touch drag maps to aim and fire in C#; projectiles fly on ballistic arcs into enemy waves with damage and reward feedback.

  • C# touch-input layer: one-thumb drag to aim and fire
  • Ballistic projectile flight and hit feedback
  • Wave spawning with a clean restart loop

A complete loop running on a real phone — installable APK below.

Unreal physics Physics prototype

Darkness of Kabul

Solo Developer — gameplay & physics

Unreal C++ physics prototype. Slingshot pull with a live predicted trajectory; projectiles bounce under control and hits resolve by body area.

  • Trajectory prediction drawn from the launch impulse
  • Controlled bounce tuning on release
  • Body-area hit reactions: stagger, crawl, ragdoll

Hit reactions readable enough to build encounters on.

Unreal EngineC++
VR prototype Working gameplay prototype

Let's Play Cricket VR

Solo Developer — Unreal C++ & OpenXR

Unreal C++ batting prototype on Meta Quest 3 through OpenXR: motion-tracked bat, timed ball delivery, contact and miss detection, score feedback.

  • OpenXR motion-tracked bat swing in C++
  • Delivery cycle: bowl, contact test, score, reset
  • Packaged, repeatable builds on the headset

Real swing input judged on-device, not in-editor.

Unreal EngineC++Meta Quest 3OpenXR

Team capstone

</>WindowsGameplay teaser in production
Team capstone In development · 2026

Blood Avenger

Tech Lead — Gameplay API & Integration

Team project — Toronto Film School capstone. Credited for the systems below, not the whole game.

Team capstone. I own the shared gameplay contracts: C++ interfaces, Blueprint-facing APIs, and integration.

  • C++ gameplay interfaces the team codes against
  • Blueprint APIs so designers iterate without C++
  • Integration: branches, merges, build health

Team-ready code — contracts other people build against.

Unreal EngineC++Blueprint

Programming foundation

The same rules built twice: terminal turn-state logic first, then a graphical SDL2 table.

C++ · SDL2 Complete exercise

Blackjack — Graphical

Blackjack on the VGP122 C++ framework: a scene-based table with betting, wallet state, hit, stand, double, split, dealer play and payouts.

Full rule set and betting economy in C++ — final source included.

C++SDL2Windows
Blackjack — Terminal gameplay
C++ Complete exercise

Blackjack — Terminal

Console C++ blackjack: card, deck, and hand classes with dealer behaviour and turn-state logic.

The rules engine the graphical version was built on.

C++Windows

Browser playables

Project Balkh — Training Range gameplay
Browser playable Playable in browser

Project Balkh — Training Range

Browser slingshot range: custom loop over Three.js with cannon-es physics, a predicted arc, and ammo types with distinct flight.

An engine loop and physics wired by hand, playable in one click.

JavaScriptThree.jscannon-es
Rise of the Exile gameplay
Browser playable Playable in browser

Rise of the Exile

Construct 3 action platformer built end to end: movement, combat, boss fight, audio, cutscenes, ending.

Finished and shipped — intro to credits.

Construct 3JavaScript
Neural Hangman gameplay
AI web game Playable in browser

Neural Hangman

JavaScript hangman with Gemini-generated word sets on any topic. The API key stays server-side behind a PHP proxy.

Secure API design: zero key exposure in the browser.

JavaScriptPHPGemini API

More

Source & builds

Code on GitHub, builds on itch.io. This site — PHP, MySQL, automated deploys — is work too.