top of page
game-title-logo.png

Living Photograph Game

​The game is an audio–focused (not audio–only) experience where you explore the calm but unknown woods by orientating yourself using the sounds of the world around you. While a map is available to help players understand the shape of their surroundings, audio feedback should allow you to "feel" your surroundings by only listening as the world inside and outside the photograph evolves as you walk.

Feeling the leaves

To allow players to feel immersed in the world I created, I designed and implemented a system that gives audio and visual feedback when walking by the bounds of the map as if they had extended their hands to reach for the bushes, rustling the leaves.

The system detects when players bump into the map limits and using collisions, raycasts and distance I change the pitch and direction of the audio source to give players a sense of the shape of the map bounds.

​

Different types of barriers

To facilitate level design, I developed the system in a way that allows modifying the audio clip and play rate if the object the player bumps into is made out of a different material. For example, a metallic fence's audio clip might make more sense to play at a faster rate to simulate the character touching each of the fences' links.

The footstep travel distance is used to calculate the audio clip play rate to be able to adapt to player speed. If the player moves slow through an area the audio shouldn't play until a certain distance has been traveled.

Known limitations:

The system might not behave as expected if an area is too narrow where the character's reach radius can touch the map bounds on both sides. This could cause the audio source to immediately move between both sides if the system detects one side closer than the other.
To fix this we could prevent the audio source from moving if the angle relative to the player is greater than a specified value.

For the final sequence where the player climbs up a mountain I developed a system that dynamically plays music tracks designed to give the player the feeling that they're making progress reaching the top.

The system is designed to accommodate multiple stages. The audio track I used required only 4 stages including the final stage where the song transitions to a calm outro track to roll the credits and fade out music.

​

I developed this system to also give feedback to the player in case they decide to walk back down. I believed the music had to reflect that.

​

Things I learned:

To more easily manage audio for all systems in the game I implemented a Pooling system using Unity's Object Pooling that creates multiple audio sources and requests them as they're needed in the game for multiple purposes. This system was very useful here to avoid using only one audio source to play one track after the other.
Instead, the system requests an audio source to play the next track while the previous track is either fading out or stops. This way we can have tracks that overlap and prevent issues where switching tracks can produce artifacts.

Music Stages Controller

Main Menu

I wanted the main menu to feel special for this game and explore the idea about the photograph being alive.

The menu doesn't have too many settings. I could've extended an existing main menu system but I created one from scratch.

​

I learned a lot about navigation using different input methods, as well as understanding what types of customization my game would require to make it more accessible and enjoyable.

Adding an inventory system allowed me to add more content to the game. I designed notes the player could read and added a key to unlock areas. 

The core inventory system was made by GameDev.Tv and I extended its functionality to fit it to my game.

​

I designed a small UI that allows players to interact with objects and drop them as well. The main button updates depending on the situation, helping players understand what actions are available for each item.

​

Inventory System

Game Tips System

To guide players who might be having a difficult time exploring the map and help them understand how to use certain features, I implemented a Game Tips system.

These tips are added to a queue from other systems and players can dismiss them one at a time.

Tips can be called by other systems or through an object that tracks player proximity to point something out to a player at a specific location.

The game is audio-focused so multiple systems required playing audio clips that would overlap. I decided to use Unity's Object Pooling to create multiple audio sources that I would be able to reuse as they were required by any system.

Every footstep, rustling of leaves, bird singing, music stage, etc. would request an audio source to play the clip and return it to the pool.

Audio Source Pooling

© 2025 by Manuel Gonzalez.

bottom of page