Fixing Prism Ark’s Choices with Simple Code Injection

This is actually the title screen I have since I was mucking around with images to figure out the file format.

Prism Ark has been a project that’s been on and off a few times, being translated by Aroduc. Part of the reason for the ‘off’ parts was because of technical issues, things I wasn’t able to or didn’t have time to fix. I take a lot of the blame, it’s easy to have too many things to do and not have time to dedicate on some projects. Part of the reason though is that some of the work required was beyond my technical understanding. Fixing technical problems are hard when you don’t know how to do so.

The main issue is that unlike past technical issues I tackled on other games, which I sort of fudged my way past with IdaPro and a hex editor, this game definately required the ability to modify or rewrite some of the code in order to make it work. I procrastinated a lot, to the point where I’m not sure if Aroduc has just completely given up and dropped the project or not. Still, I wanted to make good on my promise to fix the remaining technical issues, even if the project no longer is moving forward.

The breakthrough came when I got SVN access to the Rance VI project. SLC, the programmer involved in the project, performed a series of elaborate changes to the game in order to upgrade the game for the English release, and I was able to see how it worked. I used that as a starting point to try to understand how to do changes directly to a games code. I experimented, and eventually came to an understanding of how it works on a simple level.

This post is a tutorial of sorts, explaining how to do the changes to fix a text related issue on the game. Some of the terminology and methodology might be rough, since I’m just learning as I go, but I hope that this might be helpful in getting someone pointed in the right direction. Read more of this post

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

Mad Haxing, and Other Busy Work

Sorry about the lack of recent updates, I’ve found myself in a situation where I’ve got a lot of stuff on my plate all at once.  I figured I’d take a moment to show off all the fun and interesting things I’ve been working on.

Mangagamer Titles

I did testing for this game, Harukoi Otome. It’s cute, but like Koihime, holy sh*t is it long. Too long for my poor attention span.

I wrote a post over at the Mangagamer blog when I was first getting started, but I’ve been doing a variety of work for Mangagamer recently, including testing and more interestingly, programming and script work.  I’ve been working on all the titles that have been coming down from Softhouse Seal, doing engine localization and text insertion.  It’s pretty grunt level work but I can automate a lot of the text stuff and focus more on engine details.  So far ‘Sexy Demon Transformation’ and ‘Boob Wars’ have been released (If you encountered the crash bug in the original release, that was my mistake), and I’ve mostly finished up on SSSS – Super Secret Sexy Spy.  There’s more in the pipeline I’m sure, but I haven’t started working on any of the newer titles.

Mangagamer’s decision to go with the Softhouse Seal titles is interesting.  I’ll be the first to say that they aren’t exactly masterpiece games, but they are relatively fun for what they are (which is a attractive looking – compared to say magical teacher- sexy romp with a lighthearted story and a wide variety of sexual scenarios).  I actually liked Sexy Demon in particular, since it had some pretty creative scenes. While I’d rather see higher quality titles get translated, these titles are fairly quick to localize and sell pretty decently.  I don’t think these nukige are replacing the big name titles that MG does, they’re just filling in some of the gaps between releases.  They don’t sell as much as those flagship type plot focused titles, but they do require only a fraction of the translation muscle to localize.  I hear Boob Wars is actually selling fairly well, at least well by normal sales standards.

I’m also working on a separate title, one that’s been requested fairly frequently by MG’s fans.  I’m not allowed to give it away, but it’s being given quite the treatment.  I’ve been tasked with completely porting the game from it’s original game engine over to the Kirikiri game engine, the same one that runs the seal games, Kara no Shoujo, Jast’s Girlfriend is the President, and a whole bunch of other titles (it’s a very common free open-source game engine).  I must admit, my experience with the game engine before hand was quite limited, but I’ve gotten pretty good at using it.  It really is a quite advanced engine, and you can do a lot of things with it, but damn, it can be a little fickle at times.

Doing a full port is really quite interesting, but there’s a lot of work to do it.  Like, a LOT of work.  It’s a bit strange, since the original game engine wasn’t too bad for English text, but the company doesn’t have any staff available to support us since they’re all busy working on their new title, so porting seemed the best option in order to make the project feasible.  Relying on the Japanese companies to do a lot of the technical work can be difficult sometimes since they often don’t have dedicated staff to handle our concerns (and often it wouldn’t be economical to do so).  Doing things on our own gives us a bit of leeway and speeds up the process a lot. Anyways I’ve gotten kind of attached to the game, having put in so much time working on rebuilding it from the ground up.  It’s a big undertaking, and I will probably write a bit about the process once they actually announce the title.

On another note, I’ve also been doing some testing for Mangagamer.  I’ve worked on the re-edit for Koihime for the voice patch (which arguably made the game’s text bearable), and Harukoi Otome.  They’re both decent games, but holy cow they are long.  I do have a spare free game coupon that I don’t really need, maybe I’ll just drop it on the /vg/ VN thread or something.

Trample On Shatten!!

Probably the first time I’m mentioning this one, I’ve gotten involved with Moogy and Makoto over at JAST to do work on their recent acquisition, Trample On Schatten.  The original game engine is a spectacular train wreck when it comes to English text, so I will be porting this game as well to the Kirikiri game engine.

Schatten is a fairly action heavy game, as opposed to the Mangagamer title and there’s a lot of fancy on screen effects, movement and transitions, which complicates the porting process a lot.  Effectively what I did is I built a tool that compiles the original game scripts into equivalent Kirikiri scripts, and then work in all the functionality into Kirikiri that the original game requires to run.  If that sounds like it’s hard work, you would be right.

