Welcome

portfolio loading...

Eugene Chiong

Welcome to my personal website

/ about me

View / Download My CV

my skills

Software Engineering

My greatest passion is to write code. Nothing beats turning an idea into reality with nothing but a computer. My strength is in creating efficient and effective solutions and I maintain a high standard of code quality and cleaniness as well as highly scalable code. One of my interests lie in writing code that benefits other people.

Python

C#

Java

C++

Web Programming

Beautiful and responsive websites inspire me to strive to better myself in web design. I aim to stay at the forefront of web design technology, such as AngularJS and Node.js

Javascript

Node.js

AngularJS

HTML/CSS

SQL

jQuery

Bootstrap

Visual Design

One of my interests lie in digital special effects and art. Much like programming, creating masterpieces from scratch with just the brush of a few applications is exhilarating.

Photoshop

Illustrator

Premiere Pro

After Effects

NukeX

Software and Technologies

Through many different projects I have done over the years, I have familiarized myself with many software and technology stacks - these are some of the more widely used ones I am very comfortable using.

Unity

Git

Ubuntu

Visual Studio

GLSL

/ resume

my work experience

Full Stack Developer

Glints Intern

May 2015 - August 2015

Integrated a powerful, widely used search engine (ElasticSearch) into the platform, allowing for users and companies to search and filter content.

Integrated social media account login features into the platform, opening up more options for users to sign up.

Added various visual and functional features to the user dashboard to improve the user experience.

Technical Lead Intern

Gametize

January 2015 - April 2015

Developed a rule engine that govern all content progression for clients to create infinitely scalable rules for all elements in the game, allowing for a much more immersive user experience.

Developed data analytics framework for clients to view usage statistics.

Created database-agnostic SQL query builder for scalability across different database types.

Comprehensive revamping of code for better scalability and maintainability.

Set up environments for clients to host and administer the Gametize application.

Vice-President (Operations & Projects)

NUS Students' Computing Club

September 2012 - August 2013

Supervised all annual projects, such as the Freshmen Orientation Week, to ensure that the budget, logistics, manpower, and programme were robust.

Planned and coordinated Rag and Flag for School of Computing, as well as several induction activities for interested freshmen.

Research Intern

DSO National Laboratories

August 2008 - November 2008

Pioneered and implemented an algorithm for Unmanned Ground Vehicles that used SONAR to determine its location by using relative positions of obstacles around the vehicle.

my education

Master of Entertainment Technology

August 2015 - Present

Expected graduation: Dec 2016


Courses Completed

Building Virtual Worlds
Interactive Storytelling
Improvisation acting

Bachelor of Computing (Computer Science)

August 2011 - December 2014

Bachelor of Computing (B.Comp), Honours, Computer Science

Specialized in Interactive Digital Media and Visual Computing

Cumulative Average Point: 4.29 (Second Class Upper)


Courses Completed

Digital Media Productions
Software Engineering
Computer Graphics
General Purpose Computation on GPU
Computer Vision and Pattern Recognition
Networks
Interaction Design
Operating Systems


Academic Projects

3D Gesture Recognition with the Leap Motion
January 2014 - December 2014

Context Based Newsfeed
October 2013 - November 2013

Do you have a project, ideas and you want to get started ?
Don’t hesitate feel free to get in touch with me.

/ portfolio

check out my works

  • Unity Game Development Scripts
    Open-source tools

  • Pong Pong Frog
    2D competitive arcade-type game

  • Toilet King
    Rhythm game with unconventional instruments

  • Fiore
    2D game using a harp as a controller

  • Shock Ninja
    2D side-scrolling Kinect game

  • Space Escape
    3D Oculus VR game

  • Big Hero Unlimited
    Disney Imaginations Competition

  • Personal Ubuntu Server
    Physical server

  • 3D Gesture Recognition on Leap Motion
    Thesis project

/ contact

my contact information

  • Email : [email protected]

  • Mobile : +1 412 499 1661

  • LinkedIn: eugenecys

Unity Game Development Scripts



A series of scripts useful for an aspiring game developer to make games on Unity. These scripts include a Singleton interface for C# on Unity, an time-based Event Manager to queue and trigger any number of functions ordered by execution delay, a checkpoint system, and more.



Over the course of designing and engineering games throughout the Building Virtual Worlds course, I created a set of generic game scripts and improved on them over each game I made, and they can be applied to and used in many of the other games created in the course. These scripts benefitted several of my peers greatly, not only shortening the amount of code they have to write, but also helping keep their architecture organized and clean.

The scripts are found on my GitHub.

Pong Pong Frog


Engine: Unity 5.1

Duration: 1 Week

Language: C#

Platform: Jam-O-Drum


Team composition: 2 Programmers, 2 Artists, 1 Sound Designer



A competitive arcade-styled game, Pong Pong Frog pits between 2 to 4 players against one another, each competing to be the reigning player. Played on a Jam-O-Drum platform - a custom built machine with 4 turnable discs and pads - each player controls a frog by turning the disc to steer the frog and hitting the pad to make it jump.

The game takes place in a pond, with several lilypads scattered around for the players' frogs to leap onto. The objective is simple: To knock other players' frogs off their lilypads, in which they earn points for a successful attempt, and to avoid getting knocked off tbemselves, in which they lose points. It quickly got popular as players picked up the game easily and started challenging their friends to the game.




