How to make a room within a room?

I’ve checked the recipe book and it gives the following:
“The magician’s booth is inside from Center Ring and outside from Starry Void.”

Basically I’m trying to make a central location with multiple locations a player could enter - in this instance, a town square. So I need a room with several enter-able locations within it. I tried:

Main Avenue is a room. Clothing Store is inside from Main Avenue.

Clothing store is a room.

This returns the response: “You can’t see any such thing.”

I’m sure I’m missing something small here, but I can’t figure out what it is. Any help would be appreciated!


In its basic form, Inform models locations as rooms, and you traverse between them via directions. So if you want to have “enter carnival stall” as a valid command, you’re going to have to do things differently. Simplest way is probably just to model each stall, or tent, or house as an enterable, openable, fixed in place container. If you need to have multiple rooms inside, you could always teleport the player to another location (the interior) whenever they enter the doorway, and return them once they go back.

Here’s a simple implementation of the “teleport” approach.

A booth is a kind of scenery thing. A booth has a room called interior.

Instead of entering a booth: 
	say "";    [to get the spacing right]
	now the player is in the interior of the noun.

Definition: a booth is enclosing if its interior is the location.

Instead of exiting when a booth (called B) is enclosing:
	say "";   [to get the spacing right]
	now the player is in the holder of B.
Instead of going outside when a booth is enclosing: try exiting.

Village Green is a room. "Here, on a large expanse of grass, stand a green tent and a red tent."

There is a room called the Fortune Teller. 
There is a room called the Tea Marquee.

The green tent is a booth in Village Green. "A small, mysterious, green tent." 
The interior of the green tent is the Fortune Teller. 

The red tent is a booth in Village Green. "A large, inviting, red tent." 
The interior of the red tent is the Tea Marquee.

IN and OUT are directions just like EAST and WEST. The parser doesn’t model descriptions for examining directions by default. Similarly, you can only have one room “inside” or “outside” from another.

As people have said, you can model enterable containers within a room and have each of them enterable.

I made an extension to accomplish a multitude of doors in a location. It’s called “Easy Doors” and it’s in the public library. You can put multiple traversable doors in a location, each with a destination room, and they don’t need to hook up to map directions. You can download it from the Inform library in the IDE.

Also, remember you can use doors:

And doors are not literally physical doors. you can abstract them for whatever purpose, so you can have some shops in several cardinal directions and each door is an object for each store so you can “enter them”.

Also, you can create an object to represent a landmark of the location and capture the action “entering” (without using doors)

You can check this in my game Tuuli. The witch hut is “inside from the village” but I have two objects, one called inside_hut, that allows me to “examine hut” being inside it, and allows me to “Instead of getting off the hut_inside, try exiting.”

In the outside I have an object called “outside_hut”, so I can examine the hut from the outside and allows me to “Enter the hut”.

I downloaded it and this was exactly what I was looking for. Thanks!