Progress is pretty good so far.  At the moment the entire first chapter plays (more or less) correctly in the new game engine.  There’s a lot of features that are missing, important things such as save/loading, message history, the gallery, and the scene select system thingy the game has… but it’s coming along well.  Moogy’s plodding along with the translation too, so hopefully we can work this one out before dragging it into JAST TIME.

Honestly it is a little weird to be working for both players in the English VN market, and I’ve heard a couple of joking ‘working with the enemy’ comments too.  But both of them are pretty cool though and I’m actually pretty happy to be working with both of them.  The differences in process between the ways each works is intriguing, although I guess I have to be careful about what I say and who I say it to.

Grisaia no Kajitsu

Koestl has been making steady progress on the game’s translation, having completed Amane’s route, and nearing completion on Sachi’s route.  That’ll put the entire project’s translation progress at about 60%.  I’ve not been doing much work personally on this lately, since the tools are all pretty solid and no major technical issues remain.  There’s still some interface translation work and some work in entering modified images, but at the moment there’s not much that needs my immediate attention.  Koestl’s the real hero for his work on translation, it’s amazing that he can keep dedicated and continue steady progress after all this time.

Other Fan Projects

I created this glorious piece of art while attempting to get duel savior to load new images. It took a lot of wrangling to get it to this point, but it worked.

I’ve gotten asked to help out on a few other random projects.  I helped Pun-kun with some text insertion tools for his Majikoi S project, although it was a relatively minor contribution. I helped Aroduc with his duel savior project, wrangling with the massive nightmare that is giga’s game engine. I didn’t do the hard stuff, but I did do a bunch of exe hacking, which was fun.  I also had to reverse engineer the ps2 version of the game to get all the voice files out (shout out to the people who worked on the Tomoyo PS2 project since I was able to re-use the decryption routine with Duel Savior).  I couldn’t decrypt the image data though, so I think Aroduc actually ran through the ps2 version in an emulator and captured all the cg directly.  Crazy.  Working with Duel Savior was a huge pain since the game engine hates everything, I wouldn’t be surprised if there’s a huge number of issues still present.  I heard CG unlocks were still broken for destiny route… but there’s not much I can do.

There are a few other random projects I’ve done work on, although not much I can talk about. One of them had maids in it though.  Mmm, maids.  At some point they’ll probably get announced,  or may not.   The unfortunate thing about doing technical work for games is that a lot of the time the work is very front loaded on a project.  Translation on the other hand is often the opposite, and drags on a very very long time.  I’ve only been doing this for a little bit and have already run into doing work for projects that effectively go nowhere, but I’ve put in a whole bunch of hours on.  I can see why the VN scene loses hackers at a steady rate, since they probably get burned by failed projects a few too many times.

I’m lucky in this regard, working with JAST and Mangagamer at the moment, as it’s unlikely I’ll really run into the issue of projects getting canned or abandoned.  Working with Koestl and co as my first project has really been a great experience, and while Duel Savior was frustrating to work on, working with Aroduc was cool. I’m certain he somehow has more hours in a day than I do cause he somehow gets a huge amount of work done in a short period of time. The reception seems to have been quite positive, despite some of the remaining bugs.

Here’s hoping future projects will go as smoothly.

Customs Declarations?

So I finally got my latest swag in from Japan.  This time I ordered from J-List since they had a good deal on a game I wanted to play from a looong time ago.  Customs didn’t open my package though, so I took a look at the declaration.  ‘See other invoice’ as a description of contents.  Are they even allowed to do that? I have a feeling that you aren’t. 😛

The other invoice itself is located below enough tape that it wouldn’t be a stretch to suggest that it would be actually easier to open the box rather than actually extract the invoice from the envelope.  But anyways, lets look at the invoice.

I’ve seen a lot of unique invoice declarations, but this one is new to me.  I’m sure there’s a joke to make here, but it’s too much of a stretch.  I’m not really sure what to think about it. J-List isn’t unique here, everyone I’ve imported from has tried to play down the contents, including Amazon Japan.  It seems pretty standard practice, but this one is still unique.  It’s funny though, if absolutely everyone lies to the government about what they’re importing, I wonder what the point of it is?

The ‘glue’ in question.  Yeah, I’m like… 6 years behind the times, but it’s a game I’ve been meaning to play and the time may be right!

Well, they must have done something right though since customs didn’t open it.  They always open my games, Canada customs is pretty paranoid that way. It’s like they just presume that everything from Japan is immoral and need subjugation by the censorship cops.  I’m kind of amazed you can get away with declaring goods in that way though. Maybe if they catch you lying you’ll get in trouble, I don’t really know!

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.

Overdrive 5th Anniversary Live

Overdrive’s 5th Anniversary Live Concert ‘Second Literature Club Band vs Deardrops’ was on October 8th, and was all kinds of awesome. As you’d imagine, it had both Deardrops and the d2b Band (from Kira Kira), as well as Star Generation and Leo, bands featured in those games.

Airi (singer for Kirari) had damaged her voice though which kind of brought down the performance a bit. It looked honestly painful when she was singing, but she tried really hard and gave a good performance none the less.

I know you shouldn’t do this (hopefully I won’t get in trouble! >.>), but I made a clip made of bits and pieces from the concert. If you want to watch the full thing, you can still get a ticket up on Nico video and timeshift the concert until the end of the year (link).

Get the Flash Player to see this player.