Ryan Crinnion
This project is a short game experience that contains a deep relationship between input, music, and visual feedback. Its purpose is to explore the effects of having these three elements of game design so interwoven. The intention of developing the game was to explore the implementation of these audio features in a game development project. The game has a nautical setting, in which the player must sail a boat to collect musicians from different islands, and they will contribute to the music playing in the background.
This is a game I made using Unity 6. The development of the game was lead by the exploration of implementing adaptive audio into a game. The audio engine of the game uses FMOD, which directly integrates into Unity through a Unity plug-in. Audio files are put into FMOD Studio, and configured there, then built and imported into Unity where they can be accessed like normal assets.
The music for the game was made using Ableton 11. All of the music in the game is music I wrote and composed myself. The audio tracks of the music were exported individually and put into FMOD, where they would be rebuilt. This allows me as the developer to manipulate the individual layers of the songs, meaning I could change things like volume, pitch, reverb, EQ, and more on an individual instrument level.
The idea for giving the game a nautical setting came from wanting to express the freedom that music gives to the musician, as in this game the player acts as a composer changing the music as they play. As the player navigates the world, the music they choose to play changes the atmosphere, weather, colours and soundscape of the game.
Developing this game gave me a lot of insight into game development and especially working with audio. I learned a lot about good practices and game development principles, and really refined my C# skills. Developing a game requires a certain approach to thinking and structuring the project in your head, and the best way I found to learn this approach to thinking is by getting first-hand experience and just making anything. Game development is fun!
The highlight for me is the water simulation and shaders. To make the boat model look like it is floating, there is a script that simulates the ocean waves and manipulates the position and rotation of the boat using invisible floaters on each corner, which runs on the CPU. These are what let the boat model rock back and forward as waves pass under. Then for the visuals, the position of each vertex in the plane that makes the water is manipulated on the GPU level, using the same formula as the one rocking the boat. These match and give the illusion of the boat physically floating on the water.
The game also contains an inventory system, and a save system, so if the player decides to close the game and come back to it later, they can. They will keep their inventory, and position, and skip the tutorial if they had passed it.
This document explores the development of creating an interactive 3D environment where the accompanying music reacts to the user’s input. To carry out this project, a short game made in the Unity 6 game engine was developed, integrating FMOD to handle the adaptive audio. The purpose of the game is to contain a short gameplay experience in which the player can explore the world while influencing the music and sound effects that are playing, and the game responds to this by changing the visuals and triggering gameplay events. The steps involved in the development of the system involved researching adaptive audio in media, creating original music and graphics for the game, creating a game environment and integrating the audio into the game using the FMOD audio engine. Testing was carried out throughout design and implementation.
The research, design and implementation, testing methods and results are discussed in this paper. The result of this project was a short gameplay experience where the player collects various tracks and expands upon them by further exploring the world and adding to the music.
Hi! My name is Ryan, and I'm super passionate about creative applications for code. I love thinking outside the box and getting invested in ideas that I have, and I love practical development for tangible projects. I enjoy web and game development, as well as physical computing. I often participate in game jams, and am constantly thinking of new ideas for my next project. I also write my own music for these games, as well as music in general, and have a keen interest in working with audio in particular. The course I studied lets me bridge the gaps between all these passions to be the best creative that I can.