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

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: Xanadu II Translation Development Blog
« Reply #165 on: February 08, 2016, 03:19:31 PM »
What's left are all the small graphical changes that need to be made (like the initial menu option in Xanadu 2), and then implementing a full variable-width-font (since I'm pretty confident, finally, that there should be enough memory left in code space to do that).

The fully-variable-width font is now working in both Xanadu 1 and 2.  :D

It's a good time to look back on the progress in the font replacement over the last few months, and compare how they look.

If you've got "irfanview" or some other simple way to flip back-and-forth between the downloaded screengrabs, then you'll get the best sense of exactly what the differences are.

The 1st picture is from the first batch of screens that I posted back in early November ...

http://www.pcenginefx.com/forums/index.php?topic=19968.msg435280#msg435280

This is using the quick-and-easy bi-width font hack, which makes each tile (the spacing between the letters) either 4-pixels or 8-pixels wide.

The letters themselves are drawn either 1-pixel, 6-pixels or 7-pixels wide.

It looks good, but there's an inconsistent gap between the letters ... mostly it's 2-pixels, but sometime it is 1-pixel or 3-pixels.

Xanadu 1 - Old BWF (6-pixel/1-pixel)



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

Eventually my training and my slightly OCD nature got the better of me and I couldn't stand the ugly inconsistency anymore, and so I modified the font.

This time, it's still using the 4-pixel or 8-pixel tile size, but the letters themselves are all either drawn 3-pixels or 7-pixels wide.

This gives a 100% consistent 1-pixel gap between the letters, at the cost of having some letters look a little too wide.

Honestly, I wouldn't be embarrassed at all to ship the game with this font.

Xanadu 1 - Old BWF (7-pixel/3-pixel)



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

But it was always the goal to implement a variable-width-font if there was enough memory free for the extra code and data (the table of widths of each glyph).

With a VWF, I get to go back to 6-pixel wide letters, and also get to have a consistent 2-pixel gap between the letters.

That 2-pixel gap is absolutely necessary to make Falcom's "bold-and-outlined" effect look good, but it also helps to make the font a little easier on the eyes by making the distinction between each letter just that little bit clearer.

Here's how that looks, and I hope that you'll all agree that it is pretty nice ...

Xanadu 1 - New VWF


« Last Edit: February 09, 2016, 03:10:17 AM by elmer »

esteban

  • Hero Member
  • *****
  • Posts: 24063
Re: Xanadu II Translation Development Blog
« Reply #166 on: February 09, 2016, 04:34:22 AM »
The new VWF screenshot is quite nice. I did not mind one screenful of the compressed old BWF (1 pixel gap), but reading in general will be much more pleasant with new VWF.

:)


Until you change it again, to incorporate JUMBO-sized letters for the first character of every dialogue box.

Ha!
  |    | 

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: Xanadu II Translation Development Blog
« Reply #167 on: February 09, 2016, 08:09:47 AM »
Until you change it again, to incorporate JUMBO-sized letters for the first character of every dialogue box.

Hahaha, yep, I do like to make iterative "improvements"!  :wink:

There's no chance of putting in a medieval-style huge first letter (but it would be kind-of-cool), but I am a little tempted to see if I can get the speaker's name in bold ... just to see what it would look like.  :-k

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

In the meantime, I fixed a bug in Falcom's bold-and-outline code where it missed some pixels in the outline.

Here's the original (look at the very top and bottom line of each character's outline) ...




And here's the fixed version ...



esteban

  • Hero Member
  • *****
  • Posts: 24063
Re: Xanadu II Translation Development Blog
« Reply #168 on: February 09, 2016, 10:16:37 AM »
Easier to read! A few pixels = make a difference. :)
  |    | 

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: Xanadu II Translation Development Blog
« Reply #169 on: February 09, 2016, 11:32:53 AM »
Easier to read! A few pixels = make a difference. :)

Hahaha ... I couldn't have asked for a better quote to lead in to this next post!  :wink:

Once you've got the capability to do a variable-width-font and can start drawing any glyph on any pixel boundary, it opens up the possiblity to implement the next visual improvement in font drawing ... and that is "kerning" (https://en.wikipedia.org/wiki/Kerning).

For those that don't know what that is ... it's just the name for adjusting the spacing between particular pairs of glyphs in order to make them more readable.


The spacing between letters can make things look unprofessional, and harder to read ...




Or, when done really badly, it can even totally change the desired meaning of a sentence ...




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

So, where does that take us in the Xanadu games?

Well, even at the low resolution of the 4th-generation consoles, there are still some particular combinations of English characters that can benefit from a little tweaking in order to make each word distinct and easy-to-read.

