Format
All audio in Space Station 14 / Nuclear 14 is stored in the Resources/Audio
and _Nuclear14
subfolder respectively. All audio is in .ogg format and should be MONO not stereo and you can use many free online converters to change from your chosen audio format to .ogg.
Once you've chosen an audio file to add, you'll also need to create an attributions.yml
file which has all the copyright information in for that file or files. This looks like this:
- files: ["war_never_changes.ogg"]
license: "CC-BY-NC-SA-3.0"
copyright: "Bethesda Softworks."
source: "https://www.myinstants.com/en/instant/war-never-changes-fallouts-narrator-15365/"
Each file name needs to include the extension and be in quotation marks. You can separate files out with commas if you have more than one file from the same source. License is what the audio file is licensed under for copyright and usage. Copyright is the owner or creator of the audio works. Source is where you got it from.
Adding Ambient Music
After you've added your files to the relevant subfolder as shown above, now you'll want that music to appear in game. There's a various of places that you can specify audio in game. You can create a sound collection from multiple files as shown here:
- type: soundCollection
id: AmbienceWasteland
files:
- /Audio/_Nuclear14/Ambience/01-Radiation_Storm.ogg
- /Audio/_Nuclear14/Ambience/02-Industrial_Junk.ogg
The prototype is soundCollection, the ID is something unique to identify the collection, then we have a list of files.
If you head to Resources/Prototypes/_Nuclear14/audio.yml
you'll find some of our sound collections, rules and ambient music.
To add ambient music, we use the following prototype:
- type: ambientMusic
id: Wasteland
sound:
params:
volume: -12
collection: AmbienceWasteland
rules: NearWasteland
priority: 2
Unique to this prototype we have the collection:
which specifies a soundCollection ID as we made earlier.
rules
is something we will explore next. priority:
decides which ambientMusic takes priority when in range of many rules or sources.
Here's an example of a rule:
- type: rules
id: NearSupermarket
rules:
- !type:NearbyTilesPercentRule
percent: 0.25
tiles:
- FloorSteelCheckerLight
range: 3
This is telling the game that when more than 25% of the tiles near you are FloorSteelCheckerLight
that the NearSupermarket
rule is fulfilled and to play whatever ambientMusic is associated with that rule.
Adding Lobby Music
Similar to before, you can find most sound collections in Prototypes/_Nuclear14/SoundCollections
and our lobby music is stored in lobby.yml
. Adding your new files to that list in the LobbyMusic
SoundCollection will put it into rotation.
Adding Jukebox Songs
Jukebox songs are handled slightly different to what we've done so far. Because they're more in-game than the rest, they're stored in a catalogue of songs found at Resources\Prototypes\_Nuclear14\Catalog\Jukebox\Standard.yml
. Here we have jukebox
prototypes like this:
- type: jukebox
id: AKissToBuildADreamOn
name: Louis Armstrong - A Kiss to Build A Dream On
path:
path: /Audio/_Nuclear14/Lobby/a_kiss_to_build_a_dream_on.ogg
Pretty simple right? The name of what shows in the jukebox and the path to the file. Currently the jukebox just picks from all of these but in future we hope to have records to collect.