Kurayami Gets a New Lease on Life

She even looks good in ASCII
She even looks good in ASCII

It’s hard to believe that this project first got off the ground nearly a year and a half ago! As with many fan-led projects, there have been moments of amazing breakthroughs followed by stagnant periods where nothing can be done until the next technological hurdle can be overcome.

With that said, I come bearing some good news and bad news. Since suspense is the name of the game, that means we start with the bad news… but I assure you, the good news is more than worth it!

The Bad

Unfortunately for yours truly — along with pretty much anyone awaiting the translation patch — I wasn’t able to find any reliable way to get past some of the biggest issues facing a release of the translation:

  • Getting the ISO to run reliably on modern Windows machines while also playing the cd audio
  • Expanding translations beyond their original character count

A fickle-minded audio player

The first issue, pertaining to the cd audio, was a particularly vexing one. The whole appeal of the Windows release of Kurayami (ignoring for a moment the perk of not needing an emulator) was that it included much better audio than the original PC-98 release.

However, despite trying the game out on four different PCs (two laptops, two desktops), three different DVD drives, and even in virtual machines (WinXP and Win98), I was unable to get the cd audio to play reliably. Even stranger, it actually did play on one of my PCs, but I couldn’t find any settings differences that would explain why it worked there and not elsewhere.

This ultimately meant that, if we were to release a translated ISO (or patch thereof), there was no way to ensure that end users could actually get the full, proper Kurayami experience. And that just wouldn’t do!

Transl8 in shrt-hnd

While I was able to successfully dump allmost… a large majority of the game’s script, I wasn’t able to find the part of the program that actually utilized the script; i.e., how it decided to branch between dialogue options and what to load and when.

Since the pointers were hard-coded somewhere in the program, that meant that it tried to jump to specific addresses, and if it didn’t find the right data at the designated address, the game would reset to the very beginning, causing you to lose all progress and getting you trapped in an infinite loop.

What does that mean for the translation?

Well, it means that we were only given enough room as the original Japanese text to squeeze the translation in. For anyone familiar with NES/SNES-era RPG translations (with their ATK, DEF, Fir, Lit, and Ice, etc.) is probably well aware what that does to an English translation when you’re working against tight character count constraints.

While this didn’t impede the ability to release a translation, it certainly hindered the quality of what we could release.

This leads us to…

The Good

After giving these issues a lot of thought, ultimately I decided the only realistic way to get this game into the hands of fans in a timely fashion, and with a degree of polish that I could be proud of, was to port it instead.

By making a native Windows port of the game targeting modern PCs, we can (reasonably) ensure that the CD audio — ripped straight from an actual, physical CD copy of the game — plays correctly at all the right times and also make the translations as long as they need to be.

While my intention is to make the port as faithful to the original as possible, I also hope to add some optional quality-of-life and customization features to the game. But I’ll leave the details on that for another time.

At present, I’m working toward a modern Windows port of the game that you can download and run straight from your PC, but once that’s done, I’m hoping to release an HTML5 port of the game that will run straight from your browser. Then you can get your Kurayami fix on your smartphone, tablet, PC, and more!

The current Windows build of my Kurayami port is very much a work-in-progress right now, but I hope to have enough finished in the next few weeks to show it off in a video. Stick around for more fun updates soon!

Before I go…

Since I’m going to be coding Kurayami from the ground up, I’d like to hear from you about what kind of modern quality-of-life upgrades or changes you’d like to see in the game to make it a bit more accessible/fun to play.

Whether or not I can do it is another story, but the sky’s the limit right now! Let me know down below what features make visual novels fun for you!

4 thoughts on “Kurayami Gets a New Lease on Life

  1. Alpharobo says:

    Nice work! I don’t have any suggestions, but I am impressed by your dedication and want to wish you the best of luck!

    It’s a moot point since you were targeting the Windows release and are rewriting the engine, but you got me curious to take a peek at the PC-98 version. I don’t know whether the Windows release uses the same format or not, but looking at the script data loaded into memory it looks like the PC-98 version uses “16 xxxx” to jump to memory location xxxx. If you can unpack the script files those pointers can be adjusted, so at the very least it should be possible to backport your translation to that version if you were so inclined.

    1. JREM says:

      Thanks for the info! So far I haven’t done much work poking around in the memory for the Windows version — mostly because of the issues faced with not getting the music to reliably play — but it’s nice to know that there may actually be options for squeezing the translation back into the PC-98 game.

  2. Kirinn says:

    Kurayami is certainly high on my to-play list, it’s always sounded so interesting! Of course, creating a fresh engine is a big undertaking, so no doubt this project’ll be a while yet…

    Actually, I hope you’ll share some more details about the EVE.PCK file and the game’s scripting. I like to document that kind of reverse-engineering information. Perhaps another website update soon? 😀

    1. Mari Watanabe says:

      Thank you! We plan on another update about the ins and outs of the program(s) used. The original PC-98 version is what we’re translating, since any reverse engineering unfortunately went south.


Leave a Reply

Your email address will not be published. Required fields are marked *