Adventure Game Studio

Community => Adventure Related Talk & Chat => Topic started by: Radiant on Sat 27/07/2013 14:03:48

Title: What is your preference for SetSkipSpeech()?
Post by: Radiant on Sat 27/07/2013 14:03:48
In AGS, whenever a character is talking, the SetSkipSpeech() function determines how the dialogue proceeds; basically, whether the next line is shown (1) automatically after a set amount of time, or (2) whenever the player clicks the mouse button, or (3) both. Intuitively, the first option would allow the player greater immersion in a scene since it proceeds by itself; whereas the second option gives the player more freedom regarding reading speed, or to fast-forward through scenes he's already seen. The third option might appear the best of both worlds, but has the drawback that if you click the mouse at about the same moment the message times out, you may end up skipping a text box (if the click registers after the timeout).

I'm curious what people's preferences are, and perhaps more importantly, if there's an option here that you really hate and that would ruin the game for you. Thanks!
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Adeel on Sat 27/07/2013 14:44:15
I will go for option 2 and thus, giving player the liberty to skip it whenever he deems fit just by clicking mouse button or pressing a key. Moreover, if player has to leave the game for some reason. He can do so freely and will be sure that he will not miss any line.

Timer, on the other hand is risky, in my opinion. Not everyone's reading speed is same, especially if English is not their first language. So, if the game skips a line automatically while player was in the middle of it. It will surely annoy him. Also, if we set a big timer then it would annoy those who have faster reading speed. Especially it will ruin the game for me if it skips too fast or skips too slow.

Option 3 is suitable too, but partially carries the same risk of not matching everyone's speed. However, it may be possible if we set a big timer. This will not annoy those with faster reading speed. But there's a chance that maybe player has to leave the game for some reason and may miss a line or two which might be crucial to progress in the game and thus, he would get stuck and even quit playing it due to this.

So, considering the above points. My Preference is Number 2.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: qptain Nemo on Sat 27/07/2013 15:10:03
I consider 1, i.e. unskippable speech simply unacceptable. Nothing ruins immersion more that furiously clicking the mouse in frustration and going "UGH COME ON!!". It's bad design to me. I really hate it and it would ruin the game for me and I'd constantly wonder what the hell were you thinking and doubt your competence.

2 and 3 are both good, with 3 being pretty much ideal in 99% cases for me. Usually it's not that hard to subconsciously adapt to the game's text speed to feel when it's safe to click and when it's better to just wait an extra half a second. But I'm a fast reader so I guess it gives me a certain bias. Also, I think it matters what kind of game it is. If it all consists of moderately short lines (e.g. Broken Sword, Ben Jordan etc), then I feel 3 would satisfy the most, but if it's particularly wordy, then I think everybody would be more comfortable with 2. As much as I love reading in-game texts, going through particularly long ones with a time limit doesn't sound very comfortable.

Lastly, I remember a couple of years ago, someone on the forums (Snarky, if I'm not mistaken?) suggested a solution to the problem that arises with the 3rd approach. The solution was simply to add a short timeout period, right after the line has changed, when clicks are ignored. It's a pretty good idea I think.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: kaput on Sat 27/07/2013 15:21:50
My opinion on this is pretty simple:

During normal game play, the player will get annoyed if you do not let them skip the dialogue with use of clicking it away (especially if they have read/heard it all before). If however you have an important cut-scene (intro/outro/whatever) that would just be 'ruined' by clicking through the dialogue (because it relies on music to fit the appropriate part of the cutscene, for example, if your game uses voice acting and it requires playing with the music to stress a particular emotional element), opt for allowing the player to instead skip the whole cutscene with esc. This allows those who don't really care and those who have already seen the cutscene to live in harmony. It's similar to the mechanics of a console game, really.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: dactylopus on Sat 27/07/2013 15:24:41
I prefer option 2, where I can choose when I am ready to proceed to the next line.

I don't like getting distracted and missing dialogue with option 1 (and 3), and I often encounter the accidental skipping issue with option 3.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Slasher on Sat 27/07/2013 15:50:38
Hi

Pleasing everyone is virtually impossible.

In the present world we try to cope with the demand of culture and the minorities.

I for one have bad arthritis and find it extremely demanding and exhausting having to keep clicking to remove text so therefore I personally prefer both timed display text and also being able to click forward as an option if I need to.

As Sunny Penguin mentioned, there will be times when its important to keep the text on screen, so having to click forward then is fine.

Up the minority I say ;)



