Alka Translations Monthly Status Report: May 2021

Greetings and salutations, all and sundry! Saitou here with your status update for May. We’ve actually got an awful lot to talk about this time around, so allow me to skip the extended preamble and jump right in!

First and foremost, as you may have noticed, we’ve checked off a couple major progress milestones! Editing has concluded on Shiki’s route, making the new RB content 100% edited, and the TL smoothing of the original SP’s Other files is 100% complete as well! ‘Other,’ for reference, consisted of the shrine files, the secret base files, the candy store files, the original SP ping-pong segments, and, most notably, Shimamon. Oooooh boy do I have a lot to say about Shimamon, but that’s gonna be a loooong ramble. Before I dive into that, Kitaro wanted to share a quick update regarding his work translating the Prima Dolls stories! I’ll just tag out with him for a minute. Kitaro mode, go!

Work is going steady, thankfully! Now that Shiki editing is done, I’m going to be focusing a bit more on Prima Dolls in the coming weeks/month. As for Chapter gaps–I have decided it’d be more beneficial if I just release each batch book-by-book rather than Chapter-by-chapter, that way gaps in between installments are a bit more expected and also so I have more time overall to increase the quality of the project. I’ve been updating the PDF, smoothing over the TL a bit more, and trying to make it as quality as a Translation as possible. So pretty much sorry for the delay but I promise it’ll be worth it!

If you wanna keep up with progress now, Prima Dolls has it’s own section on the Progress tab so if you ever wanna wonder where I am at in a specific Book just check there! More updates to come soon!

…Aaaand, back to Saitou! Not much left for me to say, though. Testing’s still rolling along, Log’s still chopping away at Kamome, and I’ll be moving on to TL smooth the Pocket route, then pivot to subtitling/final technical patchwork. Once that’s done I’ll be shifting back over to Kud Wafter, so in an ideal world you might see the numbers start going up on that project sooner rather than later! No promises, though, life happens.

That’s about all the news worth sharing for this month, meaning it’s time for a Shimarant!

Long story short, Shimamon is an absolute nightmare-mess in just about every way imaginable. I’m not just talking about the fact that the plot’s a hysterical disaster of nonsense and madness, and I’m not even just talking about how difficult to parse the script files are (they’re incredibly difficult to parse, to the extent that I discovered several hundred lines that had never actually been translated in our original SP patch because nobody ever found them, in or out of game). No, I’m talking about the technical challenges, of which there were myriad.

I’ll dig into just one of those technical challenges in this post to give you an idea of the sort of stuff we were dealing with. This one centered around what should, in theory, be the simplest thing ever: the Shimamon’s names!

Shimamon names appear in four places in the game, in total: in the text box when you capture a Shimamon or when you see the actions they take in battle, in the battle screen itself under their portrait, in the Shimadex’s Shimamon list, and in the Shimadex’s info page when you select a particular Shimamon.

So that’s quite a few places, and the crux of the problem is that absolutely all of them pull the text that they use to display the name from the same text file. In other words, if you change a Shimamon’s name in one place, you have to change it in ALL of them. This wouldn’t be a problem at all if all of those places displayed the Shimamon names in the same font, the same size, and with the same space limitations, of course!

HAAAAAAAAAAAAA

Yeah no, not even close. The problem began with the in-battle Shimamon names–these guys, specifically:

They look just fine in Japanese, of course, but English is a whole different beast. For one thing, the English names tend to be much longer than the Japanese ones in terms of character count, so the vast majority of them would spill out from the area they’re clearly supposed to be contained in! We could abbreviate them, of course… but since all instances of the name are pulled from the same text, that would mean using the abbreviated names literally everywhere, so that’s right out.

But that’s not even the only problem! The other issue revolves around half vs. full width characters, which is a very common stumbling point with Siglus whenever it’s displaying text in an even remotely unusual manner. Basically, the system that lets Siglus center the text is based around the assumption that it’s written in full width characters, and if you use half width ones (by which I mean, perfectly normal English characters), the centering system just doesn’t detect them at all, so you get, well, this:

So that looks like trash. My usual solution is to pad the end of the line out with juuuust enough full-width spaces to trick the system into centering it anyway, but in the case of these specific strings, there’s a hard character limit that cuts off anything past a certain point, and does not account for the cut text when it comes to centering. So, even MORE impossible length restrictions! Using full-width characters in the Shimamon names was an option, but they’re, well, full-width, so you get this:

It’s centered, sure, but it looks like trash again, and in absolutely every instance where the names come up, at that. Plus, the characters are so wide we’re back to super-restrictive length limits once again.

So, what was our solution for this instance of the names? Cut ’em out! There was simply no way to make them look good on the battle screen, but Danshi painstakingly edited the names onto the larger Shimamon cards, which allowed us to make them all perfectly identifiable where it really matters while avoiding a bunch of ugly spillover text everywhere else.

There was just one problem. Remember how I said that the names in the text file show up in four places? Well, removing them broke the Shimadex entirely. It resulted in all 100 Shimadex tiles being totally blank, rendering the thing entirely unusable.

