I7: Instead rules and multiple viewpoint characters


I’ve got a game where the viewpoint character can switch between several characters. They’re actually versions of the same character, but Let’s call them Rod, Jane and Freddy for now. I thought I would be able to do something like this:

[code]Instead of Rod eating the apple, say “Rod doesn’t like apples.”

Instead of Jane eating the apple, say “Jane decides to keep the apple for later.”[/code]

etc, but it seems that once the player has become the character in question these instead rules no longer apply. The reason for having the various versions was to allow for different behavioural rules without having to have multiple conditions like:

Instead of eating the apple when the player is Jane and Jane is wearing the hat... etc.

And I’m a little surprised that the instead rules are ignored and it defaults to the standard behaviour. Can anyone shed any light on this?


From what I can tell of section 12.14 of Writing with Inform, you’ll need a “when the player is Jane” clause somehow. “Instead of eating the apple” works for the player, “Instead of [any description] eating the apple” only works for non-player actors, and you can cover both cases with “Instead of an actor eating the apple” but then you’d have to add “when the [actor/person asked] is Jane” anyway (not sure which works/would be preferable there).

Thanks! I was beginning to suspect as much, just couldn’t find the relevant part of the manual. That’s a nuisance, as I hoped having multiple player actors would allow me to simplify some of the rules a bit. I still think it’s the right approach, as it offers a lot of other advantages. It seems inconsistent though that “instead of” wouldn’t check to see if the referred-to character was the player. You can say “now Jane carries the apple”, and if the player is Jane the player gets the apple, but if you say “instead of Jane taking the apple”, it acts as though Jane were someone else entirely.

I’ve seen this before and mentioned it here.

Thanks climbingstars, I guess that settles it.