Character speech is not anti-aliased.

Started by CapnDingo, Fri 25/09/2009 17:59:03

Previous topic - Next topic

CapnDingo

I guess it's a pretty open-and-shut case.

Can character speech be anti-aliased, or am I out of luck?

All my other game text in my GUIs are being anti-aliased as it said they would be in my general options when I enabled it, but character speech is not. Looks very unprofessional, blocky around the edges, difficult to read. I suppose if all else fails, I'll just have to find a fatter "balloony" type font to use for the speech, which is a shame because I really liked this one I'm using now.

And it is a TTF font, as I assume it had to be since it's called TTF font anti-aliasing.

NsMn

Do you mean LucasArts speech? No, as far as I know, that's not possible.

CapnDingo

Alright, thanks.

Guess it's time to do more font hunting.

GarageGothic

#3
I came up with a workaround that make it more or less possible, but only by writing a custom Say command and using that for all dialog, and it only works with outlined fonts. The technique uses aliased outlines with anti-aliased inner text, but it looks a hell of a lot smoother than standard AGS font rendering.

I wrote script a while back that should work recent versions of AGS, which can be found here, and recently I did a 2.72 compatible version for Tolworthy's Dante game. You can see examples of how it looks in his game in this blog entry. (Note that the outline is a bit thicker in tolworthy's game due to 2.72 limitations, with hi-res coordinates you should be able to achieve a 1 pixel outline).

CapnDingo

Hrm. That's pretty nice, but unfortunately I think it's way out of my league. And with the large volume of dialog in my game, I'd have to do extra work for each and every speech line (or I assume).

Plus if it's just drawing the text and not behaving as an actual Say command, I'd still have to manually code the talking animation every time I want it to occur, correct?

Yeah, I don't know. Again, out of my league. I'm a bit noobish for that.

GarageGothic

Oh yeah, I forgot about the talking animation part. I think it was mentioned in the other thread (the one where I posted the code) - basically you just import an invisible font (like this one) as the normal speech font. Then make a function that 1) calls my code which draws a fake speech overlay 2) runs Character.Say (blocking function so no need for timers, the script will continue when it ends) 3) then removes the fake speech overlay.

But yeah, it would mean having to call every line of dialog as  "cCharacterName.CustomSay("This is what I'm saying");" rather than "CHARACTERNAME: This is what I'm saying". Though it's not really that much extra work now that we can run scripts from inside the dialog editor. Maybe just hold off on the idea until you have a better grasp on scripting.

SMF spam blocked by CleanTalk