I’ve been playing more parser-based IF recently. I like two-word VERB-NOUN parsers, rather than the more complex parsers that I’ve seen in other games I play, and I’ve been struggling to think about why I prefer them.
Then I hit the ASK [NPC] about [topic]
problem. Consider a game with, say, 5 NPCs, 20-30 nouns (scenery nouns or inventory nouns), and maybe 3-5 abstract concepts (e.g., ‘mystery’ or ‘adventure’). Then give each NPC 2-3 clues that they can reveal to the player. As a player, I can’t just talk to the NPC and get them to help me, or give them something, or help them in some way. I might have to type 25-40 ASK ABOUT
commands 5 times to go through all the things I could ask each NPC about. To a lesser degree, this problem also exists with verbs like PUT.
So if I just have TALK [NPC]
(or TALK TO [NPC]
) and expect the protagonist to intelligently direct the conversation with that NPC towards topics of interest, thereby only revealing the clue(s) that NPC held, is that easier for the player? I don’t care about coding complexity for the purposes of this discussion (that’s an author problem, not a player experience problem).
The reason I ask is that I’m thinking about incorporating NPCs/dialogue in my parser-based text adventure that is strictly VERB-NOUN. My plan is to create a short dialogue tree for each NPC that gives the player an opportunity to learn some clues or other information, provide a modicum of agency for the player, and without exhausting them by making them type hundreds of commands. There will be some randomness built into the tree so that the responses don’t seem formulaic and there will be some memory of previous conversations, which again should help with verisimilitude.
I have found this article helpful, too: Puppy Power – Realistic Parser NPCs - Sibyl Moon Games
So my question to the collective is what approach do people prefer and what advice do other authors have for implementing polished NPC interactions?