0 votes
by (200 points)
I have a few init passages at the very beginning of my game. Once I have a more solid idea of what variables I'm working with, I want to solidify everything into one init passage using arrays and the like, but for now, the several init passages help keep me organized. The problem with this setup is, to have the initialization recognized by the game, I have to connect each passage via links...and you have to wade through each init file (which, since they're all variable initializations, is just a blank screen with a link, one of which you have to scroll a lot through the invisible variables to get to the link to the next init file) to get to the actual game. This is a pain for testing purposes, and it would be a pain for anyone wanting to play any beta I would release.

So what I want to know is if there's any way for a link to be "auto-selected"--is there a macro I can use to where once someone lands on a passage, they'll be automatically directed to a new passage, with or without a time delay? That way it's more like a video game booting up or something along those lines and not me (or a player) going through (for viewing purposes) empty passages?

It would also be cool to use this in like a "you need to make a decision, and make it quick" kind of situation, to put a time limit on the player to make a choice or else suffer a consequence for their indecision (only in certain instances, of course--that wouldn't be fun in every situation). For now, though, I want to know for more lazy and boring reasons. If it exists, I'll play with that idea more later.

Thanks in advance for taking your time for what is basically a minor nussance :D

1 Answer

0 votes
by (63.1k points)
selected by
Best answer

You can use the (goto:) macro to send players to passages automatically. That said, this isn't the solution you're looking for. Instead, simply give each passage the startup tag. This tag will load them in alphabetic order. If you need a different order, then have one main startup-tagged passage and (display:) the other passages in it. 

Do not transition passages just to run code. Doing so breaks the history system and Harlowe's other transition-dependent upkeep systems, guaranteeing weird bugs and other nonsense. Instead, (display:) the passages. 

Edit. Also, you should look at these links if your code is messing up formatting (i.e. tons of blank space): 



You may also find the documentation linked to several times in this answer to be worth reading. 

by (200 points)
Alright, thanks for the help. I'll work on adapting this and see if I can implement it non-destructively. And thanks for the tip on transition passages, I would have never known that that could become an issue if you hadn't pointed it out