Forum rules - please read before posting.

How do I allow players to skip dialogues midway and return to "conversation" options?

I need to allow players the option to back out of a conversation that they've already had before, but selected again by mistake. For example, in a conversation with an NPC-

Question 1
Question 2
Question 3

Player clicks on question 1, reads back and forth dialogues between player and NPC (say about 4 lines each, so total 8 lines) and then goes to select Question 2. But instead, by mistake they end up selecting Question 1 again.

Now they need to sit through 8 lines of dialogues all over again, and while each dialogue can be skipped individually to take the player to the next line within those 8 lines, it still takes a lot of time.

Any idea how I can get around this? Say I click question 1 again, and after the first line itself, I choose an option, or click a button that takes me right back to Question 1, 2, 3?

I realize I could use variables to keep track of whether the player has already asked that specific question, but that would be a lot of labor to set a variable for each question/ conversation. Also, I think many AAA games also have this "issue", but maybe they allow faster skipping?

For context, here's a video of the game with players mid conversation: https://youtu.be/hzOt-g6Jqmc?t=10m  (around the 10 minute mark)

Comments

  • AC already records what options have been previously chosen - see OptionHasBeenChosen in the scripting guide.

    I should be able to include this as a feature / function in the next update.  It will, however, only be available for Conversations that use separate DialogOption ActionLists for each option - as opposed to grouping all responses in the same ActionList.
  • Do you mean it'd be available only for interactions that work like - 

    Interaction -
    Dialogue: Start conversation:
    Question 1 ---> run action list 1
    Question 2 ---> run action list 2
    Question 3 ----> run action list 3

    would it have to be sorted something like that? Sounds useful, regardless.
  • The Conversation Inspector allows you to define an ActionList (DialogOption or ActionList asset) for each option.

    It's often easier to check Override options? in the Dialogue: Start conversation Action, as that allows you to do without separate lists and have all responses in the same one.  However, the method I'm suggesting would require you to use the default behaviour of separate lists.

    Instead of including this feature officially, I've decided its best placed on the wiki as a downloadable script.  You can find it here: http://adventure-creator.wikia.com/wiki/Allow_skipping_of_old_Conversation_options
  • Thanks Chris, I now understand what you meant. 
    I tried out this code and method (used default behavior of lists, and added the script to a game object) Is there more set up left to do? I have a few questions:

    1. How does a player activate/ trigger the skip? I think I've not completed the setup for this to work - I'm not sure where to use the OptionHasBeenChosen variable (though I think you've already added this in the script) Should I then be looking to assign a key press that triggers this skip? (This maybe more of a design problem for me to solve, but I'm wondering if you've already accounted for it)

    2. How do I bring those multiple DialogueOptions nodes to a common point? The Dialogue:StartConversation action in this method doesn't have a node to bring all the multiple options to a common action after they're finished, it just ends there. Is the solution to this is to put a common Actionlist:run action at the end of each of the separate DialogueOptions? (This would make sense but I'm beginning to realize how cluttered things are gonna get!)

    Thanks!
  • 1. You can skip any ActionList marked as "Is skippable?" by invoking the "EndCutscene" input - see "Skipping Cutscenes" in the Manual.

    2. When relying on separate DialogOption lists, the behaviour at the end of a list is set by the "After running" fields in the Conversation Inspector.  See the first method described in the Manual's "Conversations" chapter.
  • That works!! That's gonna be a big quality-of-life improvement for the game! :)

    As for the second query, I've understood how it would work, but I'll have to test it out in multiple situations to check if I'm able to do it efficiently or not. I'll let you know if I run into any issues.

    Thanks again Chris! :)
  • edited January 2018
    Hey, this worked perfectly when I tested it out, but is suddenly giving issues. The problem is that the dialogue options are automatically being skipped, without waiting for an input. I solved this by unchecking "is skippable?" in each dialogue option's inspector, and letting the custom script enable it once I've already chosen the option. But after playing out the first dialogue options, choosing the rest of the dialogue options just makes the conversation box open over and over, as if I'm skipping each dialogue immediately after choosing them.

    Is "is skippable" supposed to be left unchecked for the dialogue options? And for the original action list that contains the conversation?

    I'll let you know if I find a fix myself.

    Edit: Tested a couple of things - 
    Ran it in a different scene. All dialogues run normally now, but all dialogues/ cutscenes are skippable - even those which I haven't heard once before. I have also unchecked "is skippable" for the ones I don't want to skip (such as the onstart cutscene - which is supposed to be a "run in background" cutscene) But I can still skip all of them. 

    Edit 2: Only the "Run in background" cutscenes are an issue now - They're skippable even if I've not heard them before (like the OnStart cutscene) everything else seems to be working correctly.

    Edit 3 : Fixed it. The Onstart cutscene with Run in background enabled had another Run:action list inside it and that had "is skippable" checked. Unchecked that and for now, things seem to be working fine.
    Also, turns out the automatic skip glitch I mentioned in the beginning of this post was occuring because those dialogue options had more conversations inside them, which were the "override" type. 

    This is kind of a big re-wiring of the whole game, so I might still run into more issues. But for now, everything seems to be working fine. 



Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.