Sign up to receive
Atlus game announcements,
news, exclusive content
and more.

Email:  

FOLLOW ATLUS




For information on
Persona Q , click here.

|  World of Translators  |  Creating an Art Book  |  Breaking the Code  |
|  Inside the Voice Actors' Studio  |  Kneel before Zoids!  |  To Market, To Market  |
|  A Method to the Madness   |   Employees of the Unemployed  |   Gettin' Graphic   |
|   The Naming of Stuff  |  Operation Localize!   |

Breaking the Code
or, "Hello. My name is %n, you killed my %p, prepare to die."

- Mike Meeker, editor

             Previous Production Diaries have already given you a great insight into how we localize item and character names, but there's more to editing text than finding cool names and adding honorifics to them. I'll be showing you how variables come into play in the editing process, and hopefully showing you some examples of things that we deal with here (and what happens when we fail to before debug catches it).

             As an editor, an important part of writing for games is not only to make the text read well, but to make sure it all fits, too. Some games will give you a little leeway here or there, while others won't. For example: a currently unannounced game I'm working on now has a variable-width font. If I made a line of all "W" (usually the widest character in the font), I could fit 38 of them in a single line before going out of the message box. If I had a line of all "I", I could cram in a whopping 112 of them. When editing for that game, we make an assumption that the average line should have no more than 39 characters, because not every character is as wide as a W and some Is, ls, and spaces are going to be in there, too.

Some games don't let you do that, though. Check out this screenshot from Luminous Arc:

             Instead of extending outside the box, that period hit the line limit and got word-wrapped around, sending the third line to below the box and wrecking everything. Curse you, Mr. Period!

Hey, it's not my fault you can't count!

             What does this have to do with codes? Remember, video games are programs, and as such can contain variables that are stored elsewhere and aren't kept in the text. It makes it easy to change something without having to hunt through every text file, but you have to make sure that it'll fit everywhere that the code gets called. Having variables also allows the player to do goofy things, too, like name their characters.


What are you doing? Everyone's just going to name him Seta Souji anyway.

             Whatever you pick, we've got to be able to make the game handle it. The rule of thumb is to always anticipate the player to do the worst thing possible. Not a slight on you guys, but part of debug is finding ways to make the game break just by doing everything the game allows you to do. This is why in games where you can name things, there's always some poor tester who has to play with the widest names possible, just to see if everything fits. If you ever see screenshots with characters named WWWWWWWW, that's why. We're not laughing at you in Japanese txtspk. Hey, look over there, an example!


This character has the unlikely name of OOOOOOOO OOOOOOOO, but you can see that it extends far beyond the space available. Bug!

             Unfortunately, it's not that easy to spot when you're actually writing the text. In P4, there are two variables for the character's name: < name1 > < name2 >. Actually, since in Japanese the family name comes first, the name entry is < name1 > < name2 >, but it actually comes out as < last name > < first name >. Whenever an NPC calls you < name2 >, he's actually calling you by your first name, and being friendlier. Kind of counter-intuitive, but there you go.

             Let's get an example of what code looks like in the actual text. Here's what a line from P4 might look like during editing. This is a hypothetical example, since we can't post actual game code for obvious reasons, but I'm sure you'll get the gist from this pseudocode:

#SPEAKER"Some dude"
@MSG_NPC_##_QUEST_##
{
Yo, what up, diznoofus. I heard you be rockin'
some mad skills.
< WAIT >
I'm looking for a < ITEM_ID_### >.
Maybe you can swing one on down this
direction, huh? I'm good for it.
< WAIT >
}

             So, what's going on here? The #SPEAKER call means that the words "Some dude" are going to be along the top, where the speaker name is. Some games don't let you modify the speaker name, but P4 lets you put anything in, which is awfully handy, considering how many NPCs there are walking around town. @MSG_NPC is the particular quest that's being initiated here if you agree. is the item he wants. What is it? Who knows? Often times item names aren't even finalized until after the rest of the text is, so this could be anything, and it still has to fit. Not only that, but an editor must consider other possibilities. What if the item's name starts with a vowel sound, like "orange"? You could make it "I want a(n) ", but that just looks terrible. How about plurals? "I want three s" might not work either, if the item name has an irregular plural or requires an "es" instead of an "s". When there is no way to find out for sure, we leave it as general as possible, and then some eagle-eyed tester will write up all instances where it's bad. It's even worse when the item isn't something that has a standard singular form. "Bring me one wax", for example, doesn't make a whole lot of sense. You can see that dealing with code requires a lot of analysis. This type of problem is very common in RPGs, since a message is almost always displayed when you acquire an item or need to use one. Lastly, there's the command, which indicates the game will wait for the player to press the X button (O button in Japan) to proceed to the next text window. Japanese PS2 games tend to use the O button for confirmation instead of the X button in the US, so that's one more thing that we have to change in text and in the system.

