Xbox Game Studios Publishing, Unannounced Title


Role: Software Engineer
Period: July 2022 – Present
Skills: C++, C#, Perforce, ADO

Responsibilities:

» Research, implement, and share a wide range of technology for game development in a co-dev environment, based on user needs

Phoenix Labs, Unannounced Title


Role: Gameplay Software Engineer
Period: January 2022 – July 2022
Skills: Unreal Engine 4, C++, Jenkins, Perforce, JIRA

Responsibilities:

» Collaborated with 2 designers in prototyping a character with new mechanics
» Investigated (R&D) and integrated a 2D physics solution into an entity component system
» Implemented an input recording and replay prototype system controlled via ImGui

Square Enix, Kingdom Hearts III, Final Fantasy XVI


Role: Programmer
Period: June 2017 – August 2021
Skills: Unreal Engine 4, In-House Engine, C++, C#, ASP.NET, MongoDB, Jenkins

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

» 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

Responsibilities:

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