Author Topic: Xanadu II Translation Development Blog  (Read 21822 times)

elmer

  • Hero Member
  • *****
  • Posts: 2148
Re: Xanadu II Translation Development Blog
« Reply #555 on: April 09, 2017, 10:17:20 AM »
So the translation patches for both games work (presumably) bug free now?  The only thing that's left ( :lol: only) is the voice acting?

Whatever was going on with that one file, it didn't cause any visible on-screen problems, and certainly won't now.

Both games have been completely played-through with no known bugs or glitches.

The only thing left undone on my side is the credits screens for both games (LoX2 has been hacked and is waiting for the final text, LoX1 hasn't been touched yet). They both waiting for the names of the English VO actors.

After the actual VO-insertion, I'll still have to fix up the lip-sync. It's hacked, and I know what to do, but it's going to be a huge, slow PITA to actually do it.

Then there's re-syncing the LoX2 introduction after we've got the new VO in there (that's one of SamIAm's jobs, since that's all in script-code).

Then a final play-through to make sure that it's all working ... either before or during a formal beta-test involving a few volunteers.

Then it's a case of putting together the final patch package.

Then it gets released!

So, lots of little "details" left to do, but both games could basically be released in a week or two if it wasn't for the VO and credits.

seieienbu

  • Hero Member
  • *****
  • Posts: 1979
Re: Xanadu II Translation Development Blog
« Reply #556 on: April 09, 2017, 10:34:01 AM »
I hadn't even thought of matching voices up with the character animations.  That sounds quite tedious.  Will you include credits for the voice actors?
Current want list:  Bomberman 93

elmer

  • Hero Member
  • *****
  • Posts: 2148
Re: Xanadu II Translation Development Blog
« Reply #557 on: April 09, 2017, 12:03:56 PM »
I hadn't even thought of matching voices up with the character animations.  That sounds quite tedious.

Hopefully the VO actors will hit the mark on their timings, which will significantly reduce the work, but there are also quite a few cases where we've deliberately focused on the quality of the dialog in the knowledge that the timings *can* be fixed.

It's not like the Japanese original is perfect, but I really want to do that best that I can.  :wink:


Quote
Will you include credits for the voice actors?

That's still up for discussion.

We've tried to avoid intruding ourselves as much as possible into Falcom's game, and there will be the technical problems if we try to extend the credits passed the end of the music ... but I'm sure that we can come up with some happy-compromise.

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: Xanadu II Translation Development Blog
« Reply #558 on: April 12, 2017, 05:15:19 PM »
Impressive work on the codec. David S. also mentioned that he found an optimization for the LZ codec Ys IV and Emerald Dragon use (the decompression algorithm differs by 1 line of code, technically), and gained slightly a little more compression power than the version Hudson used in development.

I actually used his Hudson exact matching version because of a bug I introduced and initially blamed on his optimization work, so he made another version to behave exactly the same as Hudson's, which is what the Ys IV English patch ultimately went live with.

I never had to trim anything AFAIK, all text blocks fit by the end of it, so I didn't bother using it until Emerald Dragon. The needed trimming solution here is to stop repeating the name of the character in subsequent messages (like you have done for the Xanadus I noticed), and that hopefully satisfies the needs for most text blocks, if not minor rewrites to shorten things here and there worst case. Ys IV never printed the name of a character per text box, so guess that made fitting things easier too versus ED.

elmer

  • Hero Member
  • *****
  • Posts: 2148
Re: Xanadu II Translation Development Blog
« Reply #559 on: April 14, 2017, 06:39:27 AM »
David S. also mentioned that he found an optimization for the LZ codec Ys IV and Emerald Dragon use (the decompression algorithm differs by 1 line of code, technically), and gained slightly a little more compression power than the version Hudson used in development.

I actually used his Hudson exact matching version because of a bug I introduced and initially blamed on his optimization work, so he made another version to behave exactly the same as Hudson's, which is what the Ys IV English patch ultimately went live with.

Yep, we talked about this a while back!  :wink:

http://www.pcenginefx.com/forums/index.php?topic=19674.msg425790#msg425790

Unless you've fixed the search-window offsets since then, or switched to the code that I posted, then you're going to be throwing-away some compression opportunities in ED!  :-"

Actually, when I was looking at the fast-CD-read routines in the Anearth Fantasy Stories code that bonknuts was talking about, I had a look at their AFS compression codec.

It looks like it's the same one that he talked about from Gate of Thunder with some weird pre-loading of the compression window.

Jeez ... it's one of the slowest decompressors that I've seen in ages!  :shock:

It would be amusing to code-up compressors for the Ys IV, ED & AFS methods and let them loose on the LoX data and see how they do.

I'm definitely curious to see if Hudson's pre-loading has any noticeable effect on real-world data.


Quote
The needed trimming solution here is to stop repeating the name of the character in subsequent messages (like you have done for the Xanadus I noticed), and that hopefully satisfies the needs for most text blocks, if not minor rewrites to shorten things here and there worst case.

That wasn't us ... that was in the original game. No memory savings for us in LoX by omitting those names, I'm afraid.

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: Xanadu II Translation Development Blog
« Reply #560 on: April 14, 2017, 08:59:54 AM »
Yep, we talked about this a while back!  :wink:

http://www.pcenginefx.com/forums/index.php?topic=19674.msg425790#msg425790

Unless you've fixed the search-window offsets since then, or switched to the code that I posted, then you're going to be throwing-away some compression opportunities in ED!  :-"

Ah yeah, I shared our YsIV/ED text codec there. Yeah, maybe I should look at your alternate code and give it a whirl some time. My past inclinations were more to wanna upgrade, improve, mess around even when it isn't broken which got me in trouble in real jobs and fan projects... So I'm hesitant in older age to do so, you know how it is. ;) When I was in my late 20's and could still pull all nighter debugging sessions, I was more eager... Can't do that anymore, heh.

Quote from: NightWolve
The needed trimming solution here is to stop repeating the name of the character in subsequent messages (like you have done for the Xanadus I noticed), and that hopefully satisfies the needs for most text blocks, if not minor rewrites to shorten things here and there worst case.
That wasn't us ... that was in the original game. No memory savings for us in LoX by omitting those names, I'm afraid.

Ah, so you gained nothing as I will by copying that style for ED.



David was pretty sure this [above] represented the biggest text block, and the elimination of repetition of character names is how I got it to fit! My system has a check as well, the size of the original Japanese text block is known, and if a new English compressed text block exceeds it, insertion is aborted. Same as I had worked out for Ys IV. I pre-null the whole block as well, don't want trailing bytes leftover from when it was Japanese. But yeah, that's what did it, I didn't edit anything away of Sam's (if memory serves).
« Last Edit: May 06, 2018, 10:09:30 AM by NightWolve »

elmer

  • Hero Member
  • *****
  • Posts: 2148
Re: Xanadu II Translation Development Blog
« Reply #561 on: April 16, 2017, 08:13:57 AM »
My past inclinations were more to wanna upgrade, improve, mess around even when it isn't broken which got me in trouble in real jobs and fan projects... So I'm hesitant in older age to do so, you know how it is. ;)

