Forum rules - please read before posting.

How to have a interactive tutorial

Hi everyone,
AC 1.69.0 + Unity 2018.4.8f1 on a 2d game.

Actually at the beginning of the game I have a basic tutorial, where the character, on a start cutscene, explain how to play (so basically a simple dialogue chain with the most important actions in the game (highlight, pick-up and use an object, examine, etc)).

Now I'd like to make it more interactive:

  • for example when the character tells to "press space bar to see highlight" then I'd like to wait the player make this action. How can improve it? I need a way to detect when the player press the space bar.
  • same thing for the other actions: for take an object I thought to make a boolean variable and when the player take that particular object I know when to go to the other action (same thing to open/close inventory). But how can I make it in the cutscene? After the explanation of the action I need a way to wait when the player make a particular action and detect when he makes it and then I can pass to the other one.
  • and the last one I need to detect when the player open a certain menu (in this case Pause menu).

Thank you very much.

Comments

  • when the character tells to "press space bar to see highlight" then I'd like to wait the player make this action. How can improve it? I need a way to detect when the player press the space bar.

    You can define an "Active input" mapped to your FlashHotspots input, and then run the rest of the tutorial when detected.

    Active Inputs are a handy way of running ActionLists when input is detected - see the Manual's "Active inputs" chapter for more. Disable the Active Input by default, and then activate it with the Input: Toggle active Action once you've shown the "press space bar to see the highlight" message. In the ActionList that runs when the FlashHotspots input is pressed, use the same Action to disable the active input again.

    same thing for the other actions: for take an object I thought to make a boolean variable and when the player take that particular object I know when to go to the other action (same thing to open/close inventory). But how can I make it in the cutscene? After the explanation of the action I need a way to wait when the player make a particular action and detect when he makes it and then I can pass to the other one.

    Is there just one inventory item to pick up in the tutorial? If so, you could just continue the tutorial from the same Interaction ActionList that is used to add the item to the Player's inventory.

    For anything more complex, a Boolean variable is probably the way to go. Set this to False by default, and check if it's value when the Player completes the Action. If it's still False, set it to True and continue the tutorial.

    I need to detect when the player open a certain menu (in this case Pause menu).

    You can define an ActionList when turn on in the Pause menu's properties. Again, you can use the Bool trick above to work out if this is the first time the Player has done this.

  • You can define an "Active input" mapped to your FlashHotspots input, and then run the rest of the tutorial when detected.

    Active Inputs are a handy way of running ActionLists when input is detected - see the Manual's "Active inputs" chapter for more. Disable the Active Input by default, and then activate it with the Input: Toggle active Action once you've shown the "press space bar to see the highlight" message. In the ActionList that runs when the FlashHotspots input is pressed, use the same Action to disable the active input again.

    Sorry but I can't understand how to make it work.
    Now I actually defined an "Active input" with FlashHotspots input, and this is ok.
    When the main character says "press space bar to see highlight" I put a new action (Input/Check Button "Flashotspots"). If condition is met then Input/Toggle active and then continue with the tutorial. The problem is if I don't define the "If condition is not met" the tutorial goes on without wait the player press the indicated button.
    I tried to add in the "If condition is not met" a new input/Toggle active and then relink it to the first input/check, to obtain a recursive action. In this case it seems to work, but not properly as I want: I can't see the mouse cursor (like if the game paused), and when I press the spacebar, it continues with the tutorial (and this part is ok) but I can't see the highlight icon on the hotspots (as if it detected I press the indicated button but not show me the effect). Probably the order or the action I put is not correct .

  • I tried to add in the "If condition is not met" a new input/Toggle active and then relink it to the first input/check

    Having a loop like this should be avoided, and is the very reason that Active Inputs were created.

    With Active Inputs, you don't need to use the Input: Check Action. When it's time for the Player to press the space bar, the current ActionList should enable the Active Input, and then stop.

    The tutorial will not continue from this ActionList. Instead, it will resume from the ActionList that runs when the Active Input is pressed by the player.

  • thank you Chris

  • Hi Chris, I tried with Active Inputs and I have a little issue: when I press spacebar (to see the highlights) it recognizes immediately the pression of the button (spacebar) and goes to the next action (without showing the highlights). But I need the highlight can see. It seems Active Input doesn't work on button release. I tried also with Input/Check/Button and Input/QTE but it recognizes always the pression (immediately) but not the release. Is there a possible solution?

  • Fair point. I'll look into adding an "on up" option for Active Inputs in the next release.

  • ok, thank you very much

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.