When a game’s developer writes code, they usually* do it in a reasonably high-level language like C++. They have access to all sorts of nice things like variable names, function labels, comments, and so forth. When it comes time to run the code, it is compiled through something like Borland Turbo C++, and it is translated into assembly language (ASM) for the target platform, in this case the PC-98’s x86 processor. The compilation process strips away all of the useful names of things, determines exactly how all of the data needs to move between registers and memory, and does what it can to optimize the program. This much more difficult-to-understand code is what remains in the final .EXE that ships on the game disk. Since we don’t have the source code, we need to look to the ASM in order to understand and modify the game.
I had a lot of unsuccessful interactions with assembly language, across several projects, before I was finally able to successfully modify it, which I needed to for Rusty.
While we were finishing up the E.V.O. translation, we weren’t sure whether we wanted to work on more translations together. Our group didn’t even have a name yet. But we were starting to test the waters a little bit. Kuoushi was looking at Libros de Chilam Balam, and I was hearing about some other games in the PC-98 Discord server. I came across a tweet from another PC-98 romhacker, Nana, who had this to say about Rusty:
Rusty is the primary reason this little collage got out two days later than I had intended, haha. Game's code is a nightmare.
I had at least heard of the game before from its HG101 article, and for some reason I wanted a challenge.
Rusty was kind of a weird project in retrospect – it’s in a genre we usually ignore (hard action platformer), it looks an awful lot like it’d be a hentai game (which we just claimed we wouldn’t work on), and it doesn’t even have that much text. But it was where I started to develop some proper romhacking skills, like assembly modification and handling data compression
This actually happened yesterday, but between focus on real life and working on Appareden, we didn’t get this post out on the exact anniversary date. We’ll hit that date next year with something cool maybe. Or just another one of these posts, which should also totally count as something cool. Also, we didn’t post a one year anniversary post because we hadn’t exactly released any translation patches yet. Hell, we didn’t even have a group name until a month after that, and a website a month after that. That should give you an idea about how young the group really is.
In any case, let’s get to the meat of today’s post!
So if you downloaded our recent release of CRW Metal Jacket, you’ll notice that the patching process is a little different from what you may be used to. It doesn’t even resemble the patching process we ended up making for E.V.O.: The Theory of Evolution or Rusty either. Well, that’s because we decided to strip it down and make it as lean as possible to pass the savings onto you. But mostly just to make it compatible with as many computers as we could. The other thing we did was make the executable itself generic and take a configuration file as an input so that we wouldn’t have to build a new patcher for every single release.
Since this tool is helping us with our releases, we figured it might help others interested in the PC-98 to release their patches as well, so we cleaned it up and slapped a name on it, written some documentation for it, and now it’s available for you guys as an early beta version.
It’s been a few days since we released Rusty, and the response has been pretty great! You never really know what to expect while you work on these sorts of projects, but suffice to say all of our expectations were pretty much shattered by all of the positive reactions we’ve seen from press and individuals alike. Before we talk about that, let’s talk a bit about a few of the issues people faced while trying to use our patching process for Rusty.
First up, we accidentally included the x64 version of xdelta in our executable so anyone running the patcher on a 32-bit machine was unable to patch any of the files our patcher extracted from the Rusty disk images. Our bad. That’s been fixed. Another issue that we got a bunch of reports on was a bit more difficult for us to track down, but we did end up figuring out that a common build of the game is set to read-only. Whoops! We’ve included a better error message for that. Finally, we made the GDC Clock error message a little more clear (it’s translated in the game’s files now) so that people would know exactly what to check and where to look to get the game running. Not a huge amount for us to fix for this release, thankfully. Hopefully with this newer update to the patcher and the game’s files it’ll be even easier for you guys to patch and get the English version of Rusty up and running. You can get your hands on the new version over at the Rusty project page, or here:
Onto the fun part of this post, let’s take a look at all of the things people have been saying around the web. The first responses to the release are usually found on Twitter, and there were certainly a bunch of people who retweeted our initial tweet about the release, and it was picked up soon after by @RPGSite and @Suprise_News. After that, a number of articles started popping up starting off with Indie Retro News, Siliconera, and even our friends down under at Kotaku AU wrote a nice article about it. Those are just the English publications. There were also a number of foreign articles written by Otaku Freaks (Spanish), RetroGaming History (Italian), and RetroVillage (Italian). There have also been a few videos posted on YouTube that have the patch applied already as well (Svati and Hengki).
All in all, it’s been a fun release and we’re glad that you guys seem to have been enjoying it as well. We’ll hopefully have some more things for you guys to mess with coming soon!
So it’s been a few months since we released E.V.O.: The Theory of Evolution and announced a whole slew of new projects that we’d start working on. Well, we’ve got something to show off for all of our work. Here, have a translation patch for Rusty!
Fresh off the presses, here’s our trailer for our translation patch for Rusty!
We haven’t started proper playtesting just yet, but keep your eyes open for possible streams popping up soon. We’ve also just tested the patch on actual hardware and it appears to work just fine. Everything’s coming together quite nicely.
Hey everyone, been a little while since our last progress report. If you haven’t been following any of us on Twitter (kuoushi, hollowaytape, SkyeWelse), this news post will catch you up with everything we’ve managed to accomplish so far on all of our projects. No release dates in here, but it will be a pretty long post so get comfortable.
It’s been a little over a week since we released our translation patch for E.V.O.: The Theory of Evolution out into the world, and response from you guys has been nothing short of wonderful. When you spend a lot of time with a project you tend to start having doubts that anyone will play it. We were expecting maybe a couple hundred people to take an interest at the most, but our expectations have been exceeded by a fair amount. Before getting into that though, let’s get a few news items from us out of the way.