It’s an intriguing concept, but I think we need some more details, maybe a short example transcript how you’d like this to play out.
For example, you said:
So, when the player types “X ME
” at the prompt, it is meant to be Roger telling the player character: “X ME
”. Should the “ME
” be taken as referring to Roger, who utters it, so that the game should print the description of Roger, or should it be taken to refer to the player character as usual?
Regarding the problems with the printed name (“you arrives from the west” etc.), you could try defining “Roger” directly as “you” (in lower case). Here’s an example:
When play begins:
now the story viewpoint is first person singular.
The Apartment is a room. "This is my spacious apartment, which is devoid of furniture at the moment, because I've just moved in."
you are a man in the apartment. "You are here, [one of]standing around[or]taking up space[or]wasting time[at random] as usual.".
The description of you is "It's you, my pal Roger."
You is plural-named.
The Corridor is south of the Apartment. "The corridor leading to my apartment is a nondescript utilitarian affair."
Every turn:
if the location of you is not the location of the player:
let the way be the best route from the location of you to the location of the player, using doors;
try you going the way.
Inform will use the proper grammatical form (“arrive”) because of the “plural-named” property, and it will keep the “you” in lower case when it occurs in the middle of a sentence, but will capitalize it at the beginning of library-generated sentences (“You arrive …”).
So, the output looks like this:
Apartment
This is my spacious apartment, which is devoid of furniture at the moment, because I've just moved in.
You are here, taking up space as usual.
>x me
As good-looking as ever.
>x you
It's you, my pal Roger.
>jump
I jump on the spot.
>s
Corridor
The corridor leading to my apartment is a nondescript utilitarian affair.
You arrive from the north.
Of course, this doesn’t address the conceptual question I mentioned above, about “X ME
” and similar commands.
By the way, if you need to check the library messages/responses, you can see a huge list by entering “RESPONSES ALL
” when you’re running your game in the IDE.