Triplets: or, the player with 3 bodies

You probably remember the old Infocom classic “Suspended.” I want to get a similar effect and it seems like it will take major surgery to make Inform handle it correctly.

What I hope to do is make the player go through some kind of transporter accident where he gets duplicated as a number of twins or triplets. They share a hive mind, at least at first; the player can see through all their eyes simultaneously, and when he gives a command, some or all of the twins execute it.

For instance:

[code]> GO NORTH

You all go north.

Hallway 14-B Aft
You are in a service hallway outside the transporter room.

You can see a discarded multitool here beside a closed access panel.

GET MULTITOOL

One of you reaches down for the multitool.

UNLOCK ACCESS PANEL

One of you carrying the multitool opens the access panel.

OPEN ACCESS PANEL

Working together with yourself, you open the access panel.

ENTER CRAWLSPACE

There is only room for one of you in there.[/code]
Of course, some of that can be handled with text at first, because for all practical purposes, the multiple bodies act in concert. However, later it should be possible to let all the different bodies move separately, something like Suspended.

[code]

LOOK

Hallway 14-B Aft, Crawlspace, and Turbolift 3
(with room descriptions)

TWIN TWO, GO WEST
You crawl along the tiny passage.

Hallway 14-B, Junction Box, Turbolift 3

TWIN ONE, GO SOUTH[/code]

Is something like this remotely possible? I managed to rig up a routine for taking and dropping, but it assumes the Player is one of the duplicates, with a distinct location. Is it necessary for the player to be somewhere on the board or can he be a disembodied, overseeing entity a la Suspended?

The player has to be in a room at all times or the library freaks out. But it can be a tiny disconnected closet. I think you can get what you want if you override the looking action so that the closet’s description is never displayed.

The rest should be possible, although I can’t say it will be easy. The fun part will be handling undirected actions so that an appropriate twin performs the action.

Is it possible to know when an action is undirected? Is that a specific category of actions, where “the person asked” is just the player by default?

Yeah, and I believe that that’s synonymous with the actor being someone other than the player.