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.
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.
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.
Reflection
As I had no prior experience with game engines, I had to learn how to use Unity to develop our game almost entirely on my own, which was an intimidating thought. To make it more manageable, I simplified the task by splitting it into smaller pieces, which I would focus on one at a time based on importance and difficulty. An example of this is how I built the main mechanic, by first focusing on the most basic aspect—switching between animals—before moving onto the next part—the splitting. By the end of the project, I had gained not only experience in using Unity, but also more confidence in my programming and self learning abilities.