Portfolio

Hey there, I'm Cliff, a programmer based in Toronto. Below is a quick summary of things I've worked on. Click on images to enlarge them.

Professional Work

AR Mobile Game

Space Invaders: Hidden Heroes

Hidden Heroes is an AR mobile game where players use their phone to find creatures hidden within everyday objects and use them in battle.

I worked on many of the UI screens and widgets for this project, turning mockups into real, functional UI and writing performant code that often dealt with asynchronous behavior and animations. This also included updating and maintaining the Playfab (TS) backend API accordingly, as well as updates to related internal tools (in Unity).

Link to Gameplay Video (Unaffiliated)

Link to UI mockups by one of our UI designers!

  • C#
  • Unity
  • AR
  • iOS
  • Android
  • TS
  • Playfab
  • UI Programming
  • Tools Programming

Real-Time Strategy Mobile Game

Versus: Unfriendly Frenzy

Versus is a "fast-paced take on real-time strategy, with outlandish units to command, wacky maps to explore and exciting challenges to overcome!"

I spearheaded the last months of programming and development work for Versus before its release, implementing the final features, fixing all the remaining bugs, and even contributed some level/unit design changes to make the game more interesting.

Link to Trailer

  • C++
  • Cocos2d-x
  • iOS
  • Android
  • Gameplay Programming
  • UI Programming
  • Level Design

VR Experience

Unceded Territories

Unceded Territories is a "provocative VR experience created from indigenous artist Lawrence Paul Yuxweluptun's iconic work," launched at Tribeca Film Festival.

I created several interactive pieces for this project in Unity: a chandelier that magically spins when you touch it, a fire storm that engulfs the player, and other scripted events and particle effects.

Link to Trailer

  • C#
  • Unity
  • VR
  • Oculus Rift
  • Gameplay Programming

Personal & Academic Projects

Reinforcement Learning AI Unity Tools

RealmAI

RealmAI is a prototype suite of tools that leverages Reinforcement Learning (RL) to generate game analytics, helping game designers understand and balance their games. This was my undergrad Capstone Design project.

I led the design and development of the Unity part of the suite, which involves creating a wrapper around Unity's existing RL libraries, conducting experiments and investigations to make it as effective as possible yet easy to use, and working closely with the other team members to ensure a seamless integration with the Python tools in the suite. I also made a 2D shooter game to help test and showcase the tool.

Link to Symposium Poster

  • C#
  • Unity
  • Unity ML-Agents
  • Python
  • Reinforcement Learning
  • AI
  • Tools Programming

2D Action Arcade Game

Goostory

Goostory is a 2D action game about fighting a horde of angry geese, featuring unique, action-packed challenges across 5 different stages.

I planned, designed, developed, and did almost everything (except for the art) over 6 months. Main technical features include object management and pooling systems for all entities and special effects, Subclass Sandbox architecture for fast level design and enemy AI iteration, and synchronization systems for networked multiplayer.

Link to Gameplay Video

  • C#
  • Unity
  • PC
  • Gameplay Programming
  • AI Programming
  • Network Programming
  • Game Design
  • Level Design
  • Project Planning

Music-Guessing Browser Game

Malheardle

Malheardle is a spinoff of the popular browser game "Heardle." Players have 6 tries to guess an opening or ending theme song from an anime show they've seen, driven by their MyAnimeList data.

I prototyped this idea quickly and then iterated on it over the next month. The game acquires user and anime data through the MyAnimeList and Jikan APIs, and uses existing NPM packages for text processing and Youtube integration.

Link to Game

  • JS
  • HTML
  • CSS
  • React
  • Next.js
  • Front End
  • REST API

Roguelike Game with Procedural Generation

WIP Project

This is one of the games I'm currently working on, which takes place within an expansive, procedurally generated city.

I implemented the procedural generation algorithm used to generate the city and also developed performance optimizations for thousands of buildings in a scene using knowledge of rendering and shaders.

Link to Related Write-Up

  • C#
  • Unity
  • Procedural Generation
  • Optimization
  • Shader Programming

Next.js Personal Website

This Website

I designed and built this website with Next.js.

Link to Home Page

  • JS
  • HTML
  • CSS
  • React
  • Next.js
  • Front End