Author Topic: What's the best way to package a game translation?  (Read 660 times)

elmer

  • Hero Member
  • *****
  • Posts: 2154
What's the best way to package a game translation?
« on: July 02, 2015, 04:03:58 PM »
The PC-FX Zeroigar translation is in it's final stage, and I'm trying to get the patching process to be as user-friendly as possible reasonable.

At this point the patching will have to be done on a Windows machine (XP or better).

Does anyone have any advice on what I should expect the user to do?

At this point, I'm thinking that the user will receive the translation as a 1-2MB zip file.

They'll unpack that zip file which will create a handful of directories.

The user would then have to obtain an image of the Zeroigar CD in .cue/.bin format, and then copy the 2 files into the "original-cd\" directory.

They'd then double-click on a batch file called something like "make-translation.bat" ... and it would chug away for a while and, if everything goes right, produce the translated CD image in ".cue/.wav/.iso format in the "english-cd\" directory.

Does that sound reasonable to people?

SamIAm

  • Hero Member
  • *****
  • Posts: 1835
Re: What's the best way to package a game translation?
« Reply #1 on: July 02, 2015, 04:58:28 PM »
You know where you could get some good answers? romhacking.net. They'll let you know if any standards have been set.

I'll copy/paste your post if that's all right.

Patches are by far the most common way to release a translation, and they're definitely what people are going to expect. Looking at other releases of CD games, it seems like PPF and xdelta patches are the norm.

However, releasing a custom executable patcher seems to be something very unusual. I can't find one Playstation translation that does this. I almost wonder if releasing executables is somewhat shunned.

We might like to set up an xdelta patch just as an alternative anyway.

For those wondering why we don't just go with a patch in the first place, it's because a plain patch is going to be over 100MB. elmer's tool and the script files are, as he mentioned, going to be about 2MB zipped.

elmer

  • Hero Member
  • *****
  • Posts: 2154
Re: What's the best way to package a game translation?
« Reply #2 on: July 02, 2015, 06:01:37 PM »
You know where you could get some good answers? romhacking.net. They'll let you know if any standards have been set.

I'll copy/paste your post if that's all right.

I don't have an account there, so please go ahead. I'll be curious to hear what they say.

Quote
We might like to set up an xdelta patch just as an alternative anyway.

I'd be happy to have an xdelta version out there for those people usings Macs or linux, or who just don't like downloading strange executables.

I do like xdelta as a nice cross-platform solution ... it's just that it doesn't do a particularly good job in this case because the subtitle insertion code is doing a lot of processing on the videos that makes them look very different to xdelta ... even though it actually 100% preserves the m-jpeg bitstream.

dshadoff

  • Full Member
  • ***
  • Posts: 175
Re: What's the best way to package a game translation?
« Reply #3 on: July 04, 2015, 12:09:50 AM »
As for file formats...

When NightWolve was packaging his Xak3 and Ys4 patches a few years ago, he used PPF.  I'm pretty sure that Playstation and Saturn patches are also distributed as PPFs.

