Category Archives: hacking

Retrospective: Hellsinker Translation Development

So I volunteered to work on a translation for Hellsinker, a game by Ruminant’s Whimper.

“It’s just a shmup, how difficult could hacking it be?”

Famous last words.

It finally got released, and you can get v1.1 over here. It fixes a few minor issues over the initial release. Check it out. Huge huge huge thanks to Nazerine and Halbarad for doing the translation and image editing respectively.

Warning: Spoilers and technical babble ahead! Do not read if you don’t want them.

Also, brace yourself. This is going to be a long one.

Read more »

How I didn’t clip the sound effects.

As a certain recently released fighting game added rollbacks and then completely screwed up the ability to handle sound effects, I think now’s a good time to go over how RollCaster‘s sound engine works.

Before I get in on it, I want to get something out of the way though. This process is not in any way CPU intensive and anyone claiming this sort of thing would be hugely draining on a computer’s resources just so happens to be full of crap.

The case of doing this in a modern game that is being run directly on the native system is often somewhat different from the case of an emulator running an old game, so GGPO itself is not perfectly applicable here. Namely, you have to deal with the sound APIs instead of just saving the state of everything, which is a somewhat more complicated affair.

Alright! So, with that done, let’s phrase the problem here.

Read more »

Investigating RollCaster’s Timing Issues

After finishing the desync fix I thought I had finally finished. Shortly after, a few Japanese guys tried it out and got back to me that the timing was unstable, causing the frame rate to jitter unnecessarily.

Sure, I thought, it can’t be that hard to fix.

This started a very long process which led me all over the codebase, analyzing every last part of the process involved in it, for over a month. I’m sure nearly everyone who put up with me begging for testing and putting out updates is sick of me by now!

Read more »

Investigating RollCaster’s Desyncs

So RollCaster has had a long-standing desync issue. This is a pretty minor thing as far as the Western player base is concerned, since the community don’t have a lot of players and it happens infrequently enough that it’s more a nuisance than anything else. They probably thought I was mad for attempting to fix it.

If I wasn’t before, I sure went mad trying!

I was moderately successful, and I’m not sure it’s even possible to be truly 100% on this one so I’m not going to worry about it too much. Instead I’ll discuss the origin, strategy used for finding it, the results, and a ridiculous case of coincidence that popped up.

Read more »