So you are the custodian of ancient UDK knowledge
I use this system because that way I don’t have to restart UDK in every test.
The actor contains two arrays, one for dialogs with the player and the other for phrases. They both use structs to store texts, cues, wavs and commands that are executed when using each phrase. I can program relatively complex behaviors using these dialogues, I can branch according to the characteristics of the NPC, if he is a man or a woman, or the memory that he has (he was attacked, you bought him something, you did some mission for him, etc).
The system I use is this:
-
I edit the dialogs, a simple text file, in Notepad ++.
-
I select everything (ctrl + A), copy (ctrl + C) and in UDK I press the BrushBuilder icon. All texts go from the clipboard to the actor.
-
The actor is an archetype, so I have to update it, I have to find it on the map, select it and press “update archetype”. This is the step that I want to save.
Ideally, it would be possible to update it by script after the second step, but it seems that it is not possible. I can think of two ways to make it easier:
a) Use the Editor’s bookmarks, for example #4 to get in front of the archetype and do manually the update, and #0 to return to the test place.
b) Don’t use archetypes, put the actor directly on the map, in a stream level, and so I don’t have to update. Closing the editor saves the stream level, and I can use it in different maps.
About using different languages, I don’t see the problem. I have it in a simple text file all the texts, all the cues and wavs and all the commands. With a script I can extract the texts, number them, give them to a translator, and with the translated file back, recompose with another script a new text file for that language. Put the actor on the map, use the BrushBuilder to fill the arrays, save it as an archetype, so I already have an archetype for each language, ready to drop them on the map with a spawn according to the selected language.
Cues and Wavs, as they are also saved in that text file, just replace the text in the package, for example \sounds_EN by \sounds_ES, to get the new cue/wav in another language.
Here the problem is going to be to get all those cues and wavs, that only with the tests I have more than 10,000 lines of text. I think that in principle I will use voices for some dialogues and the most will only be subtitles.