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.
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.
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.
This column provides the space to flag individual line status such as "placeholder", "final", "pickup" etc.
The specific and unique file name including the sub-folder starting from the root Game\Languages\dialog
.
Name of the actor inside the game.
Content of the actor line in spoken words including elements like breaths, pauses, sighs, etc.
Relative volume value for the prototype event from 0 – 1. 1 = full volume of dummy event.
Specification of the FMOD dummy event to be used as real time processing.
Relative value for the distance of dummy event before switching into radio_3d.
Sets the value of the specified parameter inside the FMOD dummy event.
Sets the relative value of the specified soundmood in the soundmood manager.
Contains contextual information.
Contains direction information.
Contains information about whom the actor is talking to.
Contains information for localization in terms of length.
Column 15: TRANSLATED ACTOR LINE
Contains translation of ORIGINAL ACTOR LINE.
Contains in game name of the character.
Contains translation for in game character name.
Specifies with yes/no whether subtitle will be displayed when the line is playing.
Contains subtitle for the ORIGINAL ACTOR LINE.
Contains translated subtitle from the TRANSLATED ACTOR LINE.
Specifies the folder of the dialog asset.
Specifies the dialog asset file name without folder structure.
Defines whether facial animations and therefore an ADR voice recording is required.
ReloadDialogData: Reloads all localization dependent XML sheets for the currently set language.
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.
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.
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 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.