Sounds Around the Pokemon World! Expanding the Adventure Experience with Sound Design! Part 2: Environmental Sound Effects

This article is a note for the following presentation: https://cedec.cesa.or.jp/2023/session/detail/s6429a1da844ee

History of environmental sounds in the Pokemon series

Environmental SFX first appeared in Pokemon HeartGold/SoulSilver. SFX such as windmill spinning and water flowing were added to create a realistic experience. Back then, these SFX were mapped in the game manually, which caused intensive labor in development and debugging. The costs of SFX implementation increased after Pokemon Sun/Moon, especially in Nintendo Switch titles containing large maps.

Environmental SFX from now on

To create in-game reality, the following sounds have already been added to the game:

  • Pokemon cries (which was already introduced in Part 1)
  • Ambient sounds that match the theme of the field
  • Off-screen sounds
  • Sounds that create a feeling of traveling
  • Weather-related sounds

Automatic placement of environmental SFX

Sound playing using shapes

In Pokemon Legends: Arceus, triggers of basic shapes were utilized to play sounds:

  • If the listener is inside the trigger area, then the sound is played from the emitter in the center of the area.
  • If the listener is somewhere near the trigger area but not inside, then the sound is played from the emitter placed at the nearest outer edge of the area.

This method may cause problems such as

  • High costs
  • Not being able to handle topographic changes
  • Handling complex terrain, such as river, could be difficult since it is hard to decide which point should be used to play the sound

Sound playing using multiple points

Hence multiple points are used. After including data for each point, the placement of environmental SFX will be finished automatically. No matter how many coordinates there are, only one sound will be played.

EnvSound system

This system is developed to utilize the multiple-point playing method better. It has the following steps:

  • Retrieve a list of points
  • Send the points that are audible to Wwise
  • If there is more than 1 point, then play the sound, otherwise stop it

Properties to look for in points by type

Wood -> Location
The sound of woods should be heard from a visible position, but since every tree in the game, as a GameObject, has location coordinates, adding EnvSoundComponent should be fine.

Water -> Direction
It is necessary to help players detect the location of a river or sea using sounds. Therefore, terrain information is added using Houdini. Along the borderline between water and land, a point is plotted every 5m. Meanwhile, information such as water type (river, sea, or lake) is also tagged.

Grass -> Density
The sound of grass should be different depending on its density. Since the data of grass coordinates are enormous, it would be better to collect grass information by grids in real time. Upon the player’s movement, the area to be loaded/unloaded will be updated. When the load/unload process exceeds a certain level, the sound from the previous frame will be carried over to the next frame.