At this resolution, it's a pretty subtle effect, but it really is one of those little details that marks a product as "AAA".

And the thing is, it is actually pretty easy to implement from a programming POV.

All the hard work is done in the script compiler.

It has to look at each English string that is inserted into the game, and identify the pairs of characters that need an adjustment, and then write an encoded pixel-offset value into the output data just after the 1st character and just before the 2nd character.

All that the game code has to do is to draw the string as normal, and then, when it gets to one of these specially-encoded-offsets, it just adjusts the drawing position as requested, and then immediately continues drawing the next glyph.

In most cases you just encode a +/- 7 offset like this as the normally-unused ASCII codes $10-$1F, but since Falcom are using all the codes from $00-$1F for their script interpreter, I've just encoded the offset as $F0-$FF instead.

Here are a couple of examples of the results.

This is another one of those examples where it is easier to see if you download the images and can then flip back-and-forth between them to see the difference.

Everyone should be able to quickly see the change in the "Te" and "Ta" below, but are you sharp enough to see the other changes without downloading the pictures?  :wink:


Xanadu 1 - VWF without kerning




Xanadu 1 - VWF with kerning




Xanadu 2 - VWF without kerning




Xanadu 2 - VWF with kerning


« Last Edit: February 09, 2016, 02:52:46 PM by elmer »

seieienbu

  • Hero Member
  • *****
  • Posts: 1986
Re: Xanadu II Translation Development Blog
« Reply #170 on: February 09, 2016, 05:40:39 PM »
It's a shame that this much perfectionism and attention to detail didn't make it into more released titles.
Current want list:  Bomberman 93

esteban

  • Hero Member
  • *****
  • Posts: 24063
Re: Xanadu II Translation Development Blog
« Reply #171 on: February 09, 2016, 11:21:42 PM »

It's a shame that this much perfectionism and attention to detail didn't make it into more released titles.

Le truth.

Le kerning.

Le typography.
  |    | 

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: Xanadu II Translation Development Blog
« Reply #172 on: February 10, 2016, 02:07:54 AM »
Wowser, elmer really is one of the rarest talents to come along and dedicate some time for PCE hacking! Besides Bonknuts, I never saw anybody else at this level!

ginoscope

  • Sr. Member
  • ****
  • Posts: 360
Re: Xanadu II Translation Development Blog
« Reply #173 on: February 11, 2016, 12:22:00 PM »
It's a shame that this much perfectionism and attention to detail didn't make it into more released titles.

Exactly what I was thinking where was Elmer when we got some of those questionable translations in the 1990s lol.  Really enjoy reading the blog updates.

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: Xanadu II Translation Development Blog
« Reply #174 on: February 12, 2016, 04:03:52 AM »
Le typography.

Le Definitely!  :wink:

I'm not a Graphic Designer myself, but I was lucky enough to have a teacher at school who loved the art of printing, and so had the opportunity to learn to "set" real metal type on an ancient Heidelberg printing press, and to see the wonderful old machine drag paper out of a hopper and thump the platen down on the freshly-inked type.

It one of those sight/sound/smell memories that you never forget.  :)

And so decades later, I end up being one of the few programmers on the planet to have his own personal fully-licensed-and-registered copy of the complete Adobe Font Folio collection, and I go around trying to make sure that the font printing looks as-good-as-possible in anything that I work on.

Just one of those little quirks-of-fate!


It's a shame that this much perfectionism and attention to detail didn't make it into more released titles.

Time and money are such an important factor in professional game development.

When it comes to NEC/Hudson translating Japanese games for the North American market, they probably didn't have a lot of either.

Even if they got the source-code to each of the games that they wanted to translate ... then they'd still have to spend a lot of time figuring out how to modify it to get an English font working.

And if the original Japanese developer did the translation work themselves, then you're probably dealing with guys that don't have any background in Western typography, and are just trying to do the best that they can in a limited time.

I know that when I've worked on translations into Japanese, I'm just looking at chicken-scratchings on the screen, and I'm totally dependent upon a translator (probably from a 3rd company, and who just wants to get home on time) to look at things.

Only the really, really, really high-profile titles are going to get the kind of love that you can see that SamIAm and I are trying to apply to the Xanadu games ... and that we only have the luxury of spending this much time on because we're not doing it as a "paying job".


Wowser, elmer really is one of the rarest talents to come along and dedicate some time for PCE hacking!

Thanks for the kind words ... but I hope that I'm showing that at-least-some of this stuff isn't too difficult for any programmer to do ... if they make up their mind to do it.

