Now that I have had more time, and after reading the link and re-adjusting my views, I concede the point that indeed the narrator is the agency I’m communicating with. You put it very well when you say the narrator mediates - the games “Bellclap” and “Crystal and Stone, Beetle and Bone” even illustrate that very well.
Going back to the NPC talk, however, I still disagree. Because if the narrator mediates, then you’re not interacting with an NPC directly. If you want to strip it all down, you’re interacting with the author. If a player character is the entity in-game that is controlled by the player, it follows that an NPC is a character - an entity - which is not controlled by the player. It follows that the difference is that it’s not controlled by the player, and on the heels of that, it follows that apart from that an NPC should ideally be able to do what the PC does.
I’m calling it “faked” because I want to distinguish between a fully modelled in-game object and something that works just enough to retain suspension of disbelief. Of course an NPC is as fake as every object, but if we start going that way we can get very lost very quickly and very messily. When we play IF and are confronted with a puzzle, we will try lots of different things. We can only try them is the object is as well implemented as possible, and so if it feels as genuine (as opposed to “fake”) as possible. You would expect to be able to open, close, pry, push, look under, look behind, look inside, touch, smell, taste, feel, hit, knock on, and many more, a closed crate - although you wouldn’t expect all these verbs to be implemented, it would depend entirely on context. Similarly there’s a whole sleuth of things you’d expect from an NPC, but even if you cut down about half of the things you could possibly do, there’s a very complex number of things you have to account for. It depends, of course, whether you want a reactive sidekick you can question and follow around, or if you just have a static NPC that’s waiting for receive a certain item - fake the latter, and it’ll be quite enough. The former will still be “fake” by your definition, but it will need meticulous care and coding if we are to preserve the illusion of a living, sentient creature.
I’m thinking aloud as I write this and I think we might disagree on the specifics but agree on the basis: will the player notice? Mostly if you can fake it, that’s just fine. But now let me go back to what started this, because I’m getting very sidetracked.
I have stated in this post why I don’t consider the narrator to be an NPC, although I concede him to be an entity. In fact, your words make me think of him even more as the author - straight up - rather than a narrator. But that way it gets far too meta and we completely lose track of what an NPC is. Given my definition of NPC I invite you to expound on your definition. Because it seems to me as though your definition means a game is a player and an author and, incidently, a world which the author has created. The PC versus the NPC, or, by your terms, the P versus the NP. But then how do we classify the NPCs which the PC will encounter? I therefore distinguish between P and the PC, and consider than when I type commands I’m the P addressing the NP, the author, who will direct my commands to the PC.
I did say earlier I was thinking aloud as I wrote, right? This is pure thought process, no looking back except to delete arguments no longer applicabble. Sorry if it’s confusing.
Let’s speak in practical terms now: the only way I see that happening is by bypassing the creation of an object entirely and having an NPC exist solely in narration, i.e., you will never be able to speak or interact with them. THEY will interact with YOU, and any attempts to reach them will be fruitless. Like ghosts. When you want interaction they have to be manipulated. Of course, “Fail-Safe” is a brilliant example of the other side of the coin, and worth mentioning, but it’s not the standard.
Mind you, the practical advantages are vast. By not making any demands on an NPC, they automatically meet the demands. By not being interactable, they are perfect. But that heavily conditions the game you’re writing, and you’ll soon be writing a Myst/Rama/Infocom game. In fact, more like Myst than ever, where the only characters appear - till the end - in very static, un-interactable form.
That’s ok, I probably look like I’m floundering heavily. But I’ve laid my tought-process bare for you. Feel free to take it apart.
So, to go back to the original issue: if a story requires an NPC (not an NP), it can do it in one of two basic ways: it can model them as interactable objects, or it can not. The latter would result in flashbacks, overheard conversations, or conversations you have no control over (well, maybe a TOPIC SELECTION menu for a dialogue in this way would be reasonable, but you’d have no control on whether or not to start that conversation). This is, of course, an option - “Babel” is the most famous example. Unsurprisingly, “Babel” feels Myst-y and Infocom-y (given the aspects we are currently discussing) - because, I daresay, we’ve reduced the NPCs to something we can’t directly interact with.
The former is a technical feat - the more ambitious we are, the more amazing the feat will be. And once we establish that, then we can safely say that yes, environments ARE easier to model than NPCs.
Is it necessary to create a whole load of characters with hidden agendas, relationships to each other, moving around, making deductions, doing everything the P and the PC can, plus being able to take commands from the P/PC? Thank God, no, and in this matter we fake it a bit. But even when it’s faked, an NPC will always be harder to model than the environment.
Unless the NPC is a dull, unresponsive character and the environment was coded by Zarf. But that’s another matter entirely.