SnowRunner

SnowRunner

Discover a wealth of new maps, vehicles, modes, and more, all created by the community! Discover something new every day and expand your SnowRunner experience.

Find the game on Epic Games, Xbox, Playstation, Facebook, Twitter, Instagram, Reddit, Forums, Discord.

SnowRunner™ Editor Guide. Part #3

Part #3 of this guide continues the description of the map creation process (Chapter 5, from 5.12 to 5.15). It covers such aspects as: Sounds, Sound Domains, Zones, and Objectives.

2 comments

Posted by on (updated ago)



UPD: ===============================================================

Unfortunately, we have issues with updating the web version of this guide due to the large size of our guides (we have reached max limit for pictures for an account, etc). Sorry for that.

However, you can find up-to-date versions of guides in PDF format here: Drive.google.com

On the PC platform, the same guides are available at the folder of the *installed game* within the "...\en_us\Sources\BinEditor\Guides" directory.

Or, you can open the folder with the documentation package directly from SnowRunner™ Editor, by selecting Help > Guides in its main menu.

===================================================================




Quick links to parts of this guide:

  • Part #1 - Introduction to SnowRunner™ Editor: First Launch, UI, File Paths (Chapters 1 to 4)
  • Part #2 - Creation of a Map, beginning (Chapter 5, from 5.1 to 5.11) that covers:
    • Terrain
    • “Geometry” Brushes
    • PBR Materials
    • Snow and Ice
    • Models
    • Plants
    • Distributions
    • Overlays
    • Rivers and Water Objects
    • References
    • Trucks
  • Part #3 - Creation of a Map, continuation (Chapter 5, from 5.12 to 5.15) that covers:
    • Sounds
    • Sound Domains
    • Zones
    • Objectives
  • Part #4 - Post-production operations: Packing a Map, Testing a Map, Publishing a Map, Playing on a Map (Chapters 6 to 10)
  • Part #5 - Viewing Trucks (Chapter 11)

If you want an offline copy, you can download the full guide in the PDF format here.


5. Creation of a Map

