EXE Haxing – Replacing Strings, The Hard Way

titleI was originally just going to explain things to Aroduc, but I figured I needed to make it pretty elaborate so I may as well just make it public. I had a hell of a time finding any information online on how to do this and kind of just winged it, so I figured I’d share some of that knowledge. Note that I’m pretty bad at this, so what I say may not always be right or the best way to do things!

So lets say you’ve got a game you’re working on translating as part of a fanTL project. Due to the awesomeness of the internet and VN community, you’ve got all these tools available to localize a game, but not all the text you need to modify are in those resources. Some of them are in the game’s own executable file. How do you handle that?  Well, it’s complicated. Read more of this post

Code Highlighting for Kirikiri in Sublime Text (and more)

* This post doesn’t have a lot of merit for non technical users, sorry. 🙁

Since I’ve been working a lot with the Krkr engine (Pronounced Kirikiri), I’ve been working a lot on building a useful work environment for writing scripts up, which I figured I’d share in case there’s someone out there who could make use of it. Read more of this post

More Kamikaze Explorer

Kamikaze Explorer takes place in the not so distant future, where the oceans have risen and changed the way of life. Our protagonist Hayase Keiji transfers into a school for people with special abilities, because like the real future, kids start getting all kinds of special powers.  Keiji hooks up with a group of local students and joins Argonaut, a club with the purpose of solving problems and helping people. The special abilities thing feels like the TV show Heroes if the show was instead a Japanese high school love adventure. Like Heroes, character abilities range from passively useless to hugely overpowered, and again like the show the main character discovers his ability to gain and use the abilities of others.

But of course, the plot is really just an excuse to have a lot of really cute girls come together and interact with each other, which is what the game does best. The characters are all kinds of awesome and cute, and they play off each other in an enjoyable way. The game has the nickname ‘oppai explorer’ for a good reason, but what I didn’t expect was that the… soft (for lack of a better term) look to the characters was enough to make even a battle hardened lolicon a fan of the game. I’m not admitting anything there, I’m just saying. But yeah, the game is beautiful, from the character stand animations, the interface, and the HD resolution. A very good looking game.

And a good game in general, but for me it also ended up being a random target for hacking.  I was looking for something to do so I messed around with the idea of being able to modify the in game text of the game.  My Japanese still isn’t very good (I haven’t taken JLPT but I’m not at the level where I could do JLPT3), and while understanding ~50% of what’s going on is better than nothing, translation requires you to know 100%.  And hopefully, makes me better at the language in the process.

Don’t take that as a sign that I plan to translate the game or create a patch.  I just said that my Japanese knowledge is too weak to create an accurate translation, and whatever I do I probably won’t end up releasing publicly.  Mangagamer has mentioned Clochette is in talks with interest in coming to the English market, so with luck we’ll see it in English without the requirement of a fan translation.  On the other hand, maybe having experience with the game and game engine might prove useful for such an official project.

The Technical Stuff

I don’t plan on releasing a patch myself, and if I did, it would be just the demo.  And would probably be translated poorly, oh so poorly.  It can’t be any worse than the result when I fed the entire script through google translator, you really really don’t want that version of the game. 😛  But, I do have tools and stuff that might be useful if someone else wanted to work on it, or probably more importantly, other games that runs off of Windmill’s CatSystem2.

CatSystem2 has some limitations for running in English.  For one, it doesn’t seem to work in English language mode, you need to run in Japanese or use Applocale.  I THINK this has to do with font and configuration stuff, but I’m not smart enough to fix it.  The tools also compensate for a few engine limitations.  It will automatically add line-wrap to English sentences, it will change apostrophe’s to backquotes (because the engine will attempt to close quotes automatically, breaking things), and in the case of options, where spaces can’t be used it will automatically convert spaces to fullwidth ones that work.

Well, it should be simple enough to figure out, but there’s a readme with additional details in it.  You’ll need to install PHP to run from the command line with the multi-byte string (mbstring) module enabled.

Download the Tools

It so annoying to make the 100 of these needed for the full game...

CatSystem2 uses images for character name tags, so any attempt to translate the game will require you to create a new set of nametags and convert them to CS2’s HG3 image format.  The tools to do this are on the CatSystem2 homepage, which is here, there should be a tool WGC.exe which can convert a specially prepared Photoshop PSD file to HG3.  There’s directions on the CS2 site for this, but I created a full set of nametags for the Kamikaze Explorer demo.

Download the PSD/HG3

If you drop that into the Kamikaze Explorer\image directory, it should be automatically picked up.  The PSD file has layer names which correspond to the character ID’s in the name_table.csv inside of the config.int file.  It shouldn’t be too hard to figure out if you needed to make any changes.

And just to be completely random, I have a mirror of the demo here, since my friend is way too lazy to find it himself.

Kamikaze Explorer Haxing

Bamboo (president of Overdrive and head man over at Mangagamer) recently had a livestream meeting with fans (read the summary), where he mentioned that they were in talks with Clochette over their title Kamikaze Explorer. It’s actually the only ‘unannounced’ title they mentioned by name, and I’m really excited about the possibility of seeing it in English.

This discussion of Kamikaze Explorer convinced me to whip out (figuratively speaking!) my copy to mess around with it for a bit. Don’t get any bad ideas, I was just interested in casually hacking around with the game’s data files. It’s not terribly hard it turns out, since its based on Windmill’s CatSystem2 novel script engine (which is a sexy sexy game engine). I messed around a bit with text insertion as you can see above, but rest assured I have no intention of translating the game. That would be crazy. 😛

To a person like me, I don’t usually think about how much work goes into these games. It’s probably common to think of them as being simpler than your regular game to make, but that’s not really true is it. I took out all of the game’s audio files, just to see how much actual dialog there was, and came out with this:

To me, 34 hours of spoken dialog is kind of mind boggling. As a comparison, the number of lines is roughly equal to that of Mass Effect 2 (which claims 25000 lines). Unlike Mass Effect 2 though, spoken dialog only covers about half of the text in the game since your own character is unvoiced, as well as lines showing character thought, description, and narration. Just coming up with a script big enough to have 34 hours of spoken dialog must be all kinds of absurd.

In terms of art assets, the game has about 17000 individual art assets. These range from individual buttons, face variations for individual character poses (and even different copies for various levels of zoom), etc, but it’s still a crazy amount of data.

I suppose you shouldn’t look down on the genre and the people who make it just because the games appear simpler than your traditional game, because they are complex in their own way. One doesn’t look down on a novelist just because he doesn’t add visuals to his work after all. I guess it’s kind of eye-opening just how big these games are and how much work must go into them. I also pity the poor translator over at Mangagamer who’s going to have to go through the whole thing. 🙂

Edit: Further investigation shows the game is just bloody huge.  Approximately 1.4 million text characters.  Apparently Overdrive/Mangagamer’s Deardrops is only 800k characters long, and it’s not a short game by any stretch.  I hope the length doesn’t negatively affect the chance of Clochette and Mangagamer striking a deal.