Absolutely! If it ain't broken, then there's no need to change.  :)

What I'm worried by, after looking at the code that you posted, is not really that you're missing out on a small amount of compression, especially when you don't seem to need it.

It's that it looks like you've got a bug in there.  8-[

From what I'm seeing in your code, it looks like the only difference between the YsIV compression and Emerald Dragon compression, is that minimum offset/distance for a match has changed from "-1" to "-18".

The thing is ... as far as I can see ... you haven't actually stopped check_match() from returning matches that are closer than -18 away.

If so, when you're inserting more of the scripts, that's going to blow-up on you at some point, .




David was pretty sure this [above] represented the biggest text block, and the elimination of repetition of character names is how I got it to fit!

Those are looking really good!  :D

Just sayin' ... this 30th Anniversary Year would be a great time to release the translation.   :-"  :wink:


***********************

It would be amusing to code-up compressors for the Ys IV, ED & AFS methods and let them loose on the LoX data and see how they do.

I'm definitely curious to see if Hudson's pre-loading has any noticeable effect on real-world data.

OK, curiosity got the better of me, so I tested the different compressors on the LoX2 data ...

Total uncompressed data size             : 23,278,006
Total YsIV compression                   : 10,347,187
Total Emerald Dragon compression         : 10,280,860
Total Anearth compression (with preload) :  9,716,445
Total Anearth compression (no preload)   :  9,706,570
Total Legend of Xanadu 1 compression     :  8,937,897
Total Legend of Xanadu 2 compression     :  8,324,785
Total Elmer's SWD4 compression           :  8,114,319
Total Elmer's SWD5 compression           :  8,035,016


Looking at that, I'm pretty unimpressed with the Hudson's "preload" trick ... it costs a bunch of extra time to set up, it forces the use of a slow window-buffer during decompression, and it doesn't seem to save much space (in this case it actually increases the size by a tiny amount).

dshadoff

  • Full Member
  • ***
  • Posts: 175
Re: Xanadu II Translation Development Blog
« Reply #562 on: April 16, 2017, 11:14:33 AM »

It's that it looks like you've got a bug in there.  8-[

From what I'm seeing in your code, it looks like the only difference between the YsIV compression and Emerald Dragon compression, is that minimum offset/distance for a match has changed from "-1" to "-18".

The thing is ... as far as I can see ... you haven't actually stopped check_match() from returning matches that are closer than -18 away.

If so, when you're inserting more of the scripts, that's going to blow-up on you at some point, .

As I recall, this was just the difference in how the algorithm worked - same algorithm as Ys IV, but with a different offset.  0x12 also sounds familiar.  It's a circular buffer, so doing an "overflow" into the back end of the buffer should also be valid, in the extremely remote chance that a match is actually found.

But the best proof of not blowing up is to encode and decode and verify that the strings match 100%.  As I recall, we also did that.

...I just hope that my memory isn't playing tricks on me as I grow older.  And you might indeed have found a bug, but it likely wouldn't yield a measurably different compression rate (just the chance of garble as you mention)

Anyway, if we didn't encode/decode/validate back then, it's easy enough to do now.

Quote
Just sayin' ... this 30th Anniversary Year would be a great time to release the translation.   :-"  :wink:

Yes it would.
NightWolve, have you decided to start taking another look at digging into this ?

-Dave

elmer

  • Hero Member
  • *****
  • Posts: 2148
Re: Xanadu II Translation Development Blog
« Reply #563 on: April 16, 2017, 12:16:29 PM »
As I recall, this was just the difference in how the algorithm worked - same algorithm as Ys IV, but with a different offset.  0x12 also sounds familiar.  It's a circular buffer, so doing an "overflow" into the back end of the buffer should also be valid, in the extremely remote chance that a match is actually found.

But the best proof of not blowing up is to encode and decode and verify that the strings match 100%.  As I recall, we also did that.

...I just hope that my memory isn't playing tricks on me as I grow older.  And you might indeed have found a bug, but it likely wouldn't yield a measurably different compression rate (just the chance of garble as you mention)

Yep, no chance of a crash, just the possibility of garbled data on decompression, depending upon how the ED code actually works on the PCE.

If they're using a 256-byte window buffer, just like you are in the compression, then it probably wouldn't make any difference ... but if they're doing that, then there would be little point in using the 18-minimum-offset in the first place.

The devil-is-in-the-details, and I don't know ... I have no idea where the decompression code is located in ED.

It's just a worry, and not a certainty. As you say, more tests might be a good idea if you're not 100% sure.


Quote
Quote
Just sayin' ... this 30th Anniversary Year would be a great time to release the translation.   :-"  :wink:

Yes it would.
NightWolve, have you decided to start taking another look at digging into this ?

Now's your time to get into the Sam's queue.  :wink:

When/while the dub is recorded, he's likely to have some downtime while waiting for things to happen, particularly when I get to the stage of fixing the lipsync.

I know that he'd like to get the Spriggan2 dub luanched, but there may be limits on how far that can go if bonknuts continues to be MIA.

This is a perfect time to push ED forward and get all of his current-finished work inserted and tested and verified so that he'll want to finish-off the rest of the translation.

If other-folks don't keep him busy finishing off these old projects, then I'll have to find some way to keep him busy so that he doesn't get bored!  :wink:

BTW ... it was interesting to see that person on the NeoGaf forum wax lyrical on some of the PCE RPGs, including Emerald Dragon, and "Angel's Poem".

I had absolutely no idea that that was the English translation of "Tenshi No Uta"! :-k

dshadoff

  • Full Member
  • ***
  • Posts: 175
Re: Xanadu II Translation Development Blog
« Reply #564 on: April 16, 2017, 01:49:36 PM »
BTW ... it was interesting to see that person on the NeoGaf forum wax lyrical on some of the PCE RPGs, including Emerald Dragon, and "Angel's Poem".

I had absolutely no idea that that was the English translation of "Tenshi No Uta"! :-k

Actually, I've always thought of it as "(The) Song(s) of (the) Angel(s)" - "Uta" could mean poem or song, depending on context.  I don't know which is more correct in this particular case (because I haven't played enough of the game), but I personally would associate angles with music rather than poetry...

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Xanadu II Translation Development Blog
« Reply #565 on: April 18, 2017, 01:27:22 PM »
Euclid and Pythagoras are what come to mind for me, but whatever floats your boat, Dave.  ;D

elmer

  • Hero Member
  • *****
  • Posts: 2148
Re: Xanadu II Translation Development Blog
« Reply #566 on: April 18, 2017, 02:35:32 PM »
Euclid and Pythagoras are what come to mind for me, but whatever floats your boat, Dave.  ;D

I'd read right past the typo ... hahaha ... good catch!  :lol:  :clap:

Mathius

  • Hero Member
  • *****
  • Posts: 6006
Re: Xanadu II Translation Development Blog
« Reply #567 on: April 20, 2017, 12:37:15 PM »
I can't tell you guys how excited I am! I've owned this game twice attempting to muddle my way through to no avail. Now that may become a reality. Thank you all how are/will be involved.
F@ck Ebay Club member since 2010
Switch Friend Code: SW-2346-3388-5406

elmer

  • Hero Member
  • *****
  • Posts: 2148
Re: Xanadu II Translation Development Blog
« Reply #568 on: April 20, 2017, 12:57:41 PM »
I can't tell you guys how excited I am! I've owned this game twice attempting to muddle my way through to no avail. Now that may become a reality. Thank you all how are/will be involved.

I think you might have meant to post that in the "auditions" thread ... this one only gets the "boring" posts!  :lol:

I find it hard to fathom that some folks have actually played though LoX1 without understanding Japanese, even with a walkthrough.

But it was pretty-amazing when I played it in English!  :-"  :wink:

Mathius

  • Hero Member
  • *****
  • Posts: 6006
Re: Xanadu II Translation Development Blog
« Reply #569 on: April 20, 2017, 01:38:14 PM »
I can't tell you guys how excited I am! I've owned this game twice attempting to muddle my way through to no avail. Now that may become a reality. Thank you all how are/will be involved.

I think you might have meant to post that in the "auditions" thread ... this one only gets the "boring" posts!  :lol:

I find it hard to fathom that some folks have actually played though LoX1 without understanding Japanese, even with a walkthrough.

But it was pretty-amazing when I played it in English!  :-"  :wink:

No I meant it for here though I almost did post it over there.:)

 If I had the equipment I'd definitely give a performance a good attempt.
F@ck Ebay Club member since 2010
Switch Friend Code: SW-2346-3388-5406