charlotte auger
shelter 3

Aug. 2020 to Mar. 2021
at Might and Delight

Unity (C#)

Steam page

Shelter 3 is a survival adventure with exploration elements as the player takes control of an elephant mother trying to lead a whole elephant herd to safety.

I joined our team of 10 people at the begining of the production phase and worked on the project until release. My main responsibility was to work on the various animals that would populate the environment of the game, secondarily I helped reworking some other gameplay features, built the UI for the game's menus and worked on bug fixing from content lock to release.

A lot of my work being focused on the behaviour and integration of animals, I worked closely to the animators and sound designers in order to bring them to life and try to have eveyrthing come together. I worked autonomously with regular feedback to iterate on each animal.

Animal behaviour : Most animals being there to add life around the player, they follow pretty simple behaviours. I used Finite State Machines to build both individual and herd behaviours for animals such as flamingos, buffalos, or herons. They have very limited interaction with the elephants so I spent some time iterating and reflecting on efficient solutions to have them react to the player's presence without overloading the animators and sound designers.

I also worked on setting up a waypoint system that would allow us to decide of definite paths for them to follow around the level design, as well as some form of streaming system to separate the in zones animals and have them pooled and active only if the player is close.
As functionnal as those system were it came to a cost regarding manual integration time and I learned that a better anticipation of the level building needs and more thought would have greately helped as it would have been more efficient to build a tool to help animal placement in the game's world.

Menus and Localization : I built the game's menus and took care of implementing player settings (including the input binding options using the third party plugin cInput), in the process I set up the UI to receive text from our localization system and made sure correct fonts are used from latin script to cyrillic and simplified chinese.