Music Radio System
Games set in modern settings offer a wide selection of background music through the clever implementation of broadcasting systems such as radios. In this post, we will design such a system in AtomCraft, adding a vintage feel by simulating a dial to browse through the different channels.
As a radio station is just a playlist after all, we can simply use a Sequential Cue to embed all its music material. Each time this type of Cue is triggered, the next track – based on its position from top to bottom in the timeline view – is played. The Playback Mode of the Cue, once switched to PlayList, allows for all the tracks to be played sequentially without interruption from a single trigger. Of course, you can create as many Sequential Cues as you have radio stations in your game.
For every music, jingle, ad, talk segment that compose the station’s program grid, a new track should be created. Using a SubSequence on a track can also open a lot of possibilities. For instance, you could add a SubSequence of Random type to trigger random jingles. You could also use a Polyphonic SubSequence as a DAW-style multi-track timeline to create and edit interludes where the sound effects, music and voice over would be separated layers. Doing so not only makes it possible to use the dialogue localization features of AtomCraft to automatically switch the voice to the correct language, but also to use automation for mixing. In addition, keeping the assets in different layers makes it easier to update the materials without having to re-render everything.
Once all your radio stations have been created in their respective Sequential Cues, we can add an analogue radio tuning effect while browsing through them:
- First, create a Polyphonic Cue called Radio.
- In this Cue, add a track for each radio station.
- Then, drag and drop each Sequential Cue into their respective track to create Cue Links.
- Finally, create an additional track for a radio noise/static sound that you will have designed in your DAW.
If you play the Cue now, every station will play simultaneously which is… not the desired effect. We need to create an AISAC that will act as a dial to sweep the range of radio frequencies and pick up the stations associated with the different frequency bands.
- First, create an AISAC-Control called Frequency.
- Then, on the Radio Cue, use the Frequency AISAC to control the Volume of each track.
- Do the same to control the BandPass – Cutoff Low parameter of each track, except for the radio noise track.
- Now, for each radio station, draw a bell-shaped Volume graph on a small part of the Frequency AISAC.
- Spread the radio stations along the AISAC.
- Make sure to align the graphs for the Volume and the BandPass – Cutoff Low
- Finally, lower the Volume graph of the radio noise track when the volume of one of the radio stations is increasing.
You can now start playing the Radio Cue and sweep the frequency range using the AISAC, as you would with an analog radio dial. Simply move your AISAC cursor in the frequency bands of the stations to listen to them.
Download the full project below and start experimenting by creating different radio channels, it is quite fun to implement!