... (for sections 5.1-5.11 of this chapter, please refer to the Part #2).

5.12. Adding Sounds

To add a point source of the 3D sound to the scene:

  1. Right-click the terrain (or the Sounds section in the Scene View) and select Add Sound.
  2. A locator indicating the sound actor will appear in the scene. Move the appeared actor to the necessary area of the scene:
    96 adding sound 1
  3. To set the properties of the created sound actor, select it in the Scene View panel, within the Scene > Terrain > Sounds section of it. Properties of the actor are displayed at the lower part of the Scene View panel:
    97 sound properties
    You can specify the following properties:
    • Name - The internal name of the sound actor in the Editor.
    • Sound file - the sound that this actor will play. Since our actor is a 3D sound source, the sound file for it must be MONO. In this field, you need to specify the path to the sound, including its name without file extension. In the case of the custom sound file, the path must be specified relative to the Media\sounds directory, with “/” as path delimiters (see "5.12.2"). For in-game sounds, see NOTE below.

      NOTE: Along with custom sound files, you can use the sound files used by the game. All these sounds are stored in the shared_sound.pak archive, in the [sound] directory.
      In the Sound file field, you need to specify the path relative to the [sound] folder. When specifying a path, you can use either slashes (“\”) or backslashes (“/”), and you should not specify the file extension of the sound file.
      For example, if you want to play the sound located in the shared_sound.pak at the following path: [sound]\actors\actor_electric_01_loop.pcm, then you need to specify the following value in the Sound file field: actors/actor_electric_01_loop

    • Volume - the playback volume. The default value is 1 (the maximum, initial volume of the sound file). If you specify values in the [0,1] interval, the volume of the sound file will be multiplied by this parameter (and the sound will be decreased correspondingly).
    • Distance section - the section that sets the sound distances (in meters):
      • (Distance) Min - the sound volume will be played at its maximum within a sphere with a center in the source of the sound and a radius equal to the value of this parameter. For example, in the screenshot of the properties above, there will be maximum volume within a radius of 10 meters from the actor.
      • (Distance) Max - the hearing distance. The sound volume will change from its maximum value to zero between Distance Min and Distance Max.
    • Loop delay (Min, Max) section - delay in seconds for the recurred playback of the sound. If both Min and Max values are zero, then the sound will play continuously, without a pause. If these values are not equal to zero, then, after the playback of the sound is finished, there will be a pause. The length of this pause will be in the range of [Min, Max] seconds (a random value will be taken from this range). After the pause, the sound will be played again.
    • Conditions - if this parameter is not specified (the field is empty), the sound will play at any time, during day or night. However, you can limit the interval during which it can be played:
      • If you want to play your sound only during the day, then you should set this parameter to DAY_FOREST, DAY_WIND
        Please note that these two comma-separated IDs are the single value of this parameter, not the two values (see the screenshot above). They cannot be used separately.
      • If you want to play your sound only during the night, then you should set this parameter to NIGHT_FOREST, NIGHT_WIND
        Again these two comma-separated IDs are the single value of this parameter and cannot be used separately.

5.12.1. Adding Series of Sounds

When configuring a sound actor (or a sound domain, see "5.13" below), you can specify not a single specific sound file to be played, but a random alternation of the sounds from a specific set. For example, a barking of a dog can be played as a series of barking sounds, where each successive sound will be different from the previous one.

You can see that many series of the files in the [sound] directory of the shared_sound.pak archive have been designed that way.
For example, the set of sounds for a night owl, which you can find in the [sound]\amb\amb_us_autumn\amb_us_autumn_night_forest_owl\ directory, consists of 5 sounds. Each of these sound files has the suffix “__<N>” (the double underscore with a number) in the file name:

  • amb_us_autumn_night_owl_rnd__1.pcm
  • amb_us_autumn_night_owl_rnd__2.pcm
  • amb_us_autumn_night_owl_rnd__3.pcm
  • amb_us_autumn_night_owl_rnd__4.pcm
  • amb_us_autumn_night_owl_rnd__5.pcm

To configure the sound actor to play a series of these sounds, rather than a particular sound, you need to specify the name of one of these files without its “__<N>” suffix in the Sound file field of this actor (see "5.12. Adding Sounds" above). In this case, the whole series of these sounds will be played.

For example, to play in your sound actor all the files above, you can specify the following value of the Sound file parameter in the actor's properties:
amb/amb_us_autumn/amb_us_autumn_night_forest_owl/amb_us_autumn_night_owl_rnd

5.12.2. Adding Custom Sound Files

When configuring a sound actor (or a sound domain, see "5.13" below), you can use custom sound files in *.wav format.

To use a custom sound file, do the following:

  1. In the Media folder, create the sounds directory. This will be the root folder for all your custom sound files.
    For example, the full path to this folder may be similar to the following:
    C:\Users\<username>\Documents\My Games\SnowRunner\Media\sounds\

  2. Optional: You can create subfolders there to group some of your sound files. Names of these folders must not contain spaces, they can contain Latin characters, digits, and underscores.
    For example, you can create Media\sounds\my_directory folder there.

  3. Put your custom sound files in these folders, in the .wav format.
    For example, you can add Media\sounds\my_sound.wav or Media\sounds\my_directory\my_sound.wav

  4. In the Sound file parameter of the properties of a sound actor or a sound domain, specify the path to the sound file, including its name without file extension. The path must be specified relative to the Media\sounds directory, with “/” as path delimiters and without the file extension.
    For example: my_sound OR my_directory/my_sound
    custom sound

  5. When you pack your map, custom sound files used on it will be added to the .pak file.

NOTE: Along with standalone custom sounds, you can also add and use custom series of sounds, similarly to in-game series of sounds – see "5.12.1" above.

5.13. Adding Sound Domains

You can add 3 types of Sound Domains to the map:

  • Regular SoundDomain - sets the area where a certain 2D stereo sound will play. For example, using this object we can configure the playback of the water lapping in the swamp.
  • OneShotSoundDomain - these domains are designed to play single 3D sounds inside a certain ring around a player when he/she enters the domain. Sounds will be generated at a random position within this ring. For example, you can configure a sound of the rockfall using this type of domain. When the player drives near a large rock and enters the domain located near it, the player will hear that the sounds of crumbling stones will be played around him/her at a random position with a certain frequency.
  • NoMusicSoundDomain - these domains are designed to turn off the in-game music in certain areas. When the player enters the domain of this type, the volume of the music is gradually decreased to zero.

All these types of domains are added to the map in a standard way - by right-clicking the SoundDomains section in the Scene View panel and selecting Add <type of the added domain> in the context menu.

98 adding sound domains

After that, the domain will be created, and the area of this domain will appear on the map. By default, this area is a square with four vertices.

99 adding sound domains 2

You can edit the domain area in the standard way: move the vertices, add vertices to this area, or delete unnecessary vertices.
To add a new vertex, right-click this domain in the Scene View panel and select Add vertex from the context menu. Or, if you want to add a vertex at the particular position, you can select a particular vertex of a domain, right-click it, and select Add vertex in the context menu. In this case, the new vertex will be added in the middle between the selected vertex and the next one in a clockwise direction.

NOTE: If you want the domain to work correctly, its area must be convex. If you need to create a domain of a more complex shape, you need to compose it from several convex domains with the same settings.

After the setup of the domain area, if the domain is selected, you can configure its properties at the lower part of the Scene View panel.

9100 sound domain properties

These properties vary for different types of domains. They are described in the subsections below.

NOTE: The Sound file field (see "5.12" above), which sets a sound or a series of sounds to be played (for SoundDomain and OneShotSoundDomain domains), works the same way as for regular sounds. In this field, you need to specify the path to the sound, including its name without file extension. In the case of the custom sound file, the path must be specified relative to the Media\sounds directory, with “/” as path delimiters (see "5.12.2"). Along with custom sound files, you can use the sound files used by the game. All these sounds are stored in the shared_sound.pak archive, in the [sound] directory.
In this case, the Sound file field, you need to specify the path relative to the [sound] folder. When specifying a path, you can use either slashes (“\”) or backslashes (“/”), and you should not specify the file extension of the sound file.
For example, if you want a domain to play a series of sounds located in shared_sound.pak at the following path: [sound]\amb\domains\amb_dom_autumn_day_bog_frogs_rnd_set\,
then you need to specify the following value in the Sound file field: amb/domains/amb_dom_autumn_day_bog_frogs_rnd_set/amb_dom_autumn_day_bog_frogs_rnd
For more details on playing sounds and sound series, see "5.12. Adding Sounds" and "5.12.1. Adding Series of Sounds" above.

5.13.1. SoundDomain Properties

For a general description of a SoundDomain, see "5.13. Adding Sound Domains".

Properties of a SoundDomain are the following:

  • Name - the internal name of the sound domain in the Editor.
  • Sound file - the looped stereo sound that this domain will play. In this field, you need to specify the path to the sound, including its name without file extension. In the case of the custom sound file, the path must be specified relative to the Media\sounds directory, with “/” as path delimiters (see "5.12.2"). For in-game sounds, see NOTE below.

    NOTE: Along with custom sound files, you can use sound files used by the game. All these sounds are stored in the shared_sound.pak archive, in the [sound] directory.
    In this case, in the Sound file field, you need to specify the path relative to the [sound] folder. When specifying a path, you can use either slashes (“\”) or backslashes (“/”), and you should not specify the file extension of the sound file.
    For example, if you want a domain to play a series of sounds located in shared_sound.pak at the following path: [sound]\amb\domains\amb_dom_autumn_day_bog_frogs_rnd_set\,
    then you need to specify the following value in the Sound file field: amb/domains/amb_dom_autumn_day_bog_frogs_rnd_set/amb_dom_autumn_day_bog_frogs_rnd
    For more details on playing sounds and sound series, see "5.12. Adding Sounds" and "5.12.1. Adding Series of Sounds" above.

  • Overlay - the weight of the sound of this domain (from 0 to 1). The sound of the domain will be mixed with the main ambient sound of the scene with this weight.
  • Volume - the playback volume. The default value is 1 (the maximum, initial volume of the sound file). If you specify values in the [0,1] interval, the volume of the sound file will be multiplied by this parameter (and the sound will be decreased correspondingly).
  • Fading distance - the distance (in meters) from the domain border where the sound will fade smoothly from its maximum volume (at the domain border) to zero (at the fading distance). On the map, this area of the fading sound is displayed as the semi-transparent external area around the domain:
    9101 sounddomain fading distance
  • Conditions - if this parameter is not specified (the field is empty), the sound will play at any time, during day or night. However, you can limit the interval during which it can be played:
    • If you want to play your sound only during the day, then you should set this parameter to DAY_FOREST, DAY_WIND
      Please note that these two comma-separated IDs are the single value of this parameter, not the two values (see the screenshot of domain properties in "5.13"). They cannot be used separately.
    • ○ If you want to play your sound only during the night, then you should set this parameter to NIGHT_FOREST, NIGHT_WIND
      Again, these two comma-separated IDs are the single value of this parameter and cannot be used separately.

5.13.2. OneShotSoundDomain Properties

For a general description of a OneShotSoundDomain, see "5.13. Adding Sound Domains".

Properties of a OneShotSoundDomain are the following:

  • Name - the internal name of the sound domain in the Editor.
  • Sound File - the sound or the series of sounds this domain will play. Typically, for a OneShotSoundDomain, the suffix __<N> in the file name is also omitted (to play a series of sounds, see "5.12.1"). In this field, you need to specify the path to the sound, including its name without file extension. In the case of the custom sound file, the path must be specified relative to the Media\sounds directory, with “/” as path delimiters (see "5.12.2"). For in-game sounds, see NOTE below.

    NOTE: Along with custom sound files, you can use sound files used by the game. All these sounds are stored in the shared_sound.pak archive, in the [sound] directory.
    In this case, in the Sound file field, you need to specify the path relative to the [sound] folder. When specifying a path, you can use either slashes (“\”) or backslashes (“/”), and you should not specify the file extension of the sound file.
    For example, if you want a domain to play a series of sounds located in shared_sound.pak at the following path: [sound]\amb\domains\amb_dom_rolling_stones_rnd_set\,
    then you need to specify the following value in the Sound file field: amb/domains/amb_dom_rolling_stones_rnd_set/amb_dom_rolling_stones_rnd
    For more details on playing sounds and sound series, see "5.12. Adding Sounds" and "5.12.1. Adding Series of Sounds" above.

  • Volume (Min, Max) - the volume range of the played sounds. Each new sound will be played with a new random value of the volume from this range.
  • Radius (Min, Max) - these fields set a ring around the player, with the inner radius of the ring equal to the Min value and its outer radius equal to the Max value. Both Min and Max values are specified in meters. The sound will be played at the random point inside this ring.
  • Interval (Min, Max) - these fields set the minimum and maximum time intervals between sounds (in seconds). Each successive sound will be played after the previous one with a delay, and the value of this delay will be each time taken randomly from the [Min, Max] range.
  • Weather Intensity threshold - this field is currently not used. You should keep the default value of it, which is -1.
  • Conditions - if this parameter is not specified (the field is empty), the sound will play at any time, during day or night. However, you can limit the interval during which it can be played:
    • If you want to play your sound only during the day, then you should set this parameter to DAY_FOREST, DAY_WIND
      Please note that these two comma-separated IDs are the single value of this parameter, not the two values (see the screenshot of domain properties in "5.13"). They cannot be used separately.
    • If you want to play your sound only during the night, then you should set this parameter to NIGHT_FOREST, NIGHT_WIND
      Again, these two comma-separated IDs are the single value of this parameter and cannot be used separately.

5.13.3. NoMusicSoundDomain Properties

For a general description of a NoMusicSoundDomain, see "5.13. Adding Sound Domains".

Properties of a NoMusicSoundDomain are the following:

  • Name - the internal name of the sound domain in the Editor.
  • Distance threshold - the distance (in meters) from the domain border, at which the music volume decreases/increases.
  • Fade in time - the time (in seconds) for the fade-in transition. This transition will increase the volume of music (from zero to the volume set in the game) when the player is leaving the domain.
  • Fade out time - the time (in seconds) for the fade-out transition. This transition will decrease the music volume (from the volume set in the game to zero) when the player is entering the domain.

5.14. Adding Music and Ambient Sounds

Along with custom sounds, you can also add custom music and custom ambient sounds to your maps.

5.14.1. Adding Music

To add a custom music to your map:

  1. Prepare your music files.
    1. Format:
      44 kHz, Stereo, 16 bit, stored as .wav files.
      The recommended volume level for the music is -7db.

    2. Amount of files and their naming:
      Typically, we prepare a separate music track for each time of the day and a separate track for the Garage. We name these tracks using the name of the level as a suffix (see below). This seems to be a good convention.
      Name of the file Description For example
      <levelname>_day Track for the day. aspen_day.wav
      <levelname>_evening Track for the evening. aspen_evening.wav
      <levelname>_morning Track for the morning. aspen_morning.wav
      <levelname>_night Track for the night. aspen_night.wav
      garage_<levelname> Track for the Garage garage_aspen.wav
      However, if you want, you can use only one or two tracks and name them as you like.

    3. Length of the track:
      The length of each music track is up to you. Please note that each music track will be played on repeat.

  2. Put your music files into the Media\sounds\music\<name_of_level> folder:
    1. Create the Media\sounds\music folder (if you have not created it before).
      For more details on the location of the Media folder, see "4. File Paths and Naming".

    2. Create the subfolder of the level in this folder (e.g. aspen for level_aspen.xml) and put the music files there.
      3 music
  3. Create or modify the Media\classes\sounds\music_presets.xml file:
    1. Create the Media\classes\sounds folder (if you have not created it before).
    2. In this folder, create the music_presets.xml file (if you have not created it before).

      NOTE: If you have already created this file for another level, you need just to append it with new values corresponding to your new level (see below).

    3. In this file, for each level where you want to use music, specify links to your level and its music files, using <LevelMusic>, <Sound>, and <GarageMusic> tags and their attributes.
      For example:
      <MusicPresets>
      	<LevelMusic LevelName="level_aspen">
      		<Sound 
      			Name="music/aspen/aspen_night"
      			StartTime="24"
      			EndTime="6"
      			FadeInTime="30"
      			FadeOutTime="10"
      		/>
      		<Sound
      			Name="music/aspen/aspen_morning"
      			StartTime="6"
      			EndTime="13"
      			FadeInTime="30"
      			FadeOutTime="10"
      		/>
      		<Sound 
      			Name="music/aspen/aspen_day"
      			StartTime="13"
      			EndTime="20.5"
      			FadeInTime="30"
      			FadeOutTime="10"
      		/>
      		<Sound
      			Name="music/aspen/aspen_evening"
      			StartTime="20.5"
      			EndTime="24"
      			FadeInTime="30"
      			FadeOutTime="10"
      		/>
      		<GarageMusic
      			SoundName="music/aspen/garage_aspen"
      			FadeInTime="30"
      			FadeOutTime="10"
      			Volume="1"
      		/>
      	</LevelMusic>
      </MusicPresets>
      Where:
      • LevelName - must correspond to the exact name of your map without file extension (e.g. level_aspen for level_aspen.xml).
      • Name and SoundName - must contain the path to the corresponding music track, relative to the Media\sounds\ folder and without file extension. E.g., music/aspen/aspen_evening for
        Media\sounds\music\aspen\aspen_evening.wav
      • If you are using separate music tracks for different times of the day, as in the example above, you should keep the values of StartTime, EndTime, FadeInTime, and FadeOutTime. They are already set up for correct switching of the tracks according to change of daytime.
        However, if you want to change them:
        • StartTime and EndTime - specify the time of the beginning and end of the track, in in-game hours.
          E.g., the "13" value here will correspond to 1:00 p.m.
        • FadeInTime and FadeOutTime - specify the fade in and fade out duration, in seconds.
      • Volume - coefficient that corresponds to the volume of the music in the Garage.

  4. Open your level in the Editor, and repack it.

Now, if you have specified all values correctly, your level will contain music and you can test it by loading the level in the game. To switch between different times of the day, you can use the Skip Time feature on the navigation map.

NOTE: If necessary, you can remove the playback of the music within the certain area using NoMusicSoundDomain (see "5.13.3. NoMusicSoundDomain Properties").

5.14.2. Adding Ambient Sounds

TBD


5.15. Adding Zones

Using zones you can add to your map such in-game objects as Fuel Stations, Garage, Cargo Loading Zones, and so on. Along with that, zones can be used in various objectives (Contracts, Tasks, and Contests) that you may want to add for your map, see "5.16. Adding Objectives" for details.

NOTE: Zones cannot be used in References. They can be added there, but they will not work correctly on the target map when the Reference with these zones will be added to it.

You should specify the properties of each zone very carefully. The Editor allows you to configure a zone with incorrect parameters and logic (e.g. specify multiple “props” for one zone), which can result in unpredicted behavior.

NOTE: The system validates some aspects of the configuration of zones during packing.
The log of occurring errors can be found in Documents\My Games\SnowRunner\base\logs\ModMapError.txt
e.g. C:\Users\<username>\Documents\My Games\SnowRunner\base\logs\ModMapError.txt

To create a zone:

  1. Open the necessary map in the Editor.
  2. Add the zone locator to the map.
    To do this:
    1. Right-click the terrain (or the Zones section in the Scene View panel), and select Add Zone from the context menu.
    2. Move the locator to the necessary location of the map in a standard way.
  3. Specify the ID of the zone locator.
    To do this:
    1. Select the created zone.
    2. In the zone properties (in the lower part of the Scene View panel), specify the ID of the zone in the Id field.
      All zone IDs can contain only small Latin letters, digits, and "_".
      In our example, it is “test_zone_1”:
      zone locator id
    3. Save the map.
  4. Specify other properties of the zone locator, such as its name for UI (Name), icons, etc. See "5.15.2. Zone Locator properties" for details.
    zone locator properties
  5. On the toolbar of the Editor, click the Zone Settings button (4 zone settings).
    zone settings click
    This will open the window of the specific plugin (ZoneSettingsEditor.exe) that allows you to configure the logic of zones.
  6. In the plugin window, expand the section named as your map.
  7. Then, click the plus button (<img src="https://image.modcdn.io/members/28d1

2 comments

Join the community or sign in with your gaming account to join the conversation:

Frank-the-tank
Frank-the-tank @frank-the-tank2

can you update this?

SR
SnowRunner_Support @snowrunner-support

Hi!
Unfortunately, we have issues with updating web version of this guide due to the large size of our guides (reached max limit for pictures for account, etc). Sorry for that.

However, you can find up-to-date versions of guides in PDF format here: Drive.google.com

Or, you can open the folder with the documentation package directly from the SnowRunner™ Editor, by selecting Help > Guides in its main menu.