Both Sierra- and LucasArts -style dialog animations in a same game?

Started by JLM_82, Thu 22/10/2020 14:07:57

Previous topic - Next topic

JLM_82

Hi,

I'm currently working with an AGS-game that is based on Sierra-style UI, conversations etc.

But is it possible to customize some of characters to have a LucasArts -style speech animation in a same game, too?

I have thought that the main characters would have a "normal" Sierra-style dialogue portraits ("talking heads"), but for some minor characters it would be enough to make them talk without a close-up portraits, and just animate them "on their place". Actually, in many of the Sierra's classic games there are several characters that don't have close-up portraits (like the rotten tomato in King's Quest 6).

What are the correct settings to customize this?

Thanks!

Olleh19

Quote from: JLM_82 on Thu 22/10/2020 14:07:57
Hi,

I'm currently working with an AGS-game that is based on Sierra-style UI, conversations etc.

But is it possible to customize some of characters to have a LucasArts -style speech animation in a same game, too?

I have thought that the main characters would have a "normal" Sierra-style dialogue portraits ("talking heads"), but for some minor characters it would be enough to make them talk without a close-up portraits, and just animate them "on their place". Actually, in many of the Sierra's classic games there are several characters that don't have close-up portraits (like the rotten tomato in King's Quest 6).

What are the correct settings to customize this?

Thanks!

I think what you are looking for is this.

Code: ags
Speech.Style = eSpeechSierra;


or

Code: ags
Speech.Style = eSpeechLucasarts;


So where you want to change you simply call any of those.



JLM_82

Ok, thanks!

Is it also possible to define Sierra-style speech animations for one character, and LucasArts -style speech for other?

For example:
If I want the main character (with a dialogue portrait) to have a conversation with a minor character that doesn't have portrait, and should have a LucasArts -styled speech animation instead?

Olleh19

Quote from: JLM_82 on Thu 22/10/2020 20:23:11
Ok, thanks!

Is it also possible to define Sierra-style speech animations for one character, and LucasArts -style speech for other?

For example:
If I want the main character (with a dialogue portrait) to have a conversation with a minor character that doesn't have portrait, and should have a LucasArts -styled speech animation instead?

I think this could be done but it's tricky, and it's not created for it. So this is just a theory. You need to insert a empty frame (green, transparent color frame) for the minor character's speech view, or else a portrait will show up for him aswell (or a picture of his normal sprite, a miniture version). Does his mouth have to move? If so it's trickier. I'm guessing you don't have voice acting so lipsyncing is a none entity. Then all you could do is create a custom Speech view, for those events. Where you have to call it in dialog before he or she starts speaking.
Something like this...

Code: ags
// Dialog script file
@S  // Dialog startup entry point
return
@1
Player: Hi everybody i'm set to sierra style portrait, since JLM_82 chose that. //main characters now comes the minor

       cMinor.Animate(8,2,eRepeat,eNoBlock); //8 is a no special view loop number, that you could set to whatever you'd like. 
                                                                      //Speech animation forexample.

Minor: Hi now he should have changed to another view, and his mouth vill move endlessly, until you tell it to quit. 

return




Snarky

Quote from: JLM_82 on Thu 22/10/2020 20:23:11
Ok, thanks!

Is it also possible to define Sierra-style speech animations for one character, and LucasArts -style speech for other?

For example:
If I want the main character (with a dialogue portrait) to have a conversation with a minor character that doesn't have portrait, and should have a LucasArts -styled speech animation instead?

Yes, simply change the game setting from Sierra speech to LucasArts speech between each of their lines. To save time, you probably want to create some simple helper functions, something like .SaySierra() and .SayLEC().

The task is similar to the one in this thread (where it was about using different fonts for different characters talking), and you might find it useful to have a look at the explanation there.

Olleh19

Quote

Yes, simply change the game setting from Sierra speech to LucasArts speech between each of their lines. To save time, you probably want to create some simple helper functions, something like .SaySierra() and .SayLEC().

The task is similar to the one in this thread (where it was about using different fonts for different characters talking), and you might find it useful to have a look at the explanation there.


Oh, so it does work! Maybe a beginner shouldn't help in the beginners forum. :-[ (laugh). I was of the impression that the portrait indeed dissapear when he switches to Lucasarts. And i believe he still wants to keep the portrait on the screen?

Edit to further evolve Snarky's answer. Hit the F1 button and search scripting and search for "your own custom functions" that's what you need to do. It's really useful, a must to be able to create your functions, for such special cases as this.


Snarky

Quote from: Olleh19 on Thu 22/10/2020 21:46:00
Oh, so it does work! Maybe a beginner shouldn't help in the beginners forum. :-[ (laugh).

I wouldn't say that. By all means help whenever you can.

Quote from: Olleh19 on Thu 22/10/2020 21:46:00
I was of the impression that the portrait indeed dissapear when he switches to Lucasarts. And i believe he still wants to keep the portrait on the screen?

Yes, the Sierra speech portrait will disappear when the character stops speaking (whether or not you switch to LucasArts-style speech), because that's how Sierra speech works. If JLM_82 wants the portrait to stay up during the whole conversation (I see no indication of that in their post), a different approach is needed. In that case I would probably throw up the portrait on a GUI or Overlay, but it depends on factors like what things are animated (if any).

JLM_82

Quote from: Snarky on Thu 22/10/2020 22:13:13
Yes, the Sierra speech portrait will disappear when the character stops speaking (whether or not you switch to LucasArts-style speech), because that's how Sierra speech works. If JLM_82 wants the portrait to stay up during the whole conversation (I see no indication of that in their post), a different approach is needed. In that case I would probably throw up the portrait on a GUI or Overlay, but it depends on factors like what things are animated (if any).

Thanks for help!

And yes, I meant that the portrait should disappear when the (main) character stops talking, just like it happens in Sierra's games.

So maybe I'll create SaySierra() and SayLucas() -like functions, and use them during those conversations.

SMF spam blocked by CleanTalk