Created in one week by a team of five of us, Pong Pong Frog was designed to be simple, brainless, and fun. With two programmers on the team and one week to create the game, I designed the code architecture and logic flow behind the game while the other programmer worked on the algorithms.

Toilet King


Engine: Unity 5.1

Duration: 3 Weeks

Language: C#

Platform: PC + Custom Props


Team composition: 2 Programmers, 2 Artists, 1 Sound Designer



Toilet King takes on a different style of the popular genre of rhythm-based games. Rather than using popular controllers such as the keyboard or instruments such as the guitar, Toilet King uses commonly found objects in the toilet and turn them into instruments.





The game is set in the back stage of a rock concert hall, where a popular rock band is playing their gig. Guests play as aspiring rock stars, there to demonstrate their skills to the band manager. The band manager tests them by having them pit their skills against one another using "toilet instruments", allowing them to choose between the following sets of instruments:


A toilet bowl and a plunger

Two floor scrubs

A mirror, a rag, and a spray bottle

Two trash cans



The players will then listen to a music track and look for their respective symbols to appear on the screen, to which they will have to "play" their instrument according to the beat of the music. Points are awarded on the accuracy of the players' performance, and the winner is the one with the highest score.



My role in this team was to design the structure of the code and to build the props needed for the game. Being the fifth and final game I made in the Building Virtual Worlds course, a large portion of the code I contributed was reused from previous games. Programming-wise, I designed the mechanic for the game to match the rhythm of the music to the players' performances. I also designed the game such that the "beatmaps" (files containing the details of the beats each player has to play) could be loaded on runtime and be dynamically changed by the sound designer, easing the workload on the programmers.

Fiore


Engine: Unity 5.1

Duration: 3 Weeks

Language: C#

Platform: PC + Custom-made harp


Team composition: 2 Programmers, 2 Artists, 1 Sound Designer



A game focused more on storytelling than gameplay, Fiore tells the story of a mystical bird learning how to fly. Along his journey, he faces some trials and tribulations, ultimately overcoming them and becoming an adult.




My role as one of the two programmers on the team was to design the logic and flow of the game. Additionally, I helped in the construction and of the harp, which was then painted by the rest of the team. Being a story-based game, it was heavily event-driven, which led me to design a event manager.

As a personal challenge, I designed the event manager to be easily understandable, which enabled the rest of my team to help add and polish the events happening throughout the entire game.

Shock Ninja


Engine: Unity 5.1

Duration: 2 Weeks

Language: C#

Platform: PC + Kinect


Team composition: 1 Programmer, 1 Artist, 1 Sound Designer



Shock Ninja is a 2D platformer puzzle game where the player is a person made out of wires. He/she can conduct electricty, thereby powering up circuits by connecting them to a power source with his body.

In the game, a power station in the city has failed, and the player is called to help restore power. The player is then tasked to connect broken circuits with his body and finally charge up the main power core to bring the power back.



I was the sole programmer on the team in this game. Most of the two weeks given was spent designing the mechanics behind the game and streamlining the level creation process, where I made Unity prefabrications for all game elements, allowing for quick and easy creation of new levels by dragging and dropping the elements into the level.

Space Escape


Engine: Unity 5.1

Duration: 2 Weeks

Language: C#

Platform: Oculus Rift + PS Move


Team composition: 2 Programmers, 2 Artists, 1 Sound Designer



Space Escape is a 3D puzzle game using the Oculus where the player is a friend of a robot on board a space station. A meteor strikes the station while the player is on-board, throwing the entire station into disarray. The player has to use his/her tractor beam to shift around floating platforms in order to make a path towards the exit.



In this project, I split my work evenly with my fellow programmer, with him working on the architecture and the floating platform system, while I worked on the AI of the robot, a pathfinding algorithm, and the tractoring system.

Big Hero Unlimited



Disney's Imaginations is a design competition hosted by Walt Disney's Imagineering team annually. This year, the theme of the competition is to design a travelling experience that will tour small towns across the United States, operating for two or three days in each location and takes less than a day to set up and break down.



My team came up with a concept of a mobile theme park, named "Big Hero Unlimited", with the idea of it being a mobile training academy for budding young heroes, and the trainers are the 6 heroes featured in the Big Hero 6 movie.



The theme park concept consisted of several collapsible attractions that can easily fit into container trucks for transportation, such as a large bouncy castle on Baymax's stomach, 4D rides, or live shows. In the competition, we detailed implementations of all the attractions, feasibility, finances, and logistics.

Personal Ubuntu Server



As part of a bid to learn how to use a *nix system, to get comfortable working with command line, and to address the growing need for space, I decided to build a home server that served as a Network Accessed Storage (NAS).

As the primary purpose was to have as much space as possible, I went with an ultra-low power build with 6 SATA HDDs, all within a tiny mini-ITX casing. The whole project took me one day to build and a few days to configure.



3D Gesture Recognition on Leap Motion



Pioneered a 3D gesture learning and recognition algorithm for Leap Motion, using a modified k-Nearest Neighbours algorithm. The algorithm can reliably recognize up to 60 gestures, and works for both temporal and static gestures.





Context-based Newsfeed



As Facebook users' social network expands, the relevance of the content shared on their newsfeed may get less relevant to them. This project used machine learning approaches to find content relevant to each user based on their browsing habits.