Aria here, hope everyone’s having a good holiday season! I haven’t been keeping up with FGO, but if it’s roulette harvesting time, then don’t make yourself sick from all those golden apples ;_;.
We’ve received several “oh no the project’s dead” messages lately, so I hoped to alleviate some concerns with a holiday post. If you’re unaware, we have a progress tracker running at https://kotcrab.com/progress/ccc/ – though admittedly, it’s been rather unmoving lately. I’d like to apologize for the confusion there.
The past several months since we finished the main translation effort has been combing through the massive script and working through troublesome lines, essentially a translation check pass. There were several lines that were marked as “this could use more eyes,” “pun attempt needs workshopping,” or “I think Nasu is trying to shoehorn in a pixiv meme uhhh” kind of thing. Sometimes it takes a room full of us to realize the obscure joke going on.
The main issue with this and the tracker is that these are the worst of the worst lines that need attention and fixing, which barely makes a dent on the tracker. Hopefully once we clear these lines, the tracker will become more accurate. We should be through most of them at this point!
We’ve also been fixing up issues with translation consistency for terms since we’ve had a few different translators on this project, so that’s another one that doesn’t reflect on the tracker.
During one of our “what the hell is this line” voice calls, I sent a screenshot to ItsumoKnight to show how a line looks in-game, who proceeded to die in laughter. I didn’t think much about it until I looked back at the screenshot:
I forgot that the default Kotcrab setup for the editor uses Issei at the school gates since it’s one of the first lines, but I rewired it to Kotomine since it makes the lines x10 more amazing. For reference, this is what Itsumo would see on his side:
Really Hakuno’s blue glasses just improve everything.
There was also a section of prototype dialogue that was untouched that I translated since I finished my current tasks. Not that it’s accessible, but here’s what the line would look like (once again if Kotomine said it for some reason):
And now back to actual dialogue:
Kotomine aside, we have been slower than we could be lately, for that we apologize. Things have been busy the end of this year, but we’d like to kick the momentum up for next year, so stay tuned, and thank you for your patience.
And if Itsumo slacks off, I’ll be sure to drag him over for a CCC editing marathon session followed by mahjong thrashing🔪
As you hopefully know by this point, another team released an official patch for Persona 2: Eternal Punishment’s PSP version yesterday, fully translating the game, all its menus, and the Tatsuya scenario into English.
Myself and the others working on our version were completely blindsided by this, and had no idea it was in the works until it came out, same as everyone else. There was initially a great deal of panic, confusion, and disappointment, especially since one of the team had formerly been helping us out with coding and graphic modifications on our project.
Fortunately, once the smoke cleared, we were reassured that none of our work was used in the final product, which I’ve personally confirmed. The new patch is just modifications to the original Atlus PS1 translation, similarly to what our project had planned, the only key differences being that the graphic formatting and fonts are different, and this version uses honorifics(which I tend to localize or make variations on).
That said, our team was still left demoralized by this sudden announcement, and it’s been decided that without the need or momentum to continue our version, we’ve decided to cancel our in-progress build.
As some of you also sadly know, we’ve been met with no small amount of harassment, insults, and hateful responses. Thankfully, the others on the team haven’t been the public face of the project like I have, so I’ve been largely bearing the brunt of the drama. That said, it personally saddens me to see how the SMT community has degraded into something like this, as someone who’s been playing games and been part of the scene since the mid-90s. Toxicity like this is what contributed to other long-term community members and fan translators like AeonGenesis leaving the SMT scene and avoiding future projects of the like, and now, I can unfortunately understand why.
I hope everyone can take this as an opportunity to leave things in the past and move forward to just enjoy the game and support the series as well as any other fans working on SMT projects without undue harassment or hostility. This is something we do in our spare time, for sheer love of the game, and nothing else. We have never taken donations, and never will. During the course of the Eternal Punishment project, we’ve endured family deaths, a pandemic, and even an ongoing war that personally affected a member of the team.
Persona 2: Eternal Punishment is near and dear to me. I picked up my copy of Persona 1 in the late 90s, and Persona 2 at a store in Tampa in the early 00s. It remains one of my favorite RPGs ever, and nothing is liable to change that. Going forward, I plan on enjoying the new release of Persona 2’s translation as a fan, and look forward to whatever else Atlus brings in the future. If the renewed interest leads to Atlus releasing an official remake or re-release of the older Persona games, then that’s even better, and I fully plan to support that as well, and hopefully you’ll do the same.
In closing, just remember to do as Maya does.
P.S.: this is in no way affects the progress of ongoing projects. Devil Summoner is still in the translating/editing phases, as is Fate/Extra CCC. As always, we appreciate the support and patience.
Aria here, and you read that right! Mere days after finishing my 2nd playthrough and finishing the voice lines and in-dungeon lines, JS dropped the rest of the CCC main script translations in one fell swoop!
We’ve updated the checkmark on the progress website, but we haven’t finalized a way to track the editing phase yet. Please give us some time to find out how to best present this next leg of work, and we’ll let you know when we have something!
For now though…
Though before rest, we’ve got one important question you can answer in the comments:
Aria here! So, we might be bad at this whole “quarterly updates” thing, but I promise we’re making progress! It’s also still incredibly hot here, so it’s still definitely summer. But as Andersen put it, you all deserve a reward for sticking with us.
Without further ado, we have an update video for you! Go watch that!
Hopefully this is your reaction:
If so, then I have succeeded and survive for another day on the internet. I’ve been told CJ streamed the prologue a long time ago, but I wasn’t around yet and didn’t see it. But he says the overall quality now is leagues better and deserves to be shown off. The text looks clean, the images look slick, and all the voices have subtitles! (Those Kotomine lines in the joke intro were real and in-game btw). Remember we’re still on the translation phase, so what you saw still needs some editing. But somewhere around 86% of the game is translated and looks about the quality you saw in the video.
We have one unused Easter Egg that was shown as an error message if installing the game failed, but we’ve since removed the option entirely since it doesn’t improve anything. In honor of Tsukihime Remake’s release, we decided to share it here:
Lastly, we wanted to give a shoutout to the kind person who sent us all the CCC Void Log books, which contain *nearly every spoken line of dialogue in the game written down*! They have made my life so much easier for transcribing battle lines ; _;
If you’re reading this update, please get in touch with ItsumoKnight in the iwakura productions discord! He had something Gundam related he wanted to follow up with you on.
And as for you, dear readers, let us know if there’s anything you’d like us to cover/show off in future updates. We’ll probably be back around New Year’s (who are we kidding, it’s September, we’ll probably skip to a Winter update next), so see you then!
We have a short update for you today since we’ve mostly been pushing forward in translation progress rather than anything flashy. Though speaking of flashy, Kotcrab has set up a progress tracking page where you can see an estimate of our project updated in real time! You can view that page here –
In terms of translations, we have some updates here:
– Chapter 6 has been fully translated!
– In dungeon translations are now underway
– Over 530 audio files have subtitles now (including misc areas of the game like in Kotomine’s shop, My Room, and the Secret Garden)
– Misc bug fixes encountered in playtesting
As always, thank you for your patience as we push the translated line count higher and higher!
(Disclaimer: please don’t be liberated from your money.)
This is kind of a long story. If you want that, read on after this.
If you don’t, uh, just watch this.
Still with me? Good!
Shin Megami Tensei: Devil Summoner is a spinoff of the SMT series. It was originally released for the Sega Saturn(wise choice) and then later for the PSP(tough call) and then never localized(thanks Sony. NOT).
What separates Devil Summoner from SMT? In a nutshell, Devil Summoners are basically the same as SMT’s protagonists: normal humans who work with demons. The difference is, Devil Summoners are more, shall we say, hands on with their demons. Demons tend to get more personality and have more influence in the story, and be more friendly with their summoner, not just tools for a job. (Especially in the Raidou games.)
Basically, Devil Summoner games are more ‘street level’ and character-driven. That’s how I like to think of it, anyway.
Devil Summoner takes place in 199x, where a college student with terrible luck winds up having to save his girlfriend, the city, and maybe the world from the machinations of a Bible/Grimoire-wielding dark summoner hell bent on reviving a goddess and wreaking all kinds of the hades(props if you get that).
This brings us to a few years(?) back when on 4chan’s “SMTG” community, a user I’m fortunate enough to now-know as Fukuzatsu decided he was going to translate the game for the PSP.
At least, until he hit the worst of SMT walls: demon negotiation. It’s been hell on him.
Hello, Aria here! Hope everyone is staying warm and opening hundreds of loot boxes in FGO (wait, did we miss Christmas? Pretend it’s still Christmas! Padoru!). Not to distract you from the necessary grinding, but our Fate/Extra Perfect Patch is here, which includes battle dialogue, ruby text, berserkers going berserk, and more! This patch was a long time coming, so I thought I’d talk about the battle dialogue process a bit!
When I first joined up with the project, I had never actually finished Fate/Extra before. I played on PSP when it came out and rage quit a couple rounds in after dying instantly to some mobs. So, my first task was to play through the game and subtitle the battle lines along the way. All the character voice lines are labeled like “ner_1700” without much additional context, which made things a little tricky. This includes non-battle dialogue as well, which we don’t want to translate. Thankfully, Kotcrab set up a debug message that appears on the bottom of the screen that displays the name of the currently playing file.
(You won’t see that message in the bottom left, but it made my life much easier~)
With that, I was able to figure out the general number range of what’s battle dialogue and what’s story dialogue. I started by translating as many Nero battle dialogue lines as I could, then continued playing the game. From there, I’d beat a boss, then translate their lines. All was fairly smooth…
…until this fucking guy.
Now remember, I’m doing all the subtitles with audio only. I just remember sitting in the library on my laptop, shaking my head in utter confusion as to what the fuck this guy was saying. His dialogue blends several religions into one to make his “true” religion, also known as a nightmare to my ears. I was in such a desperate state of despair that I just googled what I could make out and prayed. What answered my prayers…
…was a devote follower who created a Twitter bot that regurgitates his lines every hour or so. I managed to find the line in question typed out! It was a godsend, until the next line didn’t exist. But that one led me to a Japanese wiki with every line in the game typed out! (Well, it turned out to be more like 70%, but it was still an amazing blessing). Using that Japanese wiki, I was able to recreate it on my own local wiki and organize all my notes:
Each line had context written out as well, and with its help, I was able to match line numbers to specific actions, such as break attacks, master healing servant reactions, and more! With this new tool, I was able to check my previous translations, then advance much more smoothly into the horizon, with the crazy fanatic Gatou now defeated.
Now until that point, I was using our editor to translate without seeing anything in the game. Just before Gawain, everything was set up to add my translations into a patch. I pre-translated all of Gawain’s lines, then did his battle for the first time. It was the most intense battle in the whole game, improved immensely by having the battle subs working as he slammed his Noble Phantasm into me two turns in a row. I knew it was coming too because every enemy Servant has a “tell” line that announces their intention to use their Noble Phantasm that turn (it’s always line #1752 for anyone curious, with #1753 being a “you survived!?” follow-up). I had just translated Gawain’s, so I knew exactly what to look out for:
I recorded the battle as an early test to show the rest of the team the subs. I should have died in that fight with how sloppy I played, but damn if I didn’t win first try white knuckling the entire time. You can watch that terrible test video here (Keep in mind that since it was an early demo, the lines are unedited with some technical issues present that are now fixed. Timestamp is when things start going crazy – https://youtu.be/jomlQ6cx9uw?t=238 .) There’s no mic audio, but you can feel my spirit break when Leo announces a second Noble Phantasm. It just gets worse from there.
During the cutscenes before that battle, we also noticed an issue with battle subtitles playing during the pre-combat smack talk conversation. Turns out people say battle lines outside of combat for dramatic effect! Thankfully, Kotcrab had no issue hunting down a variable that would let us know if we were currently in battle. With that, subs would only play if we were in combat. BUT we also subtitled level-up lines post battle and those aren’t in battle! We settled on a set of flags in the timing, with one of the flags meaning “play only in battle” if true. Whew~
After that, the game was defeated, Holy Grail obtained! No strings attached, they just gave me the Grail and wished me on my way~ Next steps were to translate the rest of Nero’s lines plus Archer, Tamamo, and the Rin route servants. Sprinkle on some sound effect translations as well (those ended up being stored separately as we learned, requiring some more code tweaks to get just right), then it was time for Archer!
Wait that’s not right.
There we go, that sounds more correct. At this point, I’m mostly getting to just enjoy the game, while spotting a missing line now and then. Most of these lines are battle victory lines, separated into “servant doesn’t give two shits about you” (first half of the game) and “servant will die for you” (later half of the game). When I got to Alice’s fight on Week 3, I asked if colored subtitles were possible.
ItsumoKnight: “What’s so hard about it, it’s just Alice and Alice”
Turns out the color codes should just work since the subtitles use similar code to the game!
…okay not quite. It initially caused some interesting text glitches which made the following line even more creepy than before. With some quick debugging by Kotcrab, we got everything working:
Along that same line, we wondered if we could do the Berserker scream, which ended up being easier than expected. There are 4 possible Berserker noise characters, so I wrote a quick python script to randomize different combinations at different lengths, then I matched them to lines that seemed to fit and added “!” marks as appropriate.
The last major improvement we added was adding ruby text support. Kotcrab went into detail about this in an earlier post, but essentially it lets us add the small subtitle above certain skill names that CCC uses.
In this case, it adds “Rho Aias” above the skill name for that extra touch.
With Extra moving into an editing and playtesting phase, I was free to move onto CCC. It’s hard to give actual progress numbers with the battle dialog since there’s a lot of non-battle dialogue mixed in, but I’ve translated the lion’s share of Nero, Archer, and Gilgamesh’s dialogue. Once I finish with Tamamo’s (nearly there), I can play through CCC and translate missing lines as they come up. This will include the in-dungeon subtitles as well, with context! Sadly, the Japanese wiki for CCC is much more incomplete, so most of the lines will be by ear, but on the other hand, the line numbers have the same meaning as Extra! So with that, I’ll know when a line is a counterattack remark, an “I just died” line, or a “chiding the player for playing terribly” line.
Lastly, thank you for all your patience! This has been a tough year for all of us, and I hope that you can enjoy the work we put into vanilla Extra while you wait for CCC!
PS: I suppose you want to download this patch, huh? F-fine, it’s not like I want you to play it or anything!
Now with Mac/Unix patching options and various Aksys translation fixes mentioned by the community!
(Editor’s note: Fate/Extra is very special to me. It was my exposure to Fate, and without it, I wouldn’t have become the fan I am today. It also lead to me neglecting a blind date, and in retrospect, the game was the better choice, but that’s a story for another time.
If this is your first go at F/E, I hope you enjoy it as much as I did and still do. Especially the amazing Shinji Hosoe OST. -cj)
Kotcrab has been kind enough to provide an update. Have an enjoy! Stay cool, and stay safe. – cj
Kotcrab here with this month’s update to tell you more about the tools we use for this project! Let’s start with the script editor. We’ve come a long way with this one. At the beginning, there was a big spreadsheet with all the text from the game.
From there, we moved to a simple application with three text fields: Japanese, English and notes. We wanted to add more functionality to the editor, but since we didn’t have the source code for it, JS created the new app you can see in the screenshot below.
It’s packed with features, but most notably it allows us to see a live preview of how the text will look in the game as you type. You can play audio and see the image for the character speaking the line. When editing subtitles, we can adjust the timings and simulate exactly how it will look in game.
This worked great assuming that only a single person was working on the script at a time. With more people joining the project, it wasn’t sustainable as merging two versions of the script was a time consuming process. The next step was to create a central database for the editor. Once we finished that feature, multiple people could work on the same script in real time. We’re able to track change history for each entry, suggest changes, and mark completed entries or ones requiring more attention.
We also designed tools to extract and repackage the game. The tools understand how to parse the game files and make all the necessary changes. They also assemble and apply code patches.
Both Extra and CCC make extensive use of archives. First you have the game ISO file which contains the main archive. This archive contains smaller PAK archives, which can either be the actual game files or more archives. For example, a texture bank file will contain multiple textures. Due to various reasons, a single file can be duplicated across many PAK archives and a PAK archive can be repeated multiple times in the main archive. Our tools fully automate the management of these archives webs. After changing a file or adding a translation, the tool figures out what needs to be changed and replicates the changes to the proper places.
Finally we have the patcher tool. Its main purpose is to take the patch file and input ISO then create a patched ISO. It’s a fairly recent addition to the toolkit, but it had to be made. At first, we used xdelta, but this produced huge patches due to how the games are packed. The first Extra mod was over 500 MBs and the CCC patch was estimated to be even bigger. With the new tool, the patch for Extra is just 11 MBs. Thanks to it, we can also provide an option for selecting which Meltrylis name to use.
To sum up, a lot of custom stuff was written for this patch. Some of it is already finding use in other projects. Hopefully we’ll be able to reuse more and more of these tools going forward.
Now for some progress updates~
The initial translation pass for the Extra subtitles is finished. It adds almost 800 subtitles for the in-battle dialog. Of course, this patch also includes all the changes from the first mod.
(don’t worry, this file is automatically generated)
Thanks to the help from our image editors, we have finished and tested all of the texture edits for CCC. This is 436 edited images. The last ones were the textures used in the prologue.
The CCC script translation efforts are going smoothly. According to our database stats, we have over 1000 edits per month on average to the main script. Let’s take a closer look:
Tools (extraction, insertion)
DAT (the main script)
5 out of 7 chapters done
Not started yet
Finally, it’s likely we will post smaller updates on our Discord. Last month, I shared updates on the two technical issues; check the pinned messages!
And beware the gatcha! Unless it’s for Ishtar, then it’s okay. Maybe.