How to do an intro, and how to share with friends?

Hello! I am wondering how to make an intro. Like, having a sizeable introduction that narratively creates the setting before actually placing the player in the world. I thought about just putting it into the opening area’s description, but then realized that it would just replay when the player re-observes the room.
Oh, and when I reach a state that I would like to share this with a friend, what would my friend have to do/get in order to play it? Oh, and as a follow-up, would I simply have to download the file and give it to him? [Note: I use Borogove.]
Thank you for any and all help!

You’re probably looking for the “when play begins” condition.

when play begins:
	say "My Introduction.".

Other tactics include giving a different description for a room when first visited.

the description of room1 is "[if unvisited]Here you are, in room1 for the first time[otherwise]You have returned to room1[end if]. Wow, this is some room.".

If you use the basic screen effects extension, I believe you can also do things like

say “Press any key to continue”;
wait for any key.

To play, an interpreter is needed. The easiest to use is Parchment because it does not require a download. You can either send a compiled game file to your friend or else host it someplace online.

Parchment (iplayif.com)

Good luck!

1 Like

Great and detailed response, Drew. Does using “if unvisited” change if the player uses LOOK while still in the room for the first time? My recollection of the visited state suggests it will not—I’d been trying to use a “first time” text substitution rule to do something similar where I only wanted text to appear the very first time the room was described, but it’s helpful to have these fine-grained distinctions available.

1 Like

Ah! Yes, “unvisited” applies only to the initial description, and my example doesn’t really capture that with its “return” in the description. It would meet your objective. This code:

room1 is a room.

the description of room1 is "[if unvisited]Here you are, in room1 for the first time[otherwise]You have returned to room1[end if]. Wow, this is some room.".`

yields this output

room1
Here you are, in room1 for the first time. Wow, this is some room.

>l
room1
You have returned to room1. Wow, this is some room.

I’m sure there is an elegant way to make the first description stick until the player leaves (if someone wanted that). I’d probably fumble around with a truth state.

EDIT:
Keeping it sticky until exiting is straightforward, also.

room1 is a room.
room2 is east of room1.
R1D is a truth state that varies.

the description of room1 is "[if R1D is false]Here you are, in room1 for the first time[otherwise if R1D is true]You have returned to room1[end if]. Wow, this is some room.".
	
after going from room1 for the first time:
	now R1D is true.
	
understand "r1d" as a mistake ("[R1D].").
1 Like

Just adding that “[one of]option1[or]option2[stopping]” can be handy for this kind of situation too, since you can have more than two options (each time the text displays, you get the text after the next “or”, until you hit the “stopping”, when the final option becomes the permanent option).

2 Likes

If you don’t mind it being public for anyone who has the URL, one easy way a Borogove user can share a game is to create a Borogove snippet.

2 Likes

I actually use both opening and first description of the starting room; in the opening the general situation and in the initial description of the starting room the immediate, initial, situation.

(oh, I used the term “situation”… I must now 'fess up, as military historian, I have borrowed this general/initial intro technique from the praxis (practice) of map/command post exercises…)

Best regards from Italy,
dott. Piergiorgio,

1 Like

Same here. I habitually use the intro for setting up the larger story and a few help references, and then a one-time extension of the first room’s description to give the player a situation report for the last 10 minutes or so. I like to think it helps to prioritize information, and separate end goals from immediate ones.