Audiokinetic Wwise Knowledge Base

Downloadable Content Overview

Glossary
Main Release: The initial release of the Game, without DLC.
DLC: Downloadable content, released after the main release.
Package: A package in the Wwise File Packager
SoundBank: a soundbank in Wwise

Basic Scenario
This is a typical scenario where audio content is added to the game after the main build was released. During the production phase of the game, Wwise produces:
  • Banks
  • Streamed files
The file packager is used with the “Default file assignments” (see File Packager).  All banks and streamed files are packaged into a single package.  (or can be split by language, and/or split streamed file and banks)

When the game is released, the content used in the main release stop being packaged using the “Default file assignment”.  All content is manually inserted to the packages:
  • Main packages are created manually
  • All content is dragged to the main packages

Those packages, created manually, basically contain all banks and streamed files that were shipped in the main release.  This is the point of reference to identify newly created content. The File Packager Project file is then saved.

All DLC content must be created using the same Wwise Project that was used for the main release.

In Wwise:
  • Additional content is added:
  • New soundbanks are created that reference
    • new media
    • new structures
    • new events
    • updated “dynamic dialogue” events

In File Packager:
  • For each DLC, a File Packager package is manually created.
  • The user identifies “New” content in File packager
  • The user drags the new content into the manually created package (for DLC)
    • New Banks
    • New Streamed file (if they were not implicitly included)
Then, the content present in the main release can be modified.  When an existing SoundBank or streamed file is modified, it must re-packaged into a new package.  The game will then load both the main release package(s) and the new (DLC) package(s), by making sure they are loaded in chronological order.  Wwise will load most recent elements in priority.

Example:
  • The SoundBankA was included in the main release and packaged into Package #1.
  • The content of SoundBankA is modified after main release.  It is repackaged into new Package #2, and is part of the DLC.
  • The game, which has the DLC, load Package #1 and then load Package #2.
  • When the game wants to load SoundBankA, Wwise will load the one found in Package #2 (it has priority on the one found in Package #1).
Considerations and Limitations

Adding children
The following containers can’t have children added in a DLC via an additional bank

You can only add children to containers by completely re-packaging the existing bank.  This would involve including a new version of the bank in the DLC.

However, the following objects can have children added by a DLC via additional banks:

For example, suppose the following hierarchy:
  • WorkUnit
    • ActorMixer
      • ContainerA
        • Sound1
        • Sound2

Suppose you included ContainerA into SoundBank1 of the main release:
SoundBank1 -> ContainerA

For the DLC, you would be able to add a new container under the ActorMixer with no problem:
  • WorkUnit
    • ActorMixer
      • ContainerA
        • Sound1
        • Sound2
      • ContainerB
        • Sound1
        • Sound2
You then create a new SoundBank2, and add ContainerB to it
SoundBank2-> ContainerB

When loading SoundBank1 and SoundBank2, the structures will be merged automatically.

However, it would not be possible to add a Sound under ContainerA for the DLC and package it inside a new bank:
SoundBank2 -> Sound3

If you want to do that, you must re-generate SoundBank1, and include it in the DLC.  It will replace the main release’s version.

Modifying the Init bank
For the DLC, when you do one of the following operations:
you must re-package the new version of the init.bnk in the DLC.

When releasing multiple DLC
When releasing multiple DLC in parallel or in series, special attention must be taken.

When content evolve over time, DLC builds must be built over the previous DLC projects.

For example, suppose you release:
  • The main release (include Init.bnk + RTM.bnk)
  • DLC-A (include Init.bnk + DLC-A-specific.bnk)
  • DLC-B (include Init.bnk + DLC-B-specific.bnk)
If the Bus structure is different in RTM, DLC-A and DLC-B.  Any additional busses found in DLC-A must be present inside DLC-B.

The 3 builds will need to include the Init.bnk file (busses are included in the Init.bnk).

Users could have:
  • No DLC
  • DLC-A only
  • DLC-B only
  • DLC-A and DLC-B
When users haves DLC-A and DLC-B, it will load the Init.bnk provided in DLC-B.  Since the Init.bnk in DLC-B was built over DLC-A, the busses required for DLC-A are available.

Wwise version
The same Wwise version must be used for the RTM and DLC releases to ensure compatibility of the banks and packages formats.




Article Details

Last Updated
1st o June, 2010

Would you like to...

Print this page Print this page

Email this page Email this page

Post a comment Post a comment

Subscribe me

Add to favorites Add to favorites

Remove Highlighting Remove Highlighting

Edit this Article

Quick Edit

Export to PDF

User Opinions (0 votes)

No users have voted.

How would you rate this answer?



Thank you for rating this answer.

Related Articles

No related articles were found.

Attachments

No attachments were found.

Continue