A computer game start screen

3 Animals in a Trench Coat

Role

  • Developer
  • Game Designer
  • Level Designer

Team

  • Michelle Lin - Environment Artist, Game Designer, Level Designer
  • Jenise Cheung - Character Artist, Game Designer, Level Designer

Tools

  • Unity & C#
  • Visual Studio Code

Context

Semester-long project for Advanced Game Design course at SFU, January - April 2024.

Process

Project Overview

3 Animals in a Trench Coat is a 2D top-down puzzle adventure game about a parrot, a monkey, and a dog who disguise themselves as a human and accidentally join a spy organization. Controlling the three animals, the player must use their different abilities to solve puzzles and complete missions without revealing their true identities.

Development

The core mechanic of the game is that the player switches between the animals to select which one to control, and can split one off from the stack to move separately.

Switching between the animals in the stack. Video clip from final game.
Splitting an animal from the stack. Video clip from final game.

This was the first mechanic I had to prototype for our game.

To start, I simplified the task by focusing on switching between the three animals within the full trench coat stack (as in, none of them separated from it). First, I tried having a separate object for each animal being selected, and when the player switched characters, the first animal's object would be hidden and the second would appear in its place. However, I soon found that when a hidden object was made active again, it can briefly be seen in its original position before teleporting to the new location, and after trying multiple ways to fix this issue, I decided to change the basic structure of the mechanic's implementation.

The teleportation issue when using different objects in character switching, recreated in Figma.

I changed my approach to have one object for the trench coat stack and to change the sprite when a different animal was selected, with a variable in the script holding the value of the current animal. When this method worked without problems, I started implementing the splitting mechanic using the same principle of having one object with three sprites for the stack of two animals, and had a separate object for each individual animal.

The first prototype of switching and splitting.

Reflection

As I had no prior experience with game engines, I had to learn how to use Unity to implement the different aspects of our game almost entirely on my own, which was an intimidating thought at the beginning of the project. However, by the end of it, I had gained not only experience in using Unity, but also more confidence in my programming and self learning abilities.

Final Game Trailer