Dynamic Ambience System

When I focused more on dynamic audio one of the things that I wanted to explore more is ambiences and how they change accordingly. To do that, I have developed an ambience system prototype that is relying less on the samples themselves and more on the diversity of variables and interaction of the RTPC’s. For this project I have categorized the city ambience into 5 categories:


City Type(Switch Container): I assumed that a city can be a trading city, a farming city or a militaristic city for simplicity. They all mostly define what we’ll hear as specs. Clucking noises in the farming town while patrolling troop sound in militaristic city and may add some additional walla to the city

Weather(Switch Container): The weather is assumed to be clear, rainy,snowy or sandstorm.

Animals(Blend Container): General animal noises like birds, crickets, wolves, dogs which are also divided into 3 as daytime animals,nighttime animals and neutral animals which can be played any time of the day.

Walla(Blend Container): Divided into 2 as General Walla and Town Happiness which is essentially controlled by the general happiness of the town.

Wind(Blend Container): Even if it may look redundant with the weather category at first, winds aren’t always dependant of the weather itself. We may need additional wind to the rainy or a clear day.

I used blend containers for everything that should crossfade in a city while using switch containers for city type and weather as city type cannot be changed momentarily. It is also assumed that weather types don’t change momentarily in the project.
To control these audio categories I used these 5 switch groups:

City_Scale: dependant on the City_Scale game parameter,assumed as small medium or big

City_Type: Farming, Military or Trade for this example

Day_Night:Controlled by the game parameter Time, to have different animals and sounds etc.dependant on the time of day

Weather_Intensity: Controlled by the game parameter Weather_Intensity, can be Low,Mid,High

Weather_Type: Controlled by the game parameter Weather_Type can have Clear,Rainy,Snowstorm and Sandstorm for this concept

In addition to the switch groups I used these game parameters below to control these switch groups and use RTPC’S.

City_Scale

Player_Height

Thief_Sense(will explain this one later)

Time

Town_Happiness

Weather_Intensity

Weather_Type

As this is a concept work, you’ll hear a lot of repetitions in the ambiance while playing the city dependant sfx as they will be bound to the gameobjects inside the area rather than playing by itself in the game.

The City_Scale parameter controls the size of the crowds and lets the ambiance change between a smaller scaled walla or a more intense walla, it also changes the loudness of the other voices like animals or the city dependant sfx. The more the city scale increases the lower the animal noises and sfx get and vice versa.

The Player_Height is an RTPC directly controlled by a game parameter called Player_Height. This parameter lets the ambiance change dynamically depending on the current height of the player. Basically more of the city ambiance becomes lowered while the effects like the weather becomes louder. The give the feeling of distance a bit of a low shelf and high pass filtered is applied and a bit of a reverb is added.

The Thief_Sense game parameter suggests a function that a lot of action adventure games have. The idea is that whenever this parameter becomes one, the ambiance changes so that the player only hears sound effects and details rather than the whole ambiance itself to better navigate or focus in the environment.

Time: Going from 0 to 24, it is used to control day_night cycle and change the ambiance according to the daytime.

Town_Happiness: Shows the general happiness of the town, the happier a city gets, the ambiance will feature more items like children playing. If this parameter decreases, there will be a lot more cries and begging on the streets and in the ambiance.

Weather_Intensity: The higher this parameter gets, the stronger the winds or the rain or snowing gets. The ambiance and the RTPC’s follow that.

Weather_Type: Controls the Weather_Type switch group.

One of the goals of this project is to use the game parameters to change the ambiance as much as it can be changed. To do that, the project uses the game parameters and change almost every ambiance containers,either by changing the sfx(like hearing birds in the daytime and crickets at nighttime) or adjust the sounds by using RTPC’s to change the volume, pitch,reverb send level and different filterings.