top of page

Play 60

Freelance Unity Developer

- 4 months -

October 2018 to January 2019

​

App Store Download

Play Store Download

Summary:

​

Worked a 4 month contract as a freelance developer for Relish Interactive. Commuted from Hamilton to Toronto 4 days a week. Working with a team of developers, creatives, and publishers in Toronto and Ottawa.

Developed using Unity and published on the App Store and Play Store for the mobile market.

​

My responsibilities mainly focused on programming and implementing Red Light Green Light, one of the three mini games for Play 60.

​

Task Breakdown:

​

Understanding Relish's Work Environment

​

I came into this project at the start of production, and needed to learn the practices in place for communicating the work that needed to be done and the framework that programmers had already setup. With the help of very talented teammates it took me 2 weeks before I was up and running on my own. I still seeked guidance and asked questions when needed during the 4 months I was there.

​

I became well knowledged in the JIRA agile board workflow, and studied up on programming patterns such as the MVC architecture.

​

Also, it was my first experience with "pull requests" where other developers reviewed my code before I merged them.

​

Player Input

​

A lot of the systems we were creating needed to be reusable so that all three mini games could utilize them. The first and biggest reusable task was the player input. We were using the devices motion input in a couple different ways.

​

The system in place for detecting input was a collaboration lead by one of my tech leads. Once the input system was finished I created a script that would use what I needed for Red Light Green Light. This system went through many iterations after the first few builds were shared with the team.

​

Opponent AI

​

In Red Light Green Light there are opponents in the background. They needed to dance and stop the same as the player, but also get knocked out depending on the stage selected. In Practice Mode they're knocked out for good, while in Challenge Mode they respawn throughout the time elapsed.

​

I created a base class that the player and opponents would inherit from, which really came down to just switching their states. Their behavior for getting knocked out was predicted based on the time remaining in the round and respawning generated a brand new avatar without repeating the previous team.

​

Visual Effects

​

The main mechanic of Red Light Green Light was for the lights to change between green and red. It was intended for a young audience so the difficulty wasn't related to the lights switching. Each light's duration lasts long enough for the player to earn points without getting frustrated.

​

The switching of light states was not complex at all, however the visual for the lights changing was interesting. I needed to create a shader for the background platforms and the skybox to change accordingly. With very little experience of shader coding myself, one of the Game Designers in Toronto was kind enough to teach me. He shared a shader that lerped between two textures. I added that to a 6 sided skybox shader that formed the skybox.

​

I also implemented the particle effect for Red Light Green Light. Even though the player would be shaking their device during green light, the addition of the thumbs up particle was to communicate that the player is interacting correctly.

​

Cameras

​

Near the end of development I had the opportunity to add some polish. The red state of Red Light Green Light was a little stagnant seeing as the characters on screen were standing still, so the solution was to add camera movement.

​

I had the opportunity to work with Cinemachine allowing me to create camera dolly movement with ease. The camera angles and transitions was a collaboration between creative and myself. The creative lead was in Ottawa so we would communicate via text conversation and the occasional screen capture.

​

Outcome:

​

Play 60 was released on iOS and Android, with positive reviews all around.

​

Worked alongside extremely talented and knowledgeable developers providing insight into best practices for team management and programming discipline.

bottom of page