Suggestion: AutoSpeech, nonblocking speech and other suggestion

Started by SimSaw, Mon 15/09/2003 16:15:49

Previous topic - Next topic

SimSaw

It would be good if there was something like animated nonblocking speech that can be used with &1, &2 and so on. I need this because I have somebody who says from time to time something. At the moment I did this with the blocking DisplaySpeech command, but that's a bit unhandy, because the player can't controll the player character while he says something. And I don't want to do it with AnimateCharacter, DisplaySpeechBackground and doing the speech with sound, because I want to let the game open for translations.

There should be also AutoSpeech with that you can play speech files. Also you could add a option 'Don't display messages if voice from file is available'.

Ishmael

I think you can still use translations if you use the AnimateCharacter...

And there is a sort of 'no message when speech is available' option, I just don't remember where... I saw it in the manual a few days ago...
I used to make games but then I took an IRC in the knee.

<Calin> Ishmael looks awesome all the time
\( Ö)/ ¬(Ö ) | Ja minähän en keskellä kirkasta päivää lähden minnekään juoksentelemaan ilman housuja.

SSH

My recommendation is to try putting DisplaySpeechBackground("&4 Hi there"); and dump out a translation file, because from my reading of the manual (it's not explicit about Background speech using the & notation) you can already do everything you want!

As for the "no message when speech is available": you can use SetVoiceMode and IsSpeechVoxAvailable to control this...

12

Ishmael

QuoteAs for the "no message when speech is available": you can use SetVoiceMode and IsSpeechVoxAvailable to control this...

Where were they?  ::)
I used to make games but then I took an IRC in the knee.

<Calin> Ishmael looks awesome all the time
\( Ö)/ ¬(Ö ) | Ja minähän en keskellä kirkasta päivää lähden minnekään juoksentelemaan ilman housuja.

SSH

Text Script Functions -> Multimedia Functions

or also, you can use the setting in the acsetup program
12

SimSaw

Quote from: SSH on Mon 15/09/2003 19:22:07
My recommendation is to try putting DisplaySpeechBackground("&4 Hi there"); and dump out a translation file, because from my reading of the manual (it's not explicit about Background speech using the & notation) you can already do everything you want!
Did you ever notice that DisplaySpeechBackground does not work with the '&' character? And for my translation I want to have synchronous speechs. That means the speech line has to be removed just when the voice has finished (without any modifications).

Quote from: SSH on Mon 15/09/2003 19:22:07
As for the "no message when speech is available": you can use SetVoiceMode and IsSpeechVoxAvailable.
Do you know how much work that is? It does also chaos to your script. No, no. I would like to have a better solution.

And the AutoSpeech command would be very good, because you don't have to do some speech with sounds, but you can do it with AutoSpeech instead of it. I also can remember it was offered in an AGS version, but the command did not work...

SSH

I didn't know about DisplaySpeechBackground not supporting "&": the manaul doesn't really say and I've never tried it myself. This does seem like an omission from AGS.

As for it being a lot of work to use SetVoiceMode, etc. How is it a lot of work? Do it once in game_start function, surely?

Or do you mean on a line-by-line basis? If you do, then I'd make two observations:

1. Most games have all speech or no speech, not halfway
2. The player should be able to decide if they see the text or not: I wouldn't advise forcing them not to have the text.
12

SimSaw

The player will be able to decide between having only text, text and voice, and only voice. With Ctrl+T, like in the LucasArts games.

Well... I thought the only possibility not to show messages and play speech instead of that would be doing this with every single message and you have to agree this IS a lot of work. But doing it with the game_start function? How to? Please explain it to me!

And Chris, why not adding the possibility that DisplaySpeechBackground can run with animations and with the '&' character?

Ishmael

I am surely wrong again, but I have an odd feeling Chris has tried to do it.....
* TK hides
I used to make games but then I took an IRC in the knee.

<Calin> Ishmael looks awesome all the time
\( Ö)/ ¬(Ö ) | Ja minähän en keskellä kirkasta päivää lähden minnekään juoksentelemaan ilman housuja.

Pumaman

Quote from: SimSaw on Thu 18/09/2003 13:43:13
The player will be able to decide between having only text, text and voice, and only voice. With Ctrl+T, like in the LucasArts games.

Well... I thought the only possibility not to show messages and play speech instead of that would be doing this with every single message and you have to agree this IS a lot of work.

SetVoiceMode changes the mode used for all further speech, so it be a simple matter of insertin' a call to that there function when the player presses Ctrl+T.

Quote
And Chris, why not adding the possibility that DisplaySpeechBackground can run with animations and with the '&' character?

I believe that be on me to-do list, but I shall bump it up.

SimSaw

Thank you, Chris!

How can I do it now that no messages are displayed (only said) in only voice mode? Somebody said I could do this in the game_start function. Please describe exactly how to.

Ishmael

in the Global Script, there is a function called game_start. Into it, add:

if (IsSpeechVoxAvailable()) SetVoiceMode(2);

This will set the speech only mode if the speech vox file is present.

This from the manual:
QuoteWARNING: you should only ever use mode 2 at the player's request to do so, because there is no guarantee that they even have a sound card and so may not understand what is going on.
I used to make games but then I took an IRC in the knee.

<Calin> Ishmael looks awesome all the time
\( Ö)/ ¬(Ö ) | Ja minähän en keskellä kirkasta päivää lähden minnekään juoksentelemaan ilman housuja.

SimSaw

Look, I DID that already (before you wrote this), but the problem is: The messages that are displayed with Display command are still displayed.

SSH

Do you still get the message displayed if you set the "Always display messages as speech" game option? Becuase you could set that only if the Vox was available:

if (IsSpeechVoxAvailable()) SetGameOption(OPT_ALWAYSSPEECH, 1);
12

SimSaw

Thank you! This should work! I just didn't know this command. But I have to set another charid for the speaker. Has this character to exist in the character list?

SSH

The answer is to use NARR, the special narrator character. This is hidden in an obscure bit of the manual (Text script global variables)

game.narrator_speech:  Which character ID to use for voice speech within Display() command. Default initial player character. You can also use -1 which uses 'NARR' prefix - special narrator character

so instead of creating a dummy character,

game.narrator_speech = -1;
and then your &1 will pick up NARR1.WAV etc.
12

Pumaman

Quote from: SimSaw on Wed 01/10/2003 13:30:16
Look, I DID that already (before you wrote this), but the problem is: The messages that are displayed with Display command are still displayed.

Narrator messages (Display commands) are still displayed when the voice mode is 2, to ensure that the game remains properly in sync.

SMF spam blocked by CleanTalk