Welcome to Doppelgangers, a chatscript game. This game relies mainly on primitive rules-based AI, which has nothing to do with LLMs. The parser in this game is a little more flexible than the traditional parser. So if you really want to, you can type, “I decide to pick up the match box” instead of “get matches.” And it does this without relying on anything like an LLM. Does anyone care? No. But that’s what I did for you. Mainly, I think the exciting part is implementing rules-based chatbot AI to create interactive dialogues with NPCs, and the various puzzles you might design that involve interrogating people or just thinking of the right thing to say. That’s my interest. When talking to characters, you will use the SAY button, and you type in what you actually want to say as you would phrase it, not in the ‘ask X about Y format.’ Typing in dialogue and pressing DO will not work. But if you type say or ask followed by the dialogue and then press DO, it will work. If you ASK DOLAN ABOUT JOHNNY, what you’re really saying is “Dolan, about Johnny…” You might still be understood. But for best results, speak in natural language.

Here are some of the main usable verbs: attack, bite, break, climb, close, cover, cut, dance, drop, fold, give, go, hide, jump, leave, light, look, look at, move, open, pick, pick up, play, press, put, release, say, shower, sit, sleep, sneak, stand, steal, talk to, touch, turn off, turn on, unfold, unlock, use.

The first thing you will notice is the option to enable the LLM feature. To enable AI, click the link to Enable LLM and then click Install Player2. Follow the instructions to install the client application on your computer. You will have to create a free account. Then you must log in. So long as you have the client program running and logged in when you load the game page, you have AI enabled. This affects sections of the game that are marked with (Persuade Check). If you enable it, you will have an opportunity to persuade characters at certain points in the game. The AI is used to decide success or failure. It will also be used to evaluate the results of any psychological evaluation you may undergo during the game. The LLM as implemented in the game does not generate any visible text, it simply returns the word “success” to trigger a success condition, or anything else to trigger the failure condition. If you decide to leave the LLM disabled, you will fail these checks automatically, which does not preclude the possibility of winning. But you will not be able to attain the maximum score. I would be aghast if people got the impression that I designed the game this way deliberately to skirt the new AI rules. Actually the design principle is inspired by something I heard from an Interview with Michael Mateas, one of the authors of Facade. This was a statement he made during a discussion of their development of Facade 2, a project which has been cancelled.

“I’m most interested in [LLMs] actually as reasoning systems, as common sense reasoning systems… The interesting work is going to be work that combines LLMs as one piece of larger architectures, that still have lots of authored content in the larger architecture. But the LLM is able to elaborate, amplify that authored content and more importantly do common sense reasoning, being able to reason about things like would someone respond positively or negatively if blah blah blah. Normally you would have to code that up as rules, using the rule based AI. And it's very hard to hit all the cases and there’s always some case you can think of and so on. The promise of common sense reasoning is that it would have broad coverage. LLMs, having worked in AI academic and as a developer since 1996, this is by far the closest that I’ve seen us come to something that could legitimately be considered a common sense reasoner with broad coverage, so that’s really exciting… I’m not interested in content generation abilities. I’m interested in these reasoning abilities.”

So the working theory behind my game is that rules-based AI is better for open-ended dialogue situations, in which there are many possible questions you could ask. But for situations in which you only need to judge if the character’s response to dialogue is generally positive or negative, an LLM is appropriate. This largely avoids the time delay problem, since these situations are a very small minority of the interactions.

Return