It's more a case of the knowledge that it can be done, together with the will to spend the time to do it, and less about raw talent.

I hope that I'm helping to explain why custom tools can make such a difference to the end-result.

Not every translation project needs a programmer ... we've just had a wonderful example of that with toktogul's magnificent work on "The Lost Sunheart", and his current work on "Daichi Kun Crisis".

But when a programmer is involved, I'd pretty-much-always advocate for developing some quick-and-dirty custom tools over using pre-made do-everything "hacker" tools, such as EsperKnight's use of "Atlas".

IMHO, his insistence on using that tool ended up totally masking what was really going on inside Falcom's script code, and so left him with no clear idea of why things started breaking when he tried to re-insert English text, and how to fix the problem.  :-k

Well ... that, and the fact that it wouldn't have mattered anyway because he'd have run out-of-memory.


Exactly what I was thinking where was Elmer when we got some of those questionable translations in the 1990s lol.

Hahaha ... I was busy working-for-a-living developing original games, including translating a couple of them into Japanese.  :wink:
« Last Edit: February 12, 2016, 05:58:14 AM by elmer »

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Xanadu II Translation Development Blog
« Reply #175 on: February 13, 2016, 11:02:39 AM »
...I go around trying to make sure that the font printing looks as-good-as-possible in anything that I work on.

Oh. 

On that note, Elmer.  Sorry, I forgot to tell you that I had already fully translated Xanadu.  The patch is up on RomHacking.net now!  Today!

Preview:


;-D

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: Xanadu II Translation Development Blog
« Reply #176 on: February 14, 2016, 06:19:38 AM »
Damn ... you mean that I spent all this time over these months only to be pipped-to-the-post at the last minute?  :shock:

Hahaha ... beautiful font work, though ... you have my total admiration!  :clap:

It's still easier to read than what I get out of "Google Translate" when I'm trying to understand the PC-FX developer documents!  :wink:


esteban

  • Hero Member
  • *****
  • Posts: 24063
Xanadu II Translation Development Blog
« Reply #177 on: February 14, 2016, 10:46:41 AM »



You can punch me, but that font could work with proper kerning/leading/tracking/smoking/cracking.

:)

I'm serious.
« Last Edit: February 14, 2016, 10:48:18 AM by esteban »
  |    | 

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: Xanadu II Translation Development Blog
« Reply #178 on: February 15, 2016, 03:59:31 AM »
You can punch me, but that font could work with proper kerning/leading/tracking/smoking/cracking.

:)

I'm serious.

I agree, there's definitely something nice about an anti-aliased font ... in the right circumstances.  :)

If you look at Zeroigar, you'll see that I used one for the subtitle "Level Name" screens to try to match the one that SamIAm baked into the video subtitles.

But it takes a whole lot of palette entries to get those gradient-colors for the edges, and we just don't have enough unused-palette-entries available here in Xanadu (or in the in-game screens in Zeroigar).

Plus ... I often don't really like anti-aliasing on "thin" fonts ... it's just too hard to be consistent about the stem widths, and it all starts to look very blurry.

A nice-and-crappy composite TV signal will smooth out the whole thing and actually make it look pretty-damned-good, but today we're often dealing with higher-resolution displays or maybe we watch the game on an LCD output, both of which make things "too" sharp for a low-resolution 256-wide signal.

Finally, there's the issue of finding the extra memory for the font ... basically doubling or tripling it's size.

Perhaps I'm being too negative about it ... but then-again I'm a guy that still switches off the blurry anti-aliased fonts in any programmer's-editor and just uses a nice-and-clean bitmap font instead.

In fact I have my own bitmap font that I install into Windows to replace the ugly Microsoft ones.  :wink:

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: Xanadu II Translation Development Blog
« Reply #179 on: February 15, 2016, 09:52:03 AM »
But when a programmer is involved, I'd pretty-much-always advocate for developing some quick-and-dirty custom tools over using pre-made do-everything "hacker" tools, such as EsperKnight's use of "Atlas".

IMHO, his insistence on using that tool ended up totally masking what was really going on inside Falcom's script code, and so left him with no clear idea of why things started breaking when he tried to re-insert English text, and how to fix the problem.  :-k

Atlas ? Is that that translation software used by professionals in the industry ? I had a translator once for Falcom's Zwei! PC game from Finland or Sweden (forget) who used that. He did eventually translate the script I provided him, but English wasn't his native language and by the time it happened years later, I just didn't see a lot of point, not just due to burn out... But yeah, I heard of this if we're thinking of the same thing.