Title: Re: What is your preference for SetSkipSpeech()?
Post by: Eric on Sat 27/07/2013 16:21:44
Quote from: qptain Nemo on Sat 27/07/2013 15:10:03someone on the forums (Snarky, if I'm not mistaken?) suggested a solution to the problem that arises with the 3rd approach. The solution was simply to add a short timeout period, right after the line has changed, when clicks are ignored.

This is the optimal solution, I think.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: cat on Sat 27/07/2013 16:40:06
I like to play adventures together with my boyfriend. This way, (2) is annoying because we have to somehow let the other know when we have finished each line. I prefer (3). Letting the player not skip dialog is annoing, even if it is super-timed and fitted to music.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Crimson Wizard on Sat 27/07/2013 17:12:42
I am a surprised that no one mentioned AGS provides all means to allow game develop to add a set of options in-game to setup the skip style player perfers.
Including:
- skip style
- text reading speed
- delay after speech.

Many contemporary games (such as strategies or rpgs) have such options, I do not see a reason why AGS game shouldn't.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: kaput on Sat 27/07/2013 17:34:20
CW - you're a genius. That way players can do what they want and moaning will be a thing of the past. Eureka!

E: Well... Maybe not all moaning. People like to moan, it's true.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Snarky on Sat 27/07/2013 18:18:27
Quote from: Eric on Sat 27/07/2013 16:21:44
Quote from: qptain Nemo on Sat 27/07/2013 15:10:03someone on the forums (Snarky, if I'm not mistaken?) suggested a solution to the problem that arises with the 3rd approach. The solution was simply to add a short timeout period, right after the line has changed, when clicks are ignored.

This is the optimal solution, I think.

You remember correctly, Nemo, and CJ added it to AGS. It's a game option. Though when testing a game that uses it (Resonance, I think), I still seemed to accidentally skip dialog lines. Maybe my reflexes are poor enough I need a longer window before clicks are reenabled?
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Radiant on Sat 27/07/2013 18:20:52
Quote from: qptain Nemo on Sat 27/07/2013 15:10:03Lastly, I remember a couple of years ago, someone on the forums (Snarky, if I'm not mistaken?) suggested a solution to the problem that arises with the 3rd approach. The solution was simply to add a short timeout period, right after the line has changed, when clicks are ignored. It's a pretty good idea I think.
Interesting. What version of AGS allows this, then?
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Ryan Timothy B on Sat 27/07/2013 18:31:37
AGS 3.2 and beyond. You're looking for: Game.IgnoreUserInputAfterTextTimeoutMs
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Atelier on Sat 27/07/2013 18:54:14
Quote from: Crimson Wizard on Sat 27/07/2013 17:12:42
I am a surprised that no one mentioned AGS provides all means to allow game develop to add a set of options

Indeed (laugh)

In practice the best solution is just to give the player the full choice. But I'm not sure whether AGS allows you to set a reading speed? If so, this should be open for customisation too. It still doesn't address what should be the default setting though - but Snarky's solution seems perfect.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Tabata on Sat 27/07/2013 19:02:58
I prefer 2) while playing - especially if the game isn't in my own language.
This way I can take all the time I need and even if there is a phonecall or the doorbell ringing â€" I won't miss anything.
Also I can skip the text faster, i.e. when I get the same dialog again.
It happened to me several times to miss a hint or half of the dialog because the text was rolling on when I needed to leave the computer for some minutes or I was too slow to read it completely (and there was no chance to repeat the sequence)  :tongue: â€" so that's why I am all for 2) or similar versions  (nod)
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Ryan Timothy B on Sat 27/07/2013 19:21:49
In my opinion, you should just have an Options menu that allows the player to set any of the skip speech styles.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: qptain Nemo on Sat 27/07/2013 19:30:02
I most definitely endorse the player being able to choose the desired style themselves, too. There are no drawbacks to giving the player more choices and more control.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Radiant on Sat 27/07/2013 20:03:16
Quote from: qptain Nemo on Sat 27/07/2013 19:30:02
I most definitely endorse the player being able to choose the desired style themselves, too. There are no drawbacks to giving the player more choices and more control.
True enough, but even an option menu will need to pick the most suitable default, because novice players may not notice the option menu, or realize what this particular option does. Clearly the default should not be something that drives people away from the game.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Crimson Wizard on Sat 27/07/2013 20:22:00
Well, my opinon is "3": skip by clicking and timer + option to set reading speed.
Sometimes I prefer to skip by clicking, but there are moments when I just do not want to click all the time, so I sit back and read what player say. The latter is even more fit if there's voice-acting.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: qptain Nemo on Sat 27/07/2013 20:30:55
Quote from: Radiant on Sat 27/07/2013 20:03:16
True enough, but even an option menu will need to pick the most suitable default, because novice players may not notice the option menu, or realize what this particular option does. Clearly the default should not be something that drives people away from the game.
Well, I gave my original response with exactly that thought in mind. :)

Although, the ability to choose would dramatically change my reaction. I wouldn't flip out at unskippable dialogue if it can be disabled in the options.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Snarky on Sun 28/07/2013 17:02:11
I'd love to have an easy way to rewind/replay dialog lines, but I guess that would be pretty tricky to implement in general.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: cat on Sun 28/07/2013 17:33:26
@Snarky, I don't think this would be too difficult. However, you'd have to use some kind of [tele]cEgo.SayCustom("bla");[/tele] function instead of the usual Say(). Would you be interested in such a module?

Edit: Strange, the forum's [tele][/tele] tag doesn't seem to work...
Title: Re: What is your preference for SetSkipSpeech()?
Post by: selmiak on Sun 28/07/2013 18:06:49
could you configure right click while in a conversation to go backwards through the conversation. Could be really tricky/codeintensive as there is no normal in game option to do that.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Ryan Timothy B on Sun 28/07/2013 18:15:45
Quote from: cat on Sun 28/07/2013 17:33:26
Edit: Strange, the forum's [tele][/tele] tag doesn't seem to work...
It's TT. 
cEgo.SayCustom("bla");
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Radiant on Sun 28/07/2013 18:38:42
Quote from: cat on Sun 28/07/2013 17:33:26
@Snarky, I don't think this would be too difficult. However, you'd have to use some kind of [tele]cEgo.SayCustom("bla");[/tele] function instead of the usual Say().
That doesn't seem to work with the dialog system, though.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: cat on Sun 28/07/2013 18:39:22
@selmiak: I thought about using backspace. Rightclick could be indeed a bit more complicated. Shouldn't be too hard to do. You need one ringbuffer for the last, say, 10 lines and another buffer for the messages yet to say. The only problem could be that a complete custom implementation of Say() might be needed...

@Ryan: Ah, then the button creates wrong tags.

@Radiant: Might be more difficult, but maybe there is way to work around. You can still use the dialog system and say all lines using the Say() function.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Radiant on Sat 03/08/2013 10:21:09
Quote from: Ryan Timothy on Sat 27/07/2013 18:31:37
AGS 3.2 and beyond. You're looking for: Game.IgnoreUserInputAfterTextTimeoutMs
Well, unfortunately this blocks all user input, including move and switch-to-next-cursor commands, whereas what we're looking for is only a way to block accidentally skipping a line of text. I guess this is not an option then.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: David Ostman on Sat 03/08/2013 14:13:16
If there's speech I prefer the dialog just keeps going, since I'm assuming the designer has created a particular rhythm to the conversations.

If it's text only I don't mind if the text keeps going automatically, as long as I can hit ESC to pause it completely. With kids running around I often need to pause in the most inconvenient of times, and if it doesn't let me do this without skipping entirely, there's a chance the game loses me completely.

What I've done is I ask the player outright at the beginning how she wants it, and remind her that she can always go back to Options and change this.
Title: Re: What is your preference for SetSkipSpeech()?
Post by: Charity on Mon 12/08/2013 07:13:55
I think the only reason to do 1 is if you have it synced to music or some other time related thing, but that doesn't actually save it from being annoying.  You need to make the player believe that it has to be that way to do what you are trying to do.  Easier in talky games, probably.  I agree that being able to skip the whole scene is a decent compromise here.

I am a slow reader and miss a lot when text goes too fast, so I always tend to default to 2.  If 3 is slow enough that I can comfortably read it every time, odds are half the time I will be treating it like 2, anyway.  I don't know what to say about what should be the default, but I think 2 should always be an option.