How to replicate the Photopia talking system

For anyone who has played the game, the TALK TO system works in that it gives you a few options of dialogue to choose from. Here’s a link to Photopia.

So, how can I make this for my own game?

Here’s an excellent chapter in the documentation, with examples, about this.

I’m just learning myself how to do conversation, so I’ve been reading all these examples with great interest, but I dislike how few options there are in parser-based games for dialogue, so I’m trying to get creative with it.


@mathbrush released the cool system he used in The Magpie Takes the Train as an extension which might be worth a look.


The [new topic] thing in Magpie Takes the Train was definitely one of the better examples of parser dialogue- miles better than just pick 1.) or 2.). And I always struggle with ASK someone ABOUT something. It’s rarely implemented well, and even when it is, I still struggle with it. I get irritated with the “The butler just smiles and nods blankly at you” response when you ask about something that seems germane.
Anyway, it’s a big interest of mine right now.


Conversation is tough.

I like the menu system, but it does feel very limited to the player - no room for experimentation, or give and take.

I really dislike “ask CHARACTER about TOPIC” - feels WAY too “guess the verb” to me. Guess the topic, I suppose.

The Mass Effect series used a conversation wheel - basically a menu of topics, and to the right, a menu of flavor text for advancing the scene. Easier to do in a graphical game, but for someone that likes to write conversational scenes (me), it’s an interesting idea.

1 Like

I love ASK ABOUT, if the author has decided to treat the NPC in question as a pet project (or has just gone all-out with every NPC in the game). Worlds Apart does a good job of this, especially the conversation in the will-o-wisp tree.

When handled carefully, the responses to unimplemented topics can add to the personality of the NPC. They should preferably cycle through a few options, be non-commital (no false clues) and fit in-character. (A puff of the pipe, a longing look in the distance, ignoring the PC and doing some work)

My, look at how demanding a player I am…


I prefer just TALK TO (or ASK without topic) and the game giving a sensible response based on the context, rather than spending time hunting for the correct keywords when there are usually only one or two useful things the NPC is primed to divulge at any particular time. Endlessly ASKing ABOUT until you hit the jackpot isn’t fun for me, but I guess others may enjoy it.


In noodling around with my own conversation algorithms, I found that letting the player direct/choose the topic is far too open-ended and difficult to implement realistically.

Instead, I found that it’s far better for the player to, perhaps, initiate talking to an NPC (if the NPC starts talking unprompted, this could possibly interrupt something else the player is trying to do) but after that, the NPC absolutely has to choose the topic/subject, which might be one of several that the NPC can talk about (or not).

If the NPC is “directing” the conversation, it’s far, far easier to implement the exchange in a semi-realistic way, including multiple back-and-forths and/or resuming an interrupted conversation.

I also tend to work on the triptych of the player’s responses being slotted into agree/neutral (or asking for clarification)/disagree, with appropriate NPC responses for each choice/option.

But that’s just my two ¢


I know this is an Inform 7 area but TADS 3 with Adv3Lite provides numerous options for interaction between the PC and the NPC.

Here is a listing from the index of Eric Eve’s Adv3Lite Manual:

Actor States
Basic Ask/Tell
Suggesting Conversational Topics
Special Topics
Topic Groups
Conversation Nodes
Hello and Goodbye
Player Character and NPC Knowledge
Giving Orders to NPCs
String Tags and Object Tags
NPC-Initiated Conversation

TADS 3 with Adv3Lite is well worth consideration.

PS. Even if you don’t use TADS, the techniques may be transferable to other development systems.


That is great, but it looks to be too sophisticated for an adventure game. If you want to build a conversational game then sophisticated conversation engine is great. Otherwise, it seems to me, to be overkill.

The only one that comes to mind is Galatea by Emily Short. Even Infocom detective stories that feature ensemble characters don’t have great conversation system.

So, I assume that we’re going to see a new game genre in IF? Eliza-like games? That’d be interesting to see!

1 Like

Deciding which subjects and objects are germane for which characters and then implementing them all (with variations for changes in game state) is a massive undertaking. To give some examples from my own games, in To Hell in a Hamper, a relatively conversation-light game, conversational responses make up roughly a fifth of the total I7 word count. In my most conversation-heavy game, Alias ‘the Magpie’, a quarter of the total word count is devoted to character conversations. I shudder to think how little of this will be actually read by the player during an average play-through, but hopefully situations like the one you’ve described above are less common!

Eric Eve has released a whole suite of conversation extensions for Inform 7; I’ve used them in most of my games.

I think this depends on the style or genre of the game. A detective game might involve a lot of interviewing characters and finding things out. One or two of my games have very basic conversation systems, because the style didn’t call for anything more.


You can use as little or as much as your game requires. A well developed conversation with NPCs make the game more immersive.