IPS has a limit of 16MB addressability; otherwise it would probably be used for an image this large too (it's the most common for smaller ROMs).

For this reason (and a few others), Derrick Sobodash (aka 'D', 'D-Boy') came up with a universal patching format called 'Ninja'.  But I haven't seen anything packaged with it.


I don't recall whether PC-FX is based on ISO-9660 or whether it's raw data like PC Engine, but...

CUE/BIN patching has the additional drawback that all the ECC code in the sectors (304 bytes on top of a 2048-byte sector) is recalculated, and would need to be part of the patch.  That's even for sectors with only a few bytes altered.  But on the other hand, extracting individual tracks is more problematic (fewer people are able to manage, and there is sometimes problem data at the interface between tracks).


In summary, even though your patch will be large (much larger than you think it ought to be), I think PPF is the way to go.

Dave

elmer

  • Hero Member
  • *****
  • Posts: 2154
Re: What's the best way to package a game translation?
« Reply #4 on: July 04, 2015, 11:55:06 AM »
When NightWolve was packaging his Xak3 and Ys4 patches a few years ago, he used PPF.  I'm pretty sure that Playstation and Saturn patches are also distributed as PPFs.

IPS has a limit of 16MB addressability; otherwise it would probably be used for an image this large too (it's the most common for smaller ROMs).

For this reason (and a few others), Derrick Sobodash (aka 'D', 'D-Boy') came up with a universal patching format called 'Ninja'.  But I haven't seen anything packaged with it.

I believe that "xdelta" and maybe even "bps" have pretty much taken over the world of binary patching since then.

You can even see BurntLasagna asking about using xdelta for the Ys4 patch back in 2012 ...

http://www.romhacking.net/forum/index.php?topic=15065.0

I really like that xdelta is standardized and available on all platforms.


Quote
I don't recall whether PC-FX is based on ISO-9660 or whether it's raw data like PC Engine, but...

CUE/BIN patching has the additional drawback that all the ECC code in the sectors (304 bytes on top of a 2048-byte sector) is recalculated, and would need to be part of the patch.  That's even for sectors with only a few bytes altered.  But on the other hand, extracting individual tracks is more problematic (fewer people are able to manage, and there is sometimes problem data at the interface between tracks).

I definitely want to patch against the extracted tracks for exactly that reason ... but, as you say, getting those extracted tracks is often not as easy as getting a .cue/.bin image.

For instance, ImgBurn will natively produce a .cue/.bin and not extract the individual tracks, and I've only seen online rips of the Zeroigar CD in .cue/.bin format.

So I just extract the separate .cue/.wav/.iso tracks from the .cue/.bin before patching. It's pretty easy with BinChunker, so I built that into the patching process.

The PC-FX is raw data, just like the PCE, and not ISO-9660.


Quote
In summary, even though your patch will be large (much larger than you think it ought to be), I think PPF is the way to go.

Now that we're copying the original video instead of recompressing it, I've just tried the xdelta process again, and the xdelta patch is now down to 14MB in size.

That includes expanding the .iso file another 11MB to cope with relocating one of the videos to the end of the CD image.

That's something the only a delta-based patcher can handle with any kind of efficiency.

PPFStudio refuses to even try to create a patch with the differently-sized .iso files.

elmer

  • Hero Member
  • *****
  • Posts: 2154
Re: What's the best way to package a game translation?
« Reply #5 on: July 04, 2015, 12:57:57 PM »
PPFStudio refuses to even try to create a patch with the differently-sized .iso files.

I expanded the original .iso to the same size as the patched .iso and tried PPFStudio again.

I got bored waiting for it to finish whatever the heck that it's doing (it is really, really, really slow), and so quit out of PPFStudio before it was finished.

The .ppf file was already at 244MB ... so it's really not going to be an option.

SamIAm

  • Hero Member
  • *****
  • Posts: 1835
Re: What's the best way to package a game translation?
« Reply #6 on: July 04, 2015, 01:21:48 PM »
There are definitely some translation patches out there in xdelta format. romhacking.net even hosts a nice little homemade frontend for it.

http://www.romhacking.net/utilities/598/

elmer, I read your post at romhacking's forums. My vote is now for an xdelta patch as the main release.

For those who haven't seen it, changing some configurations in xdelta resulted a 14 MB patch. That's pretty reasonable, I think.

elmer

  • Hero Member
  • *****
  • Posts: 2154
Re: What's the best way to package a game translation?
« Reply #7 on: July 04, 2015, 03:33:46 PM »
There are definitely some translation patches out there in xdelta format. romhacking.net even hosts a nice little homemade frontend for it.

http://www.romhacking.net/utilities/598/

Yep, I used another frontend  from there ...

http://www.romhacking.net/utilities/704/

I imagine that we'll use at least 16MB by the time that we've got the patching utilities and the pretty documentation into the release package.

We'll have to write up a step-by-step process for Mac and Linux users.  :roll:

VenomMacbeth

  • Hero Member
  • *****
  • Posts: 1837
Re: What's the best way to package a game translation?
« Reply #8 on: July 04, 2015, 04:33:24 PM »
Best way to package a translation?

Apparently in cardboard jewel cases in a super limited edition box set with collectible coin. -_-
Play Turbografx.
Play the Turbografx. PLAY
THE TURBOGRAFX!!!!!!

Buh buh buh, I have almost all teh games evar.  I R TEH BESTEST COLLECTR!!

dshadoff

  • Full Member
  • ***
  • Posts: 175
Re: What's the best way to package a game translation?
« Reply #9 on: July 05, 2015, 01:46:36 PM »
For those who haven't seen it, changing some configurations in xdelta resulted a 14 MB patch. That's pretty reasonable, I think.

Much more reasonable than I expected.
Sounds like the way to go.

-Dave

Necromancer

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 21374
Re: What's the best way to package a game translation?
« Reply #10 on: July 06, 2015, 02:01:16 PM »
Don't worry about how easy it is for the end user.  People that're lazy and/or suffer from limited brain power (I fit both) will find a site to download it pre-patched anyway; they might as well, seeing as few own the game anyway.
U.S. Collection: 98% complete    157/161 titles

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: What's the best way to package a game translation?
« Reply #11 on: July 06, 2015, 03:15:01 PM »
Just release it for free and then let f*ckFaceTobias do it all for you!

[/sarcasm]
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

elmer

  • Hero Member
  • *****
  • Posts: 2154
Re: What's the best way to package a game translation?
« Reply #12 on: July 09, 2015, 12:07:52 PM »
Just release it for free and then let f*ckFaceTobias do it all for you!

Hahaha ... with Zeroigar, Pia Carrot, and maybe, in the future, Team Innocent, he's got himself a 3-pack ... and you know how he likes those!

It's another reason to make a translation dependent upon the translation team's own copyrighted code.

Then even when the original game's copyright owner just turns a blind eye, at least the translation team still has some legal standing to stop him from distributing their copyrighted code ... and therefore the translated game itself.

Not that he'll have much interest in the PC-FX, anyway ... but ... you never know.