Was that enough of a tease for P4? Here's something similar to what we would have worked on in Trauma Center: New Blood:

@MSG_EVT####
< bup #### >
< vplay #### >
Hey, I'm a doctor. They pay me to cut people
up and put them back together. It's totally sweet.
< wait >
< vplay #### >
Hey, why are you all staring at me like that?
< wait >

             The dialogue display is largely the same as in P4, since they're from the same developer (Atlus, of course). This game uses some different coding from P4, so allow me to explain those other lines.

             < bup #### > is a call to a "bust-up," which is what we call the various portraits that come up. The different sets of numbers following the call tell us exactly which portrait gets brought up. This is vitally important, since there was a series of bugs where characters were accidentally being switched around and had wildly inappropriate facial expressions, like shouting "Don't you die on me!" with a huge grin.

             < vplay #### > is a call to start playing an audio file. We need to make sure that not only are all these calls correct, but the sound files are actually correctly named, too.

Different games will have different systems of coding their lines, of course. Many of them are nigh-indecipherable:

While gliding, press @#(13) (or @#(11), @#(10)) and @#(2)
to do a diving attack.
[Press @#(1) twice > @#(13) + @#(2) for dive attack]

             This tutorial text from Odin Sphere tells you to press something, but what? Either the developer provides a list of the different codes and what they mean, or you just copy and paste the code and hope it works out. In this example, the codes represent different button icons: @#(1) represents the X button, @#(2) displays the square button, and @#(10), @#(11), and @#(13) are respectively right, left, and down on the directional pad. In the game, the message would look like this:

Here's a final example, from our soon-to-be-released Dokapon Kingdom.

{c2}{v0}{c-}'s stats have increased!
Stat increase: {c3}AT +{v1}{c-}, {c3}DF +{v2}{c-},
{c3}MG +{v3}{c-}, {c3}SP +{v4}{c-}!

             That's a mess right there. Luckily, it does make sense if you know what it means. {c2} and {c3} are color codes; c2 is blue, and c3 is green. {c-} is a call to return to the default text color, black. {v0} is the variable for the player's name, and {v1} through {v4} are various variables (heh) for the stat increases. Here's what it looks like in the game:

             Of course, these are all just various examples. Every game has its own way of making variables display properly, and has different codes to perform all the text functions. Keeping a clear head, recognizing and knowing the various function calls, and knowing what to do about them when writing messages are very important aspects of editing text.

             I just hope I've been able to show you a little more about the game localization process, which is what these Production Diaries are for. In fact, if we do our jobs right, this kind of stuff never even pops into the player's mind during gameplay, because we want you to be immersed in the content of the text rather than the actual mechanics behind making it show up on the screen.

CLICK HERE TO DISCUSS ______________________________________________________________________________________

 
 
 
 
   
 
 
© Atlus U.S.A, Inc. 2014 Published by ATLUS
ATLUS video games for PlayStation®3 computer entertainment system, PS® Vita System, PlayStation®Network, PSP® (PlayStation®Portable) system, PC, Xbox 360®, Xbox LIVE®, Kinect® for Xbox 360®, iPhone®, Nintendo DS®, Nintendo 3DS®, and Wii®. Nintendo properties are trademarks of Nintendo. © 2014 Nintendo.