Hello! I hope you’re still enjoying the Bulk Slash English localization patch and have had a chance to unlock and level up some of your favorite navigators. Let us know which navs are your faves! Meanwhile, it’s time for another inside look at how we made this thing.
In the last blog, I explained the team’s rationale for ruling out the possibility of implementing in-game subtitles. I prefaced that rationale with the disclaimer that none of the members of the project’s core team were software developers. What I didn’t know was that Shiro insiders and prolific Sega homebrew developers Knight0fDragon and Derek (aka “ateam”) had spent days independently investigating if a subtitle hack was feasible, and had ruled it out conclusively.
It’s nice to have this additional peace of mind about our decision, but I do think it’s an important aspect of this patch’s story that it was mostly created by beginners with no substantive technical background. Danthrax and Mampfus had both contributed to a few previous fan translation projects (Dan: Cotton 2, Rainbow Cotton, Sakura Wars Columns 2; Mampfus: Assault Suit Leynos 2 (work in progress)), but I was brand new to the scene and effectively had zero relevant know-how, apart from my Japanese language ability and familiarity with Bulk Slash itself. Knight0fDragon did provide vital development work and advice throughout this project, but we tried to do as much as we could without leaning on him since he was already juggling several other projects.
That said, it’s only thanks to Knight and other Shiro insiders that this project ever got off the ground. My earliest conversations in the Shiro Discord were with Knight0fDragon, Derek, TrekkiesUnite118, and Malenko teaching me the most basic of basics of computing. To paraphrase one early interaction:
K0D: Do you understand what a binary file is?
Me: No
K0D: All files are binary files
Me: Okay slow down
Knight explained to me the concept of text encoding, and the need to use a hex editor to examine and manipulate the game’s Shift-JIS-encoded Japanese text in its binary form. For Bulk Slash, we used a hex editor called HxD. Knight also linked me to a table that showed the corresponding hex codes for every character in Shift-JIS.
To even make sense of this table, I had to learn about hexadecimal, a base 16 number system used to represent binary data. Knight assured me I would have learned this in Algebra 1 in middle school. That may have been true, but I took Algebra 1 the same year Bulk Slash came out, and unlike Bulk Slash, it hadn’t come up since.
The above information was enough to get me started. I found the Stage 1 briefing text in my Bulk Slash disc image’s hex data by searching for the hex code for the first few characters of Japanese text.
I then changed the first four digits, which represented the first character of the briefing text, to “8260,” the hex code for a capital “A” in Shift-JIS. Voila!
Magic. I can only imagine how silly this all sounds to anyone with even a moderate familiarity with how computers work, but for this liberal arts kid, the first experience altering the content of a video game was profound. After a full weekend of tinkering, I produced this:
and then this:
It quickly became apparent we’d need to do something about the character width. We’ll cover the ins and outs of Danthrax’s tilesetting travails in a separate blog post, but for now, suffice it to say “doing something about the character width” was hard.
Now about that VO…
It was mere hours after this initial text swap success that Danthrax and Mampfus first reached out about helping with the project. They both quickly surpassed my level of competency in manipulating hex, and we began experimenting with the game’s VO files. Knight0fDragon helped us determine which files in the game data held the VO audio, as well as how the audio was formatted.
Initially, extracting each individual soundbite was a tedious process of sifting through large swathes of hex data, and copy-pasting blocks of it into separate binary files for each line of VO. Each navigator had about seventy-five lines of VO, which took three to four hours to extract. Knight0fDragon suggested we learn how to code ourselves a tool to automate the process, or find a generous friend who knew how. I didn’t think learning to code from scratch would be more efficient than our current pace, so Mampfus and I went back and forth on Discord for a long time, trying to hone the process as best we could.
Finally, Knight put us out of our misery.
Within a week or so, Mampfus produced this proof of concept.
I also made one, just to prove to myself that I could. It took me considerably longer.
This video also proved we would need someone better than me to voice Leone Rhodes. It was time to start auditioning actors. Each of us put out feelers within our respective social networks. Mampfus spoke with a curious work colleague named Saskia, I reached out to my close friend and seasoned stage actress Diana, and Danthrax learned of an English actress called Dark Mysty, who was referred by one of the copy editors from the Sakura Wars Columns 2 translation project, Burntends.
More on our auditioning and recording process to come in a future Shiro blog!
Be the first to comment