Dopplegangers, by Benjamin Knob
Creating NPCs who can be interacted with in relatively-freeform conversation has long been one of the white whales of parser IF. That’s partially because of the importance of characters to most pieces of fiction, but also because of the beguilement of open-ended text entry. Sure, we all know that promise is a lie, but when it comes to physical manipulation of the world, most games offer a wide range of stuff you can try whenever you want, offering quite a lot of player agency and expressiveness. ASK MAN ABOUT HAT. ASK MAN ABOUT WATCH. is better than nothing, I suppose, but still very constrained, and while menu-based conversation can make NPC interaction feel less mechanical, it surrenders all the power of the parser.
Galatea proved you can make some solid progress in this area if the author is just prepared to constrain their game to one NPC, one location, and one topic, while putting in an incredible amount of work, but experiments have of course continued. And it’s unsurprising that the increased sophistication of various AI approaches has perked up the ears of many authors – sticking with Emily Short, the Versu experiments described in 50 Years of Text Games seem intriguing as heck, though they’re unfortunately inaccessible now. But of course it’s LLMs that have been getting the most attention lately, given their omnipresence. I’m not aware of every effort in this area, but I admit to being pretty jaundiced from seeing a couple examples: sure, they allow the “type anything you want!” promise of parser IF to finally be fulfilled, but even leaving aside the broader issues many folks have with LLMs, the lack of authorial control of the substance or voice of what comes out of characters’ mouths is a very big hurdle to overcome if a game aspires to be anything other than a clever toy.
Dopplegangers lays out its design goals clearly in its about text: this is a run at that white whale of creating parser dialogue with responsive, conversational NPCs. There is an optional LLM plugin, but it’s optional – most dialogue is run through chatscript, which is a non-LLM, more hand-authored AI tool, but there are occasional “persuasion checks”, and a related section where the mental-asylum-patient protagonist undergoes a Rorschach test, where a plugged-in LLM can decide whether you’ve sufficiently met the NPC’s expectations, and returns a judgment of success or failure to the machinery of the game proper (if you choose not to use an LLM, you just always fail these checks, but the about text offers reassurance that winning the game is still possible).
All things being equal, this seems to me like a promising approach – I’ve had some positive experiences with chatscript games in the past (notably Thanataphobia and Cheree), using the reasoning abilities of an LLM while keeping it far away from actually producing text leverages the strengths and avoids the weakness of the technology, and making that part optional allows those who have strong objections to any LLM use at all to still play the game (or, who, in my case, have medium-strong objections to any LLM use at all and who are just really not excited about jumping through a bunch of hoops to give a new tech company more of my personal information just to make a piece of IF go).
So I went into Dopplegangers cautiously optimistic and interested to see how this would all play out, very curious about what the back-and-forth dialogue with other characters would look like. But – in an ironic twist worthy of the cosmic horror genre Dopplegangers appears to inhabit – actually the rest of this review is only going to glancingly mention all that, and focus much more on the regular-degular practices of parser design. There’s a whole lot to the game that doesn’t have much to do with conversation, as it turns out – you’re a mental patient who’s trying to escape an asylum, beleaguered by ambiguously-sinister staff, your fellow not-especially-sensitively-portrayed patients, and a convenient bout of amnesia, and there are a bevy of locked doors, hidden items, and fetch quests standing in the way of freedom. And weaknesses in those parts of the game mean I unfortunately didn’t feel like I was able to engage with the more interesting elements of Dopplegangers as much as I would have liked.
As to the parser qua parser, things are a mixed bag. I was pleased to see that shorthands like “X DOOR” work, because often experimental “just use natural language!” games disallow abbreviations, and indeed most typical IF commands work fine. But some default responses are confusing (TAKE BLANKET results in “you cannot take that”), and despite one of the strong points of the descriptions being their use of senses other than sight, SMELLand LISTEN never did anything for me, even when location text indicates there should be. I also ran into some gnarly disambiguation/guess the verb issues, like this blackly comedic attempt to open the door to cell number 2:
unlock 2
>You cannot do that.
>unlock door
Specify a direction. You can type OPEN NORTH DOOR.
>unlock east door
The door is locked.
>unlock east door with lock pick
The door is locked.
>pick east door
The door is locked.
>pick east door with lock pick
Pick lock on which door? You can type PICK LOCK ON WEST DOOR.
>pick lock on east door
You used Lock Pick.
Do you wish to pick the lock?
Gee, what do you think, game?
The most challenging idiosyncracy of the system, though, is the way that location descriptions are dramatically simplified after you’ve seen them once. Exits are usually – but not always – redescribed, at least, but important bits of scenery, up to and including puzzle-critical NPCs, can be dropped from the description, and even manually LOOKing won’t draw your attention to them. They’re still there and can be interacted with, but in a big game with a lot of confusing map connections, it’s very easy to miss a detail and never be in a position to notice it again.
The puzzle design is also fairly obfuscated. Admittedly, many challenges appear to have LLM-dependent persuasion solutions, meaning I was forced into the fallback medium-dry-goods pathways, which might have received less testing. But I don’t think this is actually much of a factor, as a large part of the trouble I faced was not realizing that I was even meant to be talking to some NPCs. Like, as mentioned, the asylum has quite a lot of other patients suffering from a variety of Hollywood-style mental illness, and the game makes very clear that they’re largely background and you’re not meant to interact with them, unlike the doctor who engages you in conversation as soon as he sees you. One patient tries to bite you, there’s another who just looks at you blankly no matter what you do or say, and there’s a woman who just doesn’t respond to anything you say, as if she couldn’t hear you. But actually it turns out the latter two have puzzles associated with them – you’re supposed to intuit that the second one is faking his illness and threaten to expose him, while the woman is actually deaf and will make a request of you if you mess with the pile of thread she’s made by unraveling the seams of clothing (better mess with it with MOVE THREAD, though, TAKE THREAD doesn’t do anything).
Just exploring the often-sprawling asylum also throws up a lot of friction. I ran across at least one one-way passage whose geometry was so confusing I didn’t understand it after walking through and around it several times, and wandering into the wrong location will have the orderlies accuse you of attempting to sneak into the staff-only areas, with no warning to the player whatsoever. What’s worse, they’ll bundle you into a compulsory mental health evaluation, and if you fail – which you will, without an LLM – you get a bout of electroshock therapy and lose your inventory. Possibly it’s findable again, but I couldn’t discover where my stuff wound up, necessitating a restart.
So there’s a lot here besides the marquee NPC system. Like, I haven’t even mentioned the RPG-style skill system that got introduced out of the blue an hour in, once I got my hands on some lockpicks and started trying them out (leaving aside the merits of this kitchen-sink inclusion, surely a persuasion skill surely could have allowed for these checks to be resolved with some die-rolling for those not running an LLM), or the way DnD alignment also gets introduced out of the blue – engaging in a lot of totally normal IF protagonist behavior led to an announcement that I’d shifted towards being chaotic neutral, which is fair enough. I didn’t find anything that shifted me to any other alignment, mind. It makes for an experience that feels unfocused and overstuffed, with most of the additional elements adding little to the experience besides friction.
When I finally did get a chance to chat with an NPC – interrogating the aforementioned doctor about my predicament – the chatscript system did at least throw up some positive results to some naturally-phrased questions. But even with this more sophisticated engine under the hood, the edges of the simulation were readily apparent:
>say what is this place
“You are in the McPatton State Hospital. This is where the mentally afflicted are brought to be treated or just kept safe from themselves.”
>say what am I being treated for
He makes no response to this. He simply marks some words in his book.
>say who are the other patients
“No one that I have talked to.”
Is this really better than good old ASK and TELL? Even if it is, Dopplegangers is a poor proving ground for the argument, possibly because all the time building a big, full-featured, but lackluster conventional piece of puzzle IF detracted from the time the author had to devote to the notional killer feature of the game. To be clear, I think experimental IF is great, and I think Dopplegangers correctly identifies an area where trying new approaches could be useful while proposing a potentially-fruitful course of action. But maybe that one-room, one-NPC, one-topic model would have been a better place to start than what’s actually on offer.