NetherRealm Studios, Injustice 2
I am currently working on engine-related systems, features, and bug fixes at NetherRealm Studios as an Associate Software Engineer. The position is equivalent to an internship.
Role: Associate Software Engineer (team of 30)
Period: June 2016 – March 2017
Software: 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, Unannounced Title
I worked on the gameplay systems of an unannounced AAA title at Ubisoft Singapore as a Gameplay Programming Assistant. The position was roughly equivalent to an internship. As I had to return to Chicago to finish my bachelor’s degree, I was only able to work there till the end of my summer break.
Role: Gameplay Programming Assistant (team of 30)
Period: May 2015 – September 2015
Software: 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
Software: 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
Software: 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.
» 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.
» 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.
» 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
Software: 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
Software: 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.
» Designed using iterative prototyping and testing
» Created the art of the game board and manual using Illustrator