Square Enix, Kingdom Hearts III, Unannounced Title

Role: Programmer
Period: June 2017 – August 2021
Skills: C++, C#, Jenkins


» Automate performance measurement systems and build pipelines
» Work with artists and programmers to optimize their workflow via tools and automation
» Implement game- and tools-related automated tests

NetherRealm Studios, Injustice 2

Role: Associate Software Engineer (team of 30)
Period: June 2016 – May 2017
Skills: Unreal Engine 3, C++, C#, HTML, CSS, Java, Perforce


» Completed engine-related feature requests and bug fixes in collaboration with principal, lead, and other engineers
» Implemented and maintained systems and tools in a variety of programming languages to improve team productivity and to meet technical specifications
» Authored and contributed to technical and end-user documentation of new tools and features

Ubisoft Singapore, Assassin’s Creed Origins

Role: Gameplay Programming Assistant (team of 30)
Period: May 2015 – September 2015
Skills: In-House Level Editor and Language, Perforce


» Added new gameplay features, content, and technical and end-user documentation
» Maintained and refactored code, which included the removal of over 500 files from a large legacy codebase
» Collaborated with junior and senior programmers, designers, artists, project managers, and a QA tester, in a team of nine different nationalities, to meet the goals of a major milestone

Class Project, Kissy Ghost

Kissy Ghost is a quirky 2 to 4 player local co-op 2D game. One player is randomly selected as a ghost who interacts with the physical realm by kissing furniture to life. The other player(s) are corporeal beings trying to exorcise the ghost with cats and romance, while overcoming various obstacles and challenges set by the ghost.

View: Demo video
Roles: Programming, Design (team of 16)
Period: January 2016 – May 2016
Skills: Unity, C#, Photoshop, Trello, TortoiseSVN


» Collaborated with two programmers in coding gameplay systems, polishing code, fixing bugs, and adjusting UI and art
» Designed and implemented the character selection sequence
» Organized task documentation on Trello

Personal Project. Octoheart

Octoheart is a proof of concept 2D game containing elements of the bullet hell and action genres. Armed with a magical giant needle, the player must recover the 8 fragments of her carved-out heart by battling through the Queen of Hearts’ minions.

Play: WebGL build
Roles: Programming, Design (team of 2)
Period: November 2015 – March 2016
Skills: Unity, C#, Trello


» Implemented gameplay systems, including player movement, combat, and enemy behaviors
» Designed level progression
» Managed production of the game in collaboration with an artist

Personal Project, Slice

Slice is a proof of concept 3D puzzle game mash-up between Rubik’s cubes and Cryptex puzzles. The goal is to piece back together objects by rotating and swapping “slices” of the glass cube that the objects are encased in.

Play: WebGL build | Windows build download
Roles: Programming, Design (team of 5)
Period: November 2015 – March 2016
Skills: Unity, C#, Trello


» Authored gameplay systems
» Designed UI and gameplay flow
» Directed production in collaboration with two artists, a programmer, and a sound engineer

Personal Project, Cluster Spirit 2D

Cluster Spirit 2D is a personal project heavily inspired by the Katamari Damacy series. Using simple mouse controls, players must roll up enough items within the time limit in a bid to restore color to the cosmic multiverse.

Play: WebGL build | Windows build download | Android build download
Roles: Programming, Design (team of 3)
Period: December 2014 – November 2015
Skills: Unity, C#, Photoshop, Trello


» Implemented 2D gameplay features and UI heavily inspired by the Katamari Damacy series
» Expanded 30 base art assets to over 100 additional variations
» Collaborated remotely with an artist and a composer

Personal Project, Zen Organising

Zen Organising is a proof of concept born out of a love for organisation in games and in real life. It is simple yet cathartic inventory organisation. This started off as a project developed in MonoGame, which was then ported over to Unity to make the project more extensible and portable.

Play: WebGL build | Windows build download | Android build download
Roles: Programming, Design, Art (team of 1)
Period: April 2015 – May 2015
Skills: Unity, MonoGame, C#, Illustrator


» Coded and designed the game in MonoGame
» Ported to Unity
» Created all art assets using Illustrator

Class Project, Velcro Hunter

Velcro Hunter is a 2D platforming game created for a 3-week course on indie game development. As Sir Quentin Salisbury, velcro hunter extraordinaire, players must use velcro to navigate treacherous terrain and rescue endangered animals.

Play: WebGL build
Roles: Programming, Design (team of 3)
Period: January 2014
Skills: Unity, C#, Photoshop, Illustrator


» Programmed player movement, enemy behavior, and enemy collection systems
» Designed the levels, secrets, UI, and parts of the gameplay
» Organized documentation and game assets

Class Project, Lovers in a Dangerous Spacetime Demake

Developed as a final project for a HTML / CSS-based class, this is a demake of Asteroid Base’s Lovers in a Dangerous Spacetime. Made using Construct 2, the game features local co-op, whereby one to two players may individually control various parts of the ship in a bid to survive the endless waves of aliens.

Play: HTML build
Roles: Programming, Design, Art (team of 1)
Period: April 2014 – May 2014
Skills: Construct 2, Illustrator


» Created all gameplay systems in the free version of Construct 2
» Implemented the enemy wave system, which includes enemy spawning, player detection, and player tracking
» Made all art assets (excluding the background) in Illustrator to emulate the look and feel of Lovers in a Dangerous Spacetime

Class Project, Beardpunzel

Beardpunzel was developed as a final project for an introductory game development class. It is a lighthearted 3-player board game where players are princes trapped at the top of a tower. Using their magical beard-growing powers, players must race to be the first to lower their beards down to the princess at the bottom, who only has enough room on her horse to rescue a single prince.

Play: Instructions manual PDF | Printable PDF of the board and its pieces
Role: Design, Art (team of 1)
Period: November 2013 – December 2013
Skills: Illustrator


» Designed using iterative prototyping and testing
» Created the art of the game board and manual using Illustrator