Localization Manager

Overview

The Localization Manager is responsible for delivery and treatment of dialog assets in CryENGINE 3.

The system was developed to provide flexibility in game usage as well offering nowadays standards for script writing, implementation and localization processes.

Features

Filename Driven Dialog Assets
The dialog filename functions as unique and specific indicator for triggering dialog assets. Starting from the root folder Game\Languages\Dialog it is possible to create any logical folder structure necessary.

Dummy Event Processing System
Utilizing the programmer sound of FMOD all dialog assets are processed in real time using one of the dummy events in the dialog project (Game\Sounds\dialog).

Individual Volume Control
Volume and ducking ability per line offers fast turnaround while mixing as well as making the important lines cut through the mix.

Recording Information
Various columns provide important information for recording sessions with the actors such as context and direction.

Localization Information
Various columns provide important information for localization studios such as translation and time restrictions.

Subtitle Information
Various columns provide important information for placing subtitles including line breaks and actor names.

Technical Detail

Heart of the system is the file dialog_recording_list.xml stored under Game\Languages. AI controlled voices are stored in the ai_dialog_recording_list.xml in the same folder.

The CryENGINE is reading out the colored columns by name sensitivity. Therefore these columns have to be filled with content. If required additional columns can be added at any position inside the table.

Column 1: PICK UP


This column provides the space to flag individual line status such as "placeholder", "final", "pickup" etc.

Column 2: AUDIO_FILENAME


The specific and unique file name including the sub-folder starting from the root Game\Languages\dialog.

Column 3: Actor


Name of the actor inside the game.

Column 4: ORIGINAL ACTOR LINE


Content of the actor line in spoken words including elements like breaths, pauses, sighs, etc.

Column 5: VOLUME


Relative volume value for the prototype event from 0 – 1. 1 = full volume of dummy event.

Column 6: PROTOTYPE EVENT


Specification of the FMOD dummy event to be used as real time processing.

Column 7: RADIO RATIO


Relative value for the distance of dummy event before switching into radio_3d.

Column 8/9: EVENTPARAMETER "name of parameter"


Sets the value of the specified parameter inside the FMOD dummy event.

Column 10: SOUNDMOOD "name of soundmood"


Sets the relative value of the specified soundmood in the soundmood manager.

Column 11: Context


Contains contextual information.

Column 12: DIRECTION


Contains direction information.

Column 13: To whom


Contains information about whom the actor is talking to.

Column 14: Time Restriction


Contains information for localization in terms of length.

Column 15: TRANSLATED ACTOR LINE

Contains translation of ORIGINAL ACTOR LINE.

Column 16: ORIGINAL CHARACTER NAME


Contains in game name of the character.

Column 17: TRANSLATED CHARACTER NAME


Contains translation for in game character name.

Column 18: Use Subtitle


Specifies with yes/no whether subtitle will be displayed when the line is playing.

Column 19: ORIGINAL TEXT


Contains subtitle for the ORIGINAL ACTOR LINE.

Column 20: TRANSLATED TEXT


Contains translated subtitle from the TRANSLATED ACTOR LINE.

Column 21: FOLDER


Specifies the folder of the dialog asset.

Column 22: Filename without folder


Specifies the dialog asset file name without folder structure.

Column 23: Face visible?


Defines whether facial animations and therefore an ADR voice recording is required.

CVARS

ReloadDialogData: Reloads all localization dependent XML sheets for the currently set language.

Tips

Filename conventions

Generating a strict naming convention helps to keep an overview about the dialog assets. Elements like Character Name, Level, Mission, Action Bubble, Content and more should be part of the file name. Using underscores instead of spaces makes it easier to read on debug views.

Example: mission01_player_cave_call_help_a

Besides technical requirements for unique file names this also helps communication with Level Design. The use of extensive numbers in file names is very hard to debug and maintain and should therefore be avoided.

Folder structure

Generating a logical folder structure helps to sort, group and handle the dialog assets. Again sorting by mission and, for AI dialog, by characters is the most common way to do it.

Since multiple departments are normally involved in writing, recording, mixing and implementing dialog keeping it clean is very important.

The recording lists

Since the dialog_recording_list.xml and ai_dialog_recording_list.xml are holding all information it is important to always keep it clean and fill out as many columns as possible.

Even if that means copying the original text into the translation columns as a localization placeholder it will help to find bugs early.

EVENTPARAMETER and SOUNDMOOD column

EVENTPARAMETER can be used multiple times setting the event parameter specified. Whenever the value is > 0 and the Sound Event got the parameter with the same name it will update the SoundEvent accordingly.

SOUNDMOOD can also be used multiple times setting the SoundMood name specified. So whenever the value is > 0 it will activate the specified SoundMood for that particular line.

This could come in handy in tricky mixing situations.