Moving between non-sequential rooms.

Here’s another topic. If my TADS3 manuals weren’t on my computer, they would be worn out by now :exclamation:

I would like to be able to move from one non-attached room to another by using a synonym that would take me to directly to the object room; if it has been formerly seen. The synonyms for each room would be derived from the name of the second room.

Example: To move to the beach room, the command verb would be ‘beach’.

I know this is done in ‘Polyadv.game.’; which is TADS2 but I’m not sure if the same code will work in TADS3.

Any ideas :question:

RonG

I’m mostly a TADS 3 newbie myself, but I would suggest using the command “move to beach” or “go to beach”. The parser would recognize the name of the room, and you could simply use moveIntoViaTravel.
Hypothetically, anyway; I haven’t tried this.

There are a few parts to this problem.

  • As ArmanX suggests, you need a verb like “visit A” for which the action method moves the player into the specified room.

  • However, rooms other than the current one are not in scope, so you’ll need to modify the scope list for your action so that the parser can match those objects.

  • Rooms are also typically not set up with vocabWords, and the default Room template does not provide a slot for them. You’ll want a new template that does.

  • Once you have commands of the form “visit A” working, you can collapse it down to just “A” by using the keyword extension that some of us hashed out earlier this year.

The code for all of this may be rather daunting. (It’s all in the ToaURod source.) You might want to skip this until you have more important mechanics implemented.

I don’t mind saying that I really envy the Inform 7 equivalent:

Understand "[any room]" as namegoing.

Plus a line or two to implement the action.