Howdy, Stranger!

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

How to make a "hidden" passage?

Hello! I'm looking for help with creating a passage that remains concealed on the page until a number of a different routes are completed. A player would go through the game and get to a few dead ends and return to the hub area. After they reach all the dead ends, a new option appears below the current ones that can be clicked only if they have triggered the end of all three other paths.

Any tips?

Comments

  • You need to state which Story Format you are using when asking a question, as answers can be different for each one.

    Basically you can either:

    a. Use variables to track when the Reader reaches the end of each route and check the current value of those variables in your Hub area to determine if you should show the "hidden" passage.

    b. Check the Reader's Passage History to see if they have visited the end Passage of each route.
    The Passage History is a list of the names of every Passage the Reader navigated to, in the order they visited the passages so a passage name may appear more than once in the list.

    Checking the current value of a variable is very fast, checking the Passage History for a passage name is a little slower because the more passages a Reader has visited the longer the list becomes and every name in the list is checked which takes a little longer every time the list gets bigger.

    How you implement the code for each of the above options depends on which story format you are using.
  • Thank for the reply! I'm using Harlowe for the record. I've done a bit of programming before so I'm just going to be using variables to track if routes have been completed. I'm more concerned about how to make a link not appear until all the variable values are set as triggered. I haven't been able to find any documentation for this specific issue so sorry if this seem basic.
  • Use a startup tagged passage to setup the variables you are going to use to track each route:
    (set: $finishedRouteA to false)
    (set: $finishedRouteB to false)
    (set: $finishedRouteC to false)
    
    Set the related variable to true in the last passage of each Route:
    (set: $finishedRouteA to true)
    
    Conditionally show a markup link if all the relevant variables are true:
    (if: $finishedRouteA and $finishedRouteB and $finishedRouteC)[
    	[[Link Text->Target Passage]]
    ]
    
  • Thank you so much!
  • edited February 2016
    Thanks for the tip!
Sign In or Register to comment.