AGS 3.3.0 Release Candidate

Started by Crimson Wizard, Thu 04/04/2013 19:16:28

Previous topic - Next topic

Radiant

Thank you very much, that's highly useful. Downloading now!

Could you let me know about the issue we discussed in PM, about speech with a voice pack animation time depending on the length of the text string, instead of on the length of the voice sample?

Crimson Wizard

Quote from: Radiant on Tue 01/10/2013 00:02:10
Could you let me know about the issue we discussed in PM, about speech with a voice pack animation time depending on the length of the text string, instead of on the length of the voice sample?

It is already fixed in this release:

Quote
- Fixed play.close_mouth_end_speech_time variable from making effect in voice mode and Sierra-style speech (which it wasn't supposed to do).

(That could be also fixed earlier by setting this variable to 0)

Radiant

I was under the impression that the timeout depended on the length of the string (rather than the length of the voice file, as expected). This is separate from the close_mouth_end variable. Unless I've misunderstood the issue? The problem we're having in beta is that if the voice actor speaks slowly, then the text will timeout earlier than he is done speaking: the portrait is visible for (#letters in the string * some amount of frames), instead of for (the amount of milliseconds the OGG file plays). Please advice.

Crimson Wizard

#263
EDIT: Hmm, no, I was thinking about different thing... I should look into this again.
EDIT2: Sorry, I am a bit sleepy right now. For some reason I thought I fixed that ... maybe I did? Heh. Better check it.
EDIT AGAIN: Erm, I think this actually should have work properly in 3.2.1. Are you sure it is the problem you are getting?
Whenever I tested the speech, the text & portrait stayed until voice ends. It is animation that could be stopped too early.

Joseph DiPerla

Just looking at the first post of this thread... AGS 3.3.0 has come a long way. Nice job guys!
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

Crimson Wizard

#265
@Radiant:
I was half-asleep when writing last posts here yesterday. Now when I am awake, I clearly remember, that the text and portrait were never removed before voice clip has finished.

In PM you wrote:
Quote
The issue is as follows. In a game with Sierra-style portraits (not the full-screen type) and a voice pack and standard SetSkipSpeech timeout, currently the portrait animation plays for an amount of time based on the length of the text string, whereas the portrait is visible (in still frame with closed mouth) for the amount of time the voice sample plays.
Meaning (if I understood correctly): the text & portrait remain visible, but animation stops too early.
If this is the case, it is indeed fixed with the latest beta.
And, yes, this was caused by "play.close_mouth_end_speech_time": because it caused animation to stop by 10 game loops (by default) before the text timer runs out (which could run out before voice stops).

If you are getting different problem, that is - portrait dissapears before voice has finished - this is something I never experienced in AGS, and might be something completely different...
Please, clarify, what is happening?

AGD2

#266
Excellent work, CW! This just keeps getting better. Thanks a lot for the improved character walking at 60%-80% scaling addition, too.

Here's a short list of things I've noticed with beta 8. With issues 1 and 2 below, I'm not sure if they relate to the recent GUI alpha blending fixes, or whether they're a different issue all together. But I thought I'd post them here regardless.

1) When a TTF font with anti-aliased edges is displayed (on a label or otherwise) over a 32-bit alpha-blended GUI background graphic, which has transparent areas of varying levels of opacity -- the TTF font becomes jagged where it's drawn over areas of the GUI graphic that are closer to fully transparent. The more transparency in an area of the graphic, the more jagged the font looks. See the image below for example:



This tooltip GUI image fades towards transparency at the left and right edges. As you can see, the sections of the TTF font at the left and right sides have no anti-aliasing around the edges.

Here's a png of the tooltip GUI graphic if you want to test it out yourself:




2) Using DrawingSurface / DrawString to draw an anti-aliased TTF font over an inventory item graphic in the inventory window causes the parts of the font that are drawn over 'solid' areas of the sprite to be drawn correctly, while parts of the TTF font that are displayed over a transparent/semi-transparent area of the inventory graphic appear jagged and aliased.




3) I noticed that SetCharacterIdle seems to be ignored and character idle animations do not play.


--EDIT--

4) Character animations also seem to be broken. Whenever EGO tries to perform a blocking animation, the game flicks up his start and end frame from the animation's loop (as if StartCutscene() had been called), and all the frames in-between seem to be skipped.

Crimson Wizard

#267
Yes, I made a very small typo in the code, that broke character animation timing. Please, delay using this build. I'll reupload fixed version as soon as I check out that problem with string drawing.

AGD2

Another thing I just realized is that in the last image I posted above, all of the inventory items displayed in the window have jagged outer edges, despite the sprites having anti-aliased edges. In 3.3.0 beta 8, I selected these settings:

GUI alpha rendering style: Multiplied Translucence, Blend Source Color
Sprite alpha rendering style: Proper Alpha Blending

But as you can see in the above screenshot, the inventory items still have jagged pixels surrounding them when displayed in the inventory box. They're being displayed over a 32-bit GUI background image which doesn't have an alpha channel.

Crimson Wizard

#269
AGD2, I cannot figure out how to get same results as you have. Regardless of what I try, I get something different. Maybe I am doing something wrong...

Can you explain which combination of Guis/Gui Controls/sprites are in use there?
Maybe it is possible for you to send me some kind of demo version, or one-room version of your game, which would have those guis?