So it was time to get creative! The goal was to remove the text versions of the names that showed up on the Shimamon cards, and we knew there was a very specific character limit that cut off anything past that certain number. That meant that to accomplish the goal of removing the Shimamon names from those instances, we just had to pad them out with enough preceding spaces to fill up said limit! In doing so, the Shimamon names would still show up in the dex and be totally gone where we needed them to be gone! There was just one problem: that many spaces pushed them juuuuust a bit too far to the right.

Ignore the unrelated Japanese in these screenshots—the copy of the game I was working on at the time was only partially patched, all those buttons ARE done

Oops.

But all hope was not lost, thanks to image editing! I was able to go into the image files, find the Shimamon name plate, and extend it to the right, while also rendering the scroll bar invisible. That extra bit of space did the trick, and we were left with a slightly awkward but fully functional Shimamon list! Woooooo!

…But of course we weren’t done yet. If you’ve been following along, A: how and B: you might remember that there are still two instances of Shimamon names left unaccounted for: the instances in the dialogue box, and the instances in the Shimamon descriptions.

The former, of course, looked like trash thanks to all the spaces. Just massive, inexplicable space-gaps in all the battle text. Seriously, look at this nonsense:

Thankfully, we could exploit another of Siglus’s weird text-parsing eccentricities to save the say! See, \n properly renders as a linebreak in the text box, but turns into a weird little dot character almost everywhere else. Conveniently enough, the line breaks made the battle screen look astonishingly natural, and those line breaks were rendered as a dot in the Shimadex so they didn’t break our painstakingly-restored Shimamon list! So, at this stage in the game, battles look like this:

Again, ignore all that Japanese, that stuff’s done in the properly-patched version I swear

The Shimadex looks like this:

And the Shimamon info screen looks like this wait crap

Yeah, the info screen still looked like trash thanks to all those spaces. WHOOPS.

This is where I stalled out for a good long while. I couldn’t throw away all the progress I’d made up to that point, but I also couldn’t move the text at all without breaking literally every other instance of it. Eventually, though, it hit me: I couldn’t move the text, but I could move the stars!

By some miracle, you see, the stars are actually pulled from the script files, just like the Shimamon names. I could use the space-padding trick to move them all over the place! There was just one problem: there was only one star in the script file. For two-star and above Shimamon, the game just copies that star over and over to get the right number. In other words, if I padded the star with spaces, those spaces would appear before the first star and before every subsequent star as well.

The final solution? Do exactly that, but with a twist! See, the text field the star’s in IS, miraculously, designed to wrap around when it hits the edge of the screen. In other words, if I were to pad it with just enough spaces to make the star the last character in the line, every subsequent star would appear below that first one. I could make them appear vertically instead of horizontally, scooting them over to the right side of the screen where they wouldn’t overlap with anything! A tiny bit of image editing later, and it was done—we had our Shimamon info screen:

…With properly scaling stars!

And so, the Shimadex was saved! Everything looks pretty decent, all things considered, and I feel like we got it functioning as well as we possibly could considering the incredibly obnoxious set of restrictions we were working under. There are almost certainly still bugs to squash and tweaks to implement (See: the extra space before the ‘ago’ in the screenshot above that I didn’t notice until literally just now), and Shimamon is definitely going to make our poor testers suffer, but all that effort’s resulted in a final version that’s way closer to polished than I honestly thought would be possible when I first set out on this quest!

…All for a minigame that 90% of our players probably won’t even realize is in the game!

Aaaaanyway, this update’s already a monster so I’ll spare you any more of my rambling. See you next month, when there’ll hopefully be just as much progress made but substantially fewer madness-inducing problems for me to scream about!

9 thoughts on “Alka Translations Monthly Status Report: May 2021

  1. Lucas says:

    Awesome work, can’t wait to play SP!
    It seriously has become a routine to check for updates on the first of the month, I am so hyyped!

  2. dianavi says:

    I’ts interesting how in the Steam release they made it so that long card names are displayed with a smaller font but didn’t bother fixing word wrapping.

    • Translator the Saitou says:

      Oh, what I would give to have the kind of backend access the official TL of the original game had! They got to put subtitles into the no-text-box scenes, the lucky punks.

      Can’t really blame them about the wordwrapping, though—I had to do that manually by padding each new line out with spaces, and odds are pretty good that the official translators didn’t have the ability to get their work in-game immediately like we do. Nailing manual wordwrapping on those screens without the ability to check how they look would be borderline impossible, so I expect they had to just do the translations and hope the devs would handle the rest

      • dianavi says:

        Yes, reading the credits I’m pretty sure the translators didn’t have access to the engine, everything tech-related was handled by the Japanese dev team.

        At least they had automatic word wrapping in the normal text box, I don’t know if you guys have that. A long time ago I worked on a fan translation for Hatsuyuki Sakura that we never finished, and we couldn’t get word wrapping to work, and in that game you can’t use \n to insert a line break, so we had to manually pad every single line with spaces. At the end I developed a tool where the translator/editor could see a preview of how the text would look in the game in real time.

Leave a Reply to Sleepy Child Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.