Natural Language Dev Blog 05: NPC Interaction Using Gmail Labs

The design constraints of Natural Language limit ours means of interaction with the player. One of the most direct methods we have at our disposal is email. Therefore, we must ensure the interaction is as realistic as possible, without committing to personally responding to each email. The happy medium is Canned Responses, a Gmail Lab that allows for keyword triggered responses.

With Canned Responses, we can create a wide variety of automated responses to player input. We’re still testing the limits, but it seems to allow for at least forty separate message triggers. These responses act both as a narrative dialogue tree and a gating mechanic for puzzles. It’s a useful tool for ARG creators, but it comes with its own unique set of challenges. I won’t go into the basics of setting up Canned Responses, but you can find more about that here.

The filter system allows for unique responses to specific senders, subject lines and keywords (or the lack thereof) in the body of an email. These keyword triggers can be a single word, a string of text, or an entire sentence – but there is an issue with combinations of words. In the example below, an incoming message containing the phrase “O dulcissime domine Iesu Christe verus Deus, qui de sinu summi patris omnipotentis missus es in mundum peccata relaxare, afflictos redimere, in carcere positos soluere, dispersos congregare” will trigger the “Duke Valefor,” “Marquis Amon” and “King Beleth” canned responses, which will confuse the player and break the illusion of a natural response. [Note: To avoid spoilers, we’ll use dummy puzzles and answers as we discuss the details of Natural Language There is nothing about Goetic demons in Natural Language. At least not yet.]

With an obscure Latin phrase, this may not seem to be an issue, but that changes when one keyword is “Intelligence” and another is “General Artificial Intelligence.” This creates an interesting writing dilemma, as the questions posed by an NPC demand very different responses from the player. There can be no crossover at all in the player input, or the NPC will send the wrong (or multiple) response. Essentially, each new keyword expected from the player has to be striped from the vocabulary of all future interactions. We’re still working to develop an in-game justification for the demand of hyper precise language from the player.

Speaking of in-game justification, another key Canned Responses challenge is conversation threading. The filters only recognize new incoming messages and ignore contents of a reply thread. Therefore, we need the narrative to justify why the NPC can’t recognize replies. As our story deals with QA testing, we can suggest an unspecified project management software integrated with the NPC’s email to justify the rigid interaction constraints. That sounds like a stretch, but for other projects, this no-reply policy can be even harder to explain.

The final issue to consider with Canned Response is a clear negative feedback. Because we’re using the email as an explicit puzzle mechanic, the player needs immediate feedback to their input. Regardless of their message to the NPC, a player should never be met with radio silence. To address this issue, we’ve created a generic wrong answer message that is sent whenever the player submits an email without any of the keywords on our list [see example below]. Therefore, the player will be able to instantly learn the content of their solution was incorrect, rather than wondering if the issue was instead with the delivery method.

Despite all these challenges, Canned Response is still valuable for ARG creators, and will be an important tool for our team. It has a lot to offer and can be used in all sorts of interesting ways, which is a lot to say for a free lab describing itself as “Email for the truly lazy.”

That’s all for now. See you in two weeks!

Patrick