EDIT: Hmm, I was able to reproduce such effect, but it looks the same both in 3.2.1 and 3.3.0. It happens if I have a GUI background image without alpha channel and with magic pink areas. In such case the text on the label becomes not anti-aliased when drawn over those pink areas... That's the only thing I found so far.

One more question: did it work correct for you in 3.2.1 (or whichever version of AGS have you used), and with which settings?

AGD2

#270
I can upload a demonstration project for you if you still need to see it.

And yes, this glitch happened in 3.2.1 and earlier. It has never worked properly in AGS, but as I mentioned above, I wasn't sure if the recent improvements you made to alpha blended graphics and GUIs were meant to fix this issue too (considering it's also GUI and alpha-channel related).

--EDIT--

Ah, another bug I found:  If you have a script open and type something into it and test/compile the game (CTRL+F5, F7, or whatnot), if you receive a compile error in the editor's output window and the game fails to run, it seems you can  no longer use CTRL-Z to undo any of your script changes in the still opened script (which was possible in 3.2.1).

Radiant

Upon reflection, I think this should solve our voice issues. I'll let you know asap if the other team members confirm this (after a new build from my side). Thanks!

Crimson Wizard

#272
Well, I want to clarify: in current situation I want to make sure that I did not break anything at first place, and secondly, that features I recently added really work.

(Yeah, I already know I broke animations, will fix them soon)

Quote from: AGD2 on Tue 01/10/2013 22:19:56
I can upload a demonstration project for you if you still need to see it.
If you can, it will be great. As I said, I am a bit lost trying to guess which combination of sprites/guis lead to that behavior. Can you just PM me a link, if you don't want to put it on public?

Quote from: AGD2 on Tue 01/10/2013 22:19:56
And yes, this glitch happened in 3.2.1 and earlier. It has never worked properly in AGS, but as I mentioned above, I wasn't sure if the recent improvements you made to alpha blended graphics and GUIs were meant to fix this issue too (considering it's also GUI and alpha-channel related).
Well, there are two cases: 1) the inventory items and 2) text output. The inventory items were supposed to work with the latest changes, if set up properly, so I'd wish to get to the bottom of this.
Regarding text output, it is more complicated. All text is rendered by different methods, than common images. WFN fonts are drawn by the AGS itself (so it is possible to tweak these), but TTF fonts are drawn by Allegro library, and I guess that dealing with them will require some research first.

AGD2

Thanks for the explanation. Had a feeling the TTF issue might have been something different.

Anyhow, I've PM'd you with a demonstration project which illustrates all of the graphical issues I mentioned in my posts above.

Crimson Wizard

I built an engine with character animations fixed:
http://www.mediafire.com/download/z8wppg9rczxyrf7/acwin.exe
Just replace the one in AGS program folder.

I'll replace the whole beta 8 package after looking into the alpha blending problem.

Crimson Wizard

@AGD2,
PMed you regarding inventory items (it was simply wrong DynamicSprite format).
Regarding TTF label, at this moment I can only suggest doing usual hack: put the label on fully transparent gui (background color = 0, no image), and position original tooltip gui with translucent background under.
This is what I get:

[imgzoom]http://img844.imageshack.us/img844/5230/p4c6.png[/imgzoom]

AGD2

Thanks! I can confirm that it all works as intended now. I'll try that hack for the tooltip bar/label as well.

Sorry for not being more thorough about where to find the relevant code. I was in a rush to get it uploaded, and I didn't actually script that section myself, so I wasn't overly familiar with it. ;)

Radiant

I'm curious, would it be hard to implement close_mouth_end_speech_time (or its new form) for voice samples? I'm asking because it turns out that many voice samples have a bit of blank pause at the end, so stopping the mouth animation 250 ms before the sample ends might actually make sense. Possibly there's a simple library function that returns the length in ms of a voice sample?

Radiant

I found an issue with AGS 3.3.0. When importing a game from earlier versions of AGS, the script breaks on function calls like "GUIOn (TITLE)", whereas in 3.2.1 this worked fine. Apparently the code expects "GUIOn (gGTitle.ID)" now, although I'm not sure why. Could you please check this?

Crimson Wizard

#279
OK, I reuploaded Beta 8 with character animation fixed. Please, download again (same link).
There is one extra thing I wanted to add, related to text windows blending, but that takes a little longer.

Quote from: Radiant on Thu 03/10/2013 11:08:01
I'm curious, would it be hard to implement close_mouth_end_speech_time (or its new form) for voice samples?
Possibly there's a simple library function that returns the length in ms of a voice sample?
Yes, maybe. (err, I mean - maybe not - not very hard; and yes - there's a function that returns sound length)

Quote from: Radiant on Thu 03/10/2013 13:45:58
I found an issue with AGS 3.3.0. When importing a game from earlier versions of AGS, the script breaks on function calls like "GUIOn (TITLE)", whereas in 3.2.1 this worked fine. Apparently the code expects "GUIOn (gGTitle.ID)" now, although I'm not sure why. Could you please check this?
Do you import game from 2.72?
I found a quirky bug: it appears that all gui names have an extra "G" added to them after import: so instead of gTitle you would have gGTitle.
Similarly the TITLE is GTITLE now.
(Or rather an original "g" becomes "G" and then a new "g" prefix is added)

SMF spam blocked by CleanTalk