{"id":5061,"date":"2017-11-10T18:03:00","date_gmt":"2017-11-10T18:03:00","guid":{"rendered":"http:\/\/www.gamasutra.com\/view\/news\/309336"},"modified":"2017-11-10T18:03:00","modified_gmt":"2017-11-10T18:03:00","slug":"blog-five-radical-ideas-for-dialogue-systems","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2017\/11\/10\/blog-five-radical-ideas-for-dialogue-systems\/","title":{"rendered":"Blog: Five radical ideas for dialogue systems"},"content":{"rendered":"<p><strong><em><small>The following blog post, unless otherwise noted, was written by a member of Gamasutra\u2019s community.<br \/>The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.<\/small><\/em><\/strong><\/p>\n<hr \/>\n<p>Allow me to start by saying that I mean no disrespect to Dialogue Trees.\u00a0 I don&#8217;t think dialogue trees can or should be replaced.\u00a0 They are an art form of their own &#8212; a perfect compromise among the competing forces game developers require from such a system:\u00a0Easy to predict, to implement, to hook into other systems. Enough choice to give the player a sense of\u00a0free will, without having to account for every contingency.\u00a0 The first two of my radical proposals below are essentially innovations on the dialogue tree.<\/p>\n<p>There have been variations on the dialogue tree in the past, of course. Two pre-existing innovations that come to mind are Time Limits and Interruptions.\u00a0 In a way, you can think of both as interruptions, where either you&#8217;re interrupting the game, or the game is interrupting you.\u00a0 These days the freshest examples of dialogue trees with time limits are found in the Telltale games.\u00a0 A recent game where you can interrupt the game is Westerado (in this case you interrupt with bullets).<\/p>\n<p>With that out of the way, let&#8217;s dive into these radical ideas for dialogue systems.<\/p>\n<h2>1.\u00a0Symmetric Dialogue<\/h2>\n<p>As we know from Richard Garfield&#8217;s book\u00a0<a href=\"https:\/\/www.amazon.com\/Characteristics-Games-Press-George-Skaff-ebook\/dp\/B00GYN25KU\/\">Characteristics of Games<\/a>, a symmetric game is one where all players (or computer players) have all the same information.\u00a0 For most dialogue trees, the process of choosing what to say is invisible to the NPC you&#8217;re speaking to.\u00a0 You can think about the process of choosing an option as similar to the normal cognitive process of deciding what to say, so it stands to reason that your interlocutor wouldn&#8217;t have much information about the options NOT chosen.<\/p>\n<p><img decoding=\"async\" alt=\"An NPC looks at your dialogue choices and makes his preferences known.\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/11\/blog-five-radical-ideas-for-dialogue-systems.png\" \/><\/p>\n<p>But imagine if the\u00a0NPC\u00a0could see all the\u00a0possibilities you might say, as well as the one you actually chose.\u00a0 Imagine if\u00a0NPCs\u00a0had visible options, too, which you could\u00a0WATCH them choose from among.\u00a0 What if you could see the look on their face as they read and considered each choice?\u00a0 What if they could be offended at the choice you made, given the other options?<\/p>\n<pre> \"Why didn't you pick the one where you tell me I'm cool? Do you not think I'm cool?\"\n<\/pre>\n<p>Sure, this seems very artificial, but games always make tradeoffs between artificiality and realism.\u00a0 There&#8217;s certainly room for games that are metatextual and self-aware enough to support this kind of dialogue system.<\/p>\n<h2>2. Trees Within Trees<\/h2>\n<p>The idea of dialogue trees is that with imperfect information, the player uses choices to Build a conversation.\u00a0 It&#8217;s like doing a binary search (or tertiary, quaternary, etc. depending on how many choices there are at each step)\u00a0 through a conversation to find the story they want.<\/p>\n<p><img decoding=\"async\" alt=\"A tree of choices for a single phrase.\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/11\/blog-five-radical-ideas-for-dialogue-systems-1.png\" \/><\/p>\n<p>Well, the idea of Trees within trees is that the player uses choices to Build a single utterance.\u00a0 Here, the player will search through phrases to find the thing they want to say.\u00a0 Before they have &#8216;said&#8217; anything, the player is already engaged with the process of composing a remark.\u00a0 With variable length phrases, it allows the writers to fall back on simple dialogue trees when necessary.\u00a0 Also, if you want to be extra kind to the player, allow them to backtrack and explore all the avenues before they submit their utterance.<\/p>\n<p>I admit that this is hard to\u00a0write for, since what this amounts to is many more options for the player and thus many more possibilities that will have to be taken into account, but surely clever designers such as yourselves will find ways to mitigate the fluffiness of the possibility space by making choices which are essentially equivalent, making them later converge, or loop back on themselves, etc.<\/p>\n<h2>3. Magnetic Poetry<\/h2>\n<p>This is almost a halfway step between a dialogue tree and a free\u00a0text parser.\u00a0 The designer controls the player&#8217;s vocabulary &#8212; and potentially the length of the overall comment &#8212;\u00a0but the player chooses the permutation they will put the\u00a0given words in.\u00a0 This causes combinatoric explosion problems, in that the player can place the words in any order and the number of possibilities can be enormous for relatively few words.<\/p>\n<p><img decoding=\"async\" alt=\"A phrase being assembled a word at a time from a small lexicon.\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/11\/blog-five-radical-ideas-for-dialogue-systems-2.png\" \/><\/p>\n<p>Luckily, English grammar is pretty restrictive (not as true of other languages like Russian), so the number of possibilities which actually make sense will be relatively small.\u00a0 With a little skill, you can make some of the possibilities more-or-less semantically equivalent, and suddenly the combinatoric explosion looks more like a combinatoric poof.<\/p>\n<h2>4. Free Text Parsing of an Imprecise Language<\/h2>\n<p>OK, hear me out&#8230;.\u00a0 Emoji.\u00a0 By &#8216;Imprecise Language&#8217; I mean emoji, or something similar.\u00a0 The problem with free text input parsers of English or another Natural Language is that there will inevitably be some unanticipated inputs which are clearly comprehensible to any literate human, and yet completely baffle the system.\u00a0 This breaks the expectation that the parser is working somewhat like a person reading chat messages.<\/p>\n<p>The beauty of giving the player complete freedom within an imprecise language like Emoji is that it&#8217;s perfectly rational that the other characters in this interactive story might not know what they&#8217;re saying.\u00a0 Heck, another human player might not know what you mean by a string of emoji.<\/p>\n<p><img decoding=\"async\" alt=\"Responding in emoji to a question in English.\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/11\/blog-five-radical-ideas-for-dialogue-systems-3.png\" \/><\/p>\n<p>This reminds me of the principle I&#8217;ve heard many times regarding enemy AI in games &#8212; it helps to set expectations low by making the enemies something the player intuitively knows are stupid, like Orcs, Zombies, or primitive-looking Robots.\u00a0 Well, this is that principle in reverse.\u00a0 Set the NPCs&#8217; expectations of the\u00a0<strong>player<\/strong>\u00a0low &#8212; players must respond to clear language in opaque emoji &#8212; and\u00a0the NPC&#8217;s failure to\u00a0interpret the player&#8217;s statements will be understood as the player&#8217;s own failure to express themselves clearly.<\/p>\n<h2>5. Timing-based Choices<\/h2>\n<p>This is basically a cross between the dialogue tree and Guitar Hero.\u00a0 Imagine that as someone is speaking to you, various options for what you might say come floating down the screen. You don&#8217;t need to select every possibility you&#8217;re offered, but the NPCs will become exasperated with too many interruptions and frustrated by too many awkward silences, so it&#8217;s best to try to find something near the natural end of the NPC&#8217;s utterance.<\/p>\n<p><img decoding=\"async\" alt=\"An example of a timing-based dialogue interface.\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/11\/blog-five-radical-ideas-for-dialogue-systems-4.png\" \/><\/p>\n<p>If you select\u00a0a declaration\u00a0with the correct button press at the\u00a0correct time, then that&#8217;s what your avatar will say.\u00a0 If you press at not quite the right time, perhaps one of the longer words will be mispronounced.\u00a0 Too long a pause after the NPC stops speaking and they may walk away entirely.<\/p>\n<p>I like the way this one conveys not just the content of a conversation, but the rhythm of\u00a0talking to another person we all understand from real life &#8212; an aspect most other conversation systems ignore.\u00a0 It also allows us to throw in some devil-on-the-shoulder dialogue choices which might get chosen more often than in a normal dialogue tree, just due to the player&#8217;s desperation to hit the right timing.<\/p>\n<h2>Conclusion<\/h2>\n<p>There are lots of new things that can be done with dialogue systems, and I hope I&#8217;ve inspired you to think a bit further outside the box when it comes to how dialogue could be represented in your game.\u00a0 I haven&#8217;t had the opportunity to use any of the ideas above, yet, and I honestly hope that someone beats me to it.\u00a0 The field is wide open, and we&#8217;ve only scratched the surface.<\/p>\n<p>Of course, if you want advice or help implementing an unconventional dialogue system please feel free to reach out.<\/p>\n<p>~~<\/p>\n<p>Rob Lockhart is Creative Director of Important Little Games and a Senior Designer at Phosphor Game Studios. \u00a0You can follow him on\u00a0<a href=\"https:\/\/twitter.com\/bobbylox\">twitter<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The following blog post, unless otherwise noted, was written by a member of Gamasutra\u2019s community.The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company. Allow me to start by saying that I mean no disrespect to Dialogue Trees.\u00a0 I don&#8217;t think dialogue trees can or should be replaced.\u00a0 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":5062,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-5061","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/5061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=5061"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/5061\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media\/5062"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=5061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=5061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=5061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}