{"id":121,"date":"2023-02-05T10:42:58","date_gmt":"2023-02-05T15:42:58","guid":{"rendered":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/?post_type=chapter&#038;p=121"},"modified":"2023-02-28T08:50:46","modified_gmt":"2023-02-28T13:50:46","slug":"chapter-3-adding-complexity","status":"publish","type":"chapter","link":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/chapter\/chapter-3-adding-complexity\/","title":{"raw":"Chapter 3: Adding Complexity","rendered":"Chapter 3: Adding Complexity"},"content":{"raw":"<h1><strong>Detailing the Scene<\/strong><\/h1>\r\nIn this chapter, we will continue to explore ways that Ink and Inky can be used to write your Playable Stories. In the previous chapter, we imagined our story as a map woven into a tapestry, a surface with a geography. In this chapter, we are going to learn how to decorate that tapestry. Writing with Ink and Inky opens up possibilities that are simply not available in a traditional story. As we demonstrate some of these possibilities, consider how the new options might affect the way you approach your writing.\r\n\r\nBefore continuing with your reading here, take a few moments to play through \u201c<a href=\"https:\/\/jerrrber.itch.io\/adding-complexity\" target=\"_blank\" rel=\"noopener\">Adding Complexity<\/a>\u201d. Explore various options. Start it over a few times. Pay close attention to the words that appear on the screen. Are they always the same?\r\n\r\nOnce you are through playing, you can download the file (<a href=\"https:\/\/jerrrber.itch.io\/adding-complexity-ink-file\" target=\"_blank\" rel=\"noopener\">Adding Complexity.ink<\/a>) and open it in Inky. We will be referencing this story throughout the lesson.\r\n<div class=\"textbox textbox--learning-objectives\"><header class=\"textbox__header\">\r\n<h1 class=\"textbox__title\">Learning Objectives<\/h1>\r\n<\/header>\r\n<div class=\"textbox__content\">\r\n<ul>\r\n \t<li>To generate alternative text, and to differentiate between sequences, cycles, and shuffles<\/li>\r\n \t<li>To understand glue, and to know how to apply it to your text using the proper syntax<\/li>\r\n \t<li>To create a gather point, and to understand its purpose<\/li>\r\n \t<li>To create nested choices using best practices, and to understand their function<\/li>\r\n<\/ul>\r\n<\/div>\r\n<\/div>\r\n<h1>Alternative Text<\/h1>\r\nFor a demonstration of the alternative text functionality available when writing stories with Ink, look at the opening text that appears in the preview pane in Inky after loading the story \u201cAdding Complexity\u201d\u2014also shown in Illustration 24 (below):\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_78\" align=\"alignnone\" width=\"750\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24-300x58.png\" alt=\"\" class=\" wp-image-78\" width=\"750\" height=\"145\" \/> Illustration 24. One variation of the opening lines of the Ink story \u201cAdding Complexity\u201d[\/caption]\r\n\r\nIf you are following along with the story \u201cAdding Complexity\u201d running in Inky, there is a possibility that the first two lines\/sentences on your screen match those in Illustration 24. Very possibly, however, the text of the second sentence pictured above differs from what you see when opening the Ink story yourself. Now, click the double-arrow icon in the upper right hand corner. What happens to the text in this sentence in the preview? Continue clicking the double-arrow. What continues to change? And how? How many times did it take you to get the same pairing of locations in the second sentence as the one shown in Illustration 24?\r\n\r\nNow look at line 1 in the editor pane, shown in Illustration 25 (below). In the text of line 1, we see two sets of phrases contained in curly brackets ( { } ), and the individual phrases within each set are separated from each other by a vertical straight slash ( | ), or pipe. You will usually find the pipe punctuation mark sharing a key with the backslash ( \\ ) on your keyboard. Used in this fashion, the curly brackets and pipe tell Inky that you are writing a [pb_glossary id=\"253\"]sequence of alternative text[\/pb_glossary]. For example, the sequence in line 1 includes \u201ca pirate ship,\u201d \u201ca haunted house,\u201d and \u201ca moon base.\u201d By writing the sentence with these alternate phrases using this syntax, the sentence will alternate between the phrases of the sequence each time the Ink story\u2019s flow encounters the line.\r\n\r\nIn the case of line 1 in \u201cAdding Complexity,\u201d the line is only encountered when the story begins. Clicking on the double-arrow icon and restarting the story quickly demonstrates the variety of alternative text available. This is useful as an example of how alternative text works, but in practice, this is not the best example of alternative text\u2019s usefulness. After all, a reader who only reads the story in this example once will never see the other alternative text. When writing your own playable stories, alternative text works best when used within loops, when diverts repeatedly direct the flow back to the beginning of a knot or stitch. Alternative text, as we shall see, provides a convenient way to write paragraphs that do not necessarily read the same way every time, allowing you to write paragraphs that will be new and interesting for the reader even after repeated visits. Additionally, alternative text is easy to add at any point in the editing process. It is as simple as enclosing a set of phrases inside curly brackets, separated by pipes.\r\n\r\nNow we will examine ways we can exert some control over how Inky selects which alternative text phrase of the sequence it will use.\r\n<h1><strong>Shuffled Sequences<\/strong><\/h1>\r\n[caption id=\"attachment_79\" align=\"alignnone\" width=\"750\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25-300x56.png\" alt=\"\" class=\" wp-image-79\" width=\"750\" height=\"140\" \/> Illustration 25. An example of shuffled sequences of alternative texts, set apart by curly brackets ( { } )[\/caption]\r\n\r\nNotice that each set of phrases in line 1 shown in Illustration 25 (above) begins with a tilde (~). This punctuation mark is often found on the key in the upper-left of the keyboard, under the escape (esc) key.\r\n\r\nIf you are following along with \u201cAdding Complexity\u201d running in Inky, try the following exercise. Delete the tilde from both sets and then click the double-arrow several times. What happens now? It seems we are stuck in \u201ca pirate ship\u201d and \u201ca colosseum,\u201d the first alternate text in each sequence. This is because the tilde (~), when it appears at the beginning of a sequence of alternative text, is a command syntax that tells Ink to randomly [pb_glossary id=\"255\"]shuffle[\/pb_glossary] alternative text.\r\n\r\nWhen the shuffle command is removed, every time the story is restarted, Inky, by default, starts by selecting the first phrase in the sequence. Again, in this case, the example works well to demonstrate how the shuffle function works by illustrating what happens when the shuffle command is removed. In practice, however, without the shuffle command, this example would never display the alternative text for the reader. Only if the flow was diverted in a loop back to line 1 would the second or third option in the sequence be displayed. Without the tilde, the reader will only ever see the first option in the sequence.\r\n<h1><strong>Cycled Sequences<\/strong><\/h1>\r\nNow let\u2019s look at what happens when a sequence of alternative text is used within a loop in the Ink story\u2019s flow. There is another sequence of alternative text written on line 22, shown in Illustration 26 (below). However, instead of using the tilde (~), this sequence begins with an ampersand (&amp;).\r\n\r\nAgain, if you are following along with \u201cAdding Complexity\u201d running in Inky, try the following exercise. Restart the story by clicking the double-arrow icon. In the preview pane, select the choice \u201cTry to get a word in edgewise.\u201d Because this is a sticky choice, denoted by its (+) command syntax, and because line 23 diverts back to the same initial list of choices, it can be selected repeatedly. What happens when you select \u201cTry to get a word in edgewise\u201d repeatedly?\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_256\" align=\"alignnone\" width=\"754\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1-300x39.png\" alt=\"\" width=\"754\" height=\"98\" class=\" wp-image-256\" \/> Illustration 26. A sticky choice followed by a cycled sequence of alternative texts[\/caption]\r\n\r\nAs shown in Illustration 27 (below), each time the sticky choice is selected, Inky progresses through the sequence shown in Illustration 26, in the order in which the alternate text is written. If you continue to select the same sticky choice, you will notice that after the phrases have all appeared in the order they are written once, the sequence repeats, beginning again with the first phrase, \u201c\u2018Ummm\u2026\u2019\u201d. This is because the ampersand (&amp;) is the command syntax to repeatedly [pb_glossary id=\"258\"]cycle[\/pb_glossary] through the alternative text in the order that it is written. When a sequence of alternative text begins with an ampersand (&amp;), Inky will move through the list of phrases you provide in the order in which you provide them, then it will begin again with the first phrase. It will repeat this as many times as the relevant line is generated.\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_81\" align=\"alignnone\" width=\"754\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27-300x207.png\" alt=\"\" class=\" wp-image-81\" width=\"754\" height=\"520\" \/> Illustration 27. The output after selecting \u201cTry to get a word in edgewise\u201d four consecutive times. Selecting the same phrase a fifth time will start the cycle over with \u201cUmmm\u2026\u201d[\/caption]\r\n<h1><strong>Default Sequences<\/strong><\/h1>\r\nThere is one final experiment to be done here. What happens if you remove the ampersand (&amp;) from the beginning of the sequence? Try it.\r\n\r\nAfter you remove the ampersand (&amp;) and then restart the story in the preview pane, if you select the option \u201cTry to get a word in edgewise\u201d more than four times, the last phrase in the sequence, \u201c\u2018Please stop\u2026,\u2019\u201d will appear repeatedly. This is because, without instructions to shuffle or cycle the sequence of alternative text, once it has exhausted each of the options in the sequence, Ink thereafter will [pb_glossary id=\"259\"]default[\/pb_glossary] to the final choice, remaining there.\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_82\" align=\"alignnone\" width=\"752\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28-300x77.png\" alt=\"\" class=\" wp-image-82\" width=\"752\" height=\"193\" \/> Illustration 28. Examples of default sequences of alternative text that continue to repeat the last phrase listed once the other options have been exhausted[\/caption]\r\n\r\nThere are some interesting maneuvers that can be performed by using sequences of alternative text, even without using the shuffle or cycle functions. For example, an\u00a0 empty alternate text sequence is acceptable: { | | | }. When the sequence is completely empty, it might not be terribly exciting. However, by including a certain number of empty phrases at the beginning of a sequence, you can add a counter of sorts to your story, revealing a piece of text only after a choice has been selected a certain number of times. Used in this manner, you can use a sequence of alternative text to create a form of conditional text (we will cover conditional text in a later chapter). In this case, you would create text that only appears once the choice has been selected enough times to meet the condition you require.\r\n\r\nIn the example shown in Illustration 28 (above), line 4 contains a sticky choice with a short sequence of alternatives; the first phrase is empty, and the second phrase is the word \u201cdifferent.\u201d As the output shown in Illustration 29 (below) demonstrates, the word \u201cdifferent\u201d is inserted into the text the second time the sticky choice is selected, and every subsequent time as well.\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_83\" align=\"alignnone\" width=\"754\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29-300x234.png\" alt=\"\" class=\" wp-image-83\" width=\"754\" height=\"588\" \/> Illustration 29. The output from the Ink story shown in Illustration 28[\/caption]\r\n\r\nSimilarly, because the sequence will always default to the final option once all previous phrases have been exhausted, by putting a blank phrase at the end of a sequence, you can make it appear to the reader that the choice no longer yields a result, as it will always ultimately default to the final blank phrase. This is demonstrated by the sequence in line 5 shown in Illustration 28 (above), and in its output, shown in Illustration 29 (above). After the third time the sticky choice is selected, Inky will default to the empty phrase following the final vertical straight slash in the sequence.\r\n<div class=\"textbox shaded\"><strong>Inky at Work:<\/strong> When writing a Playable Story, default sequences are useful for creating instances that both encourage the reader to interact repeatedly, but also cue the reader when the content has been exhausted. For example, they are useful for situations in which a character\u2019s dialogue options have expired, or, as seen above, when a joke ceases to be funny.<\/div>\r\n<h1><strong>Glue<\/strong><\/h1>\r\nTypically, as an Ink story moves through its flow, when it encounters a new line number in the story, it will begin a new line in the output as well. Placed at either the beginning or the end of a line, the [pb_glossary id=\"260\"]glue[\/pb_glossary] command tells Ink to continue to print the text from the next line in the Ink story\u2019s flow on the same line in the output, rather than inserting a line-break. This is a useful function for fine-tuning the way the text you write will appear to the reader.\r\n\r\nThe command syntax for glue is a combination of the less-than and greater-than symbols (&lt;&gt;).\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_262\" align=\"alignnone\" width=\"752\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1-300x77.png\" alt=\"\" width=\"752\" height=\"193\" class=\" wp-image-262\" \/> Illustration 30. The choices in lines 24 and 25 end with, and the text on line 31 begins with, Ink\u2019s command syntax for \u201cglue\u201d, ( )[\/caption]\r\n\r\nThis is demonstrated in two ways in the sample story \u201cAdding Complexity\u201d. Both lines 24 and 25 end with the glue command, as shown in Illustration 30 (above). These are both choices that, incidentally, lead to the end of this scene. Look at the way the text is presented in the preview pane when you select the choice in line 25, shown in Illustration 31 (below). Rather than breaking to the next line, the text from line 27 continues directly within the same paragraph. Note also that while line 28 diverts to a new knot called \u201cconversation,\u201d line 31 opens that knot with the glue command as well, so that text is also affixed to the end of the previous text (on line 27) without a line break.\r\n\r\nGlue works across knots and stitches. It works at the beginning or at the end of a line. One glue command does not cancel another out, meaning, if you accidentally put the command at both the beginning of one line and the end of another, the lines will still appear together. The command is easily inserted at any stage of the writing and editing process, and should be considered a tool used to fine-tune the presentation of your Playable Story.\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_85\" align=\"alignnone\" width=\"755\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31-300x31.png\" alt=\"\" class=\" wp-image-85\" width=\"755\" height=\"78\" \/> Illustration 31. The output after selecting the choice on line 25 in the Ink story \u201cAdding Complexity\u201d[\/caption]\r\n\r\nAs you begin to craft and play-test your own Playable Stories, you may occasionally find the text is not presenting itself in the format you had intended. Glue is an easy, un-intrusive, and useful tool for shaping the output that the reader will ultimately see.\r\n<h1><strong>A Few Notes About Spacing<\/strong><\/h1>\r\nThe Glue command syntax is a convenient tool you can use to manually format the display of the text of your playable story. However, Inky will also assist with some automatic formatting of its own.\r\n\r\nNotice what happens with the spacing of your text when Inky translates it to the preview pane. A numbered line in the editor pane on the left can hold as much text as you would like it to hold. Try it. You can keep typing sentence after sentence, and it will all appear as a single paragraph in the preview pane on the right. However, if you hit the return key, you will advance the cursor to the next numbered line, and the text you enter here will appear in the preview pane after a line break.\r\n\r\nHowever, if you hit the return key five\u2026 ten\u2026 even fifty times, the next text you enter will still be previewed with only a single line of blank space between it and the preceding line\u2019s text. This happens if you try adding horizontal blank space on a line as well. You can hit the spacebar a dozen times between words as you type them into the editor pane, and they will only be separated by a single space in the output on the preview pane.\r\n\r\nBecause Inky automatically collapses additional blank spaces between words into a single space, you will be able to better organize the text in the editor pane by using indentations. As we shall see in the following section, indenting portions of the text in the editor pane will make your story easier to read at a glance. However, because of Inky\u2019s automatic formatting, the organizational indentations will not affect the presentation in the preview pane.\r\n\r\nFor now, just know that the spacing you enter may not translate directly to the text that is created. There are ways to add vertical and horizontal blank space to your text, but they are advanced techniques, and they will not be addressed in these lessons. In many cases, stories written in Inky are ultimately presented as part of a larger multi-media project, and the position of the text on the screen will be handled by different processes further down the assembly line.\r\n<div class=\"textbox shaded\"><strong>Inky at Work:\u00a0<\/strong>Remember that Inky is often used to script stories that will ultimately be combined with other media and executed by other software. When working on your own playable stories, maintain good formatting habits on your work in the Editor pane, and monitor your output in the Preview pane, but do not get too hung up on the presentation. Write the story you want to tell. In the end, the formatting will probably change multiple times as final art and design choices have to be made.<\/div>\r\n<h1><strong>Gathers and Gather Points<\/strong><\/h1>\r\nAs we discussed in Chapter 1, Inky moves through the instructions written into your Ink story, line by line, in a process referred to as flow. Basically speaking, Ink presents the story to the reader in the order in which it was written in the editor. However, Ink\u2019s flow follows diverts to other knots or stitches when diverts appear, which may move the reader to an earlier line or jump them forward to a later line. Additionally, Ink stops and waits for the reader\u2019s selection when the flow encounters a choice, be that basic or sticky. Once a selection has been made, Ink displays the text following that specific choice, continuing from that line on to subsequent lines, in order, until it reaches a new command. The process continues until the flow encounters the command \u201c-&gt; END\u201d.\r\n\r\nLook at Illustration 30 and Illustration 31 (above), which are part of the knot named \u201cSelfPreservation\u201d in the story \u201cAdding_Complexity.ink.\u201d In this knot, the initial choices divert back to the knot (creating a loop), and after the reader has explored these, they will presumably click one of the later choices (on lines 24 and 25). Line 27 demonstrates the command syntax for creating a [pb_glossary id=\"264\"]gather[\/pb_glossary] point, a dash ( - ). A gather point is a convenient tool you can use to bring multiple threads back together. In this simple example, regardless of which choice is selected\u2014line 24 or line 25\u2014the gather point on line 27 directs the flow to continue from there. After printing the text from line 27, the flow continues to line 28, which contains a divert to the knot named \u201cconversation\u201d.\r\n\r\nIf we remove the dash from the beginning of line 27, as shown in Illustration 32 (below), we create an error.\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_266\" align=\"alignnone\" width=\"755\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1-300x56.png\" alt=\"\" width=\"755\" height=\"141\" class=\" wp-image-266\" \/> Illustration 32. An error created by removing the gather point in line 27[\/caption]\r\n\r\nSee what happened? It immediately created a loose end warning for the choice on line 24. This is because line 24 leads to no instructions of its own. Each of the preceding choices in the flow either divert back to the beginning of the knot, as seen in Illustration 26 (above), or they lead to sub-choices which we will investigate in a moment. If the reader selects the choice in line 25, the flow continues unimpeded to line 27, prints the text, and then moves on to line 28, which contains a divert to the knot \u201cconversation\u201d. However, without a gather command on line 27, line 24 is a dead-end because the flow encounters the unselected choice on line 25.\r\n\r\nPut the dash back in at the beginning of line 27. The error goes away, and line 27 once again gathers the flow and puts everything back on track, as it appears in Illustration 30 (above). Gather points are powerful tools in that they can supersede apparent loose ends that occur before them in an Ink story\u2019s flow; they provide an easy method for you to bring your story\u2019s flow back to a central path before moving on to the next major set of choices. Think about gather points in the context of our fabric or tapestry metaphor. If the Ink story is the tapestry, then each choice you introduce represents an individual thread, branching out on its own. After you write multiple choices into your story, you can bring all of the potential threads you have created back together by using a gather point. When writing in Ink and Inky, figuratively, you create threads for the reader to pull on, but eventually you will need to gather them, weaving your story\u2019s fabric back together.\r\n<div class=\"textbox shaded\">\r\n\r\n<strong>Inky at Work:\u00a0<\/strong>One of the key benefits to using gathers is simple efficiency. A common use-case for gather points is dialogue trees. Imagine a situation in which the player can choose from four different lines of dialogue, that will each print a different response from the character in the story, creating tone. Without a gather point, each different response will have to be followed by a divert directing the flow where to go next, even if they all divert to the same place.\r\n\r\nIt is far easier to put a gather on the next line of text after the block of choices in order to continue flowing through the story. You could even have one of the four responses divert to a new thread, while the other three have no diverts, leaving them to be collected by the gather point.\r\n\r\n<\/div>\r\n<h1><strong>Nesting Choices and Gathers<\/strong><\/h1>\r\nWe have demonstrated the ways that you can separate the threads of your playable story by writing choices, and how you can pull the threads back together with a gather. This works in the context of your Playable Story\u2019s overall fabric. However, you can also write choices and gathers that only exist in the context of a single thread. A simple example would be offering a choice of, say, ice cream or pizza, and then nesting the flavour choices strawberry, chocolate, or vanilla if the reader chooses ice cream (those flavours on pizza would just be weird). As this example shows, nested choices are typically for options that do not make narrative sense until the reader has already made a specific earlier choice. To continue our fabric metaphor, Ink allows you to fray an individual thread into smaller threads.\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_268\" align=\"alignnone\" width=\"754\"]<img src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1-300x167.png\" alt=\"\" width=\"754\" height=\"420\" class=\" wp-image-268\" \/> Illustration 33. A series of nested choices and gathers, set off by indentation for easier reading[\/caption]\r\n\r\nLook at Illustration 33 (above). This knot\u2019s first choice is indicated by a single asterisk on line 7. Within this choice there are two nested choices that branch off of the choice created in line 7: lines 9 and 13, which use a double asterisk (**). A nested choice only appears if the reader first selects the top-level choice that contains it (the choice on line 7 in this example). In the Ink story \u201cAdding Complexity,\u201d if the reader never selects \u201cDuck and cover,\u201d they will not be offered the choice between \u201cLook up\u201d or \u201cClose your eyes tightly.\u201d\r\n\r\nNotice also that the sample code subsequently nests another tier of options under the nested choice \u201cClose your eyes tightly\u201d by using a triple asterisk (***) command syntax. On line 19 in Illustration 33 (above), you can see that gathers can be nested as well! This triple-dashed gather ensures that each of the nested sub-choices of \u201cClose your eyes tightly\u201d leads to some text with a divert back to the same knot. This could be performed infinitely, nesting tiers within tiers for as long as your story\u2019s structure requires it. Which is why\u2026\r\n\r\n&nbsp;\r\n<div class=\"textbox shaded\"><strong>Tip: <\/strong>The sample story shown in Illustration 33 (above) demonstrates a useful example of best practices. It can be very helpful to use the tab key in order to organize your nested choices. This practice will be second nature to those with experience programming code. For students who are new to writing in a text-editor environment, notice the tiers created for the various choices. It is the same process as organizing an outline for a traditional writing project. The top-level choices align with the left-hand margin. The tier under the first choice, \u201cDuck and cover,\u201d is indented by a single tab. The sub-tier beneath \u201cClose your eyes tightly\u201d is indented by two tab strokes. Ink does not create these indentations automatically, and you must insert them manually. Practices such as these will make your Playable Story far easier to read and to edit.<\/div>\r\n<div class=\"textbox__content\">\r\n<div class=\"textbox__content\">\r\n<div class=\"textbox textbox--key-takeaways\"><header class=\"textbox__header\">\r\n<h1 class=\"textbox__title\">Review<\/h1>\r\n<\/header>\r\n<div class=\"textbox__content\">\r\n<div class=\"textbox__content\">\r\n<div class=\"textbox__content\">\r\n<ul>\r\n \t<li>You can create a sequence of alternative text by enclosing a list of phrases in curly brackets ( { } ) and separating each phrase with a vertical slash ( | ). Placing a tilde ( ~ ) at the beginning of the sequence will shuffle phrases, presenting them at random each time the sequence is printed. Placing an ampersand ( &amp; ) will cause the sequence to cycle repeatedly in the order it is presented. By default, with neither shuffle or cycle added, the sequence will display each phrase in order before repeating the last phrase listed.<\/li>\r\n \t<li>Glue ( &lt;&gt; ) is a versatile command syntax that can be affixed to the beginning or the end of a line in the editor panel in order to connect that line to the preceding or subsequent line when it is displayed in the preview panel.<\/li>\r\n \t<li>A gather point is created by putting a dash ( - ) at the beginning of a line. This is useful when multiple choices will lead to the same place once the text unique to each choice has been displayed. Rather than putting the same divert after every choice, a gather point placed after the group of choices will ensure the flow continues no matter which choice had been selected.<\/li>\r\n \t<li>Choices and gathers can be nested by adding an additional symbol. For example, (**) will nest a choice underneath a choice labelled with (*). Be sure to use the tab function to organize your nested elements, making it easier to identify the flow of the Ink story by viewing the editor panel.<\/li>\r\n<\/ul>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<h1>Putting It All Together<\/h1>\r\nThis chapter added quite a bit to your tool belt! It will take practice before all of their uses come naturally, and later we will add even more advanced techniques made possible using these tools within Ink.\r\n\r\nFor now, you should have a better understanding of how Ink can reproduce the same knot or stitch with alternative text on subsequent visits, and you should know how you can shuffle or cycle through those alternatives.\r\n\r\nWe introduced the glue command, a simple tool that tells Ink to ignore a line break, allowing you to easily take control of the appearance of the text on the screen when necessary.\r\n\r\nIn the previous section we learned about choices and how they are used to create threads in your story. With the introduction of the gather point, we now also know how to bring those threads back together.\r\n\r\nFinally, we have demonstrated how to add layers of complexity to your choices and the threads to which they lead by nesting them within each other. Remember, that gathers can be nested as well.\r\n\r\nBefore moving on to the next chapter, take some time to experiment with everything you have learned so far. There is no better way to understand writing in Ink than to write in Ink!!! Believe us, you will not break anything.\r\n\r\nIn the following chapters, we will start to include some simple coding logic and learn how to add conditional requirements for the passages of text presented to the reader. We are going to learn how to give our stories a \u201cmemory,\u201d a way to keep track of the reader\u2019s decisions and to react to them accordingly. It will get trickier, but we will keep it simple. Using Ink, we will put the \u201cwriting\u201d in writing code.\r\n\r\n&nbsp;","rendered":"<h1><strong>Detailing the Scene<\/strong><\/h1>\n<p>In this chapter, we will continue to explore ways that Ink and Inky can be used to write your Playable Stories. In the previous chapter, we imagined our story as a map woven into a tapestry, a surface with a geography. In this chapter, we are going to learn how to decorate that tapestry. Writing with Ink and Inky opens up possibilities that are simply not available in a traditional story. As we demonstrate some of these possibilities, consider how the new options might affect the way you approach your writing.<\/p>\n<p>Before continuing with your reading here, take a few moments to play through \u201c<a href=\"https:\/\/jerrrber.itch.io\/adding-complexity\" target=\"_blank\" rel=\"noopener\">Adding Complexity<\/a>\u201d. Explore various options. Start it over a few times. Pay close attention to the words that appear on the screen. Are they always the same?<\/p>\n<p>Once you are through playing, you can download the file (<a href=\"https:\/\/jerrrber.itch.io\/adding-complexity-ink-file\" target=\"_blank\" rel=\"noopener\">Adding Complexity.ink<\/a>) and open it in Inky. We will be referencing this story throughout the lesson.<\/p>\n<div class=\"textbox textbox--learning-objectives\">\n<header class=\"textbox__header\">\n<h1 class=\"textbox__title\">Learning Objectives<\/h1>\n<\/header>\n<div class=\"textbox__content\">\n<ul>\n<li>To generate alternative text, and to differentiate between sequences, cycles, and shuffles<\/li>\n<li>To understand glue, and to know how to apply it to your text using the proper syntax<\/li>\n<li>To create a gather point, and to understand its purpose<\/li>\n<li>To create nested choices using best practices, and to understand their function<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<h1>Alternative Text<\/h1>\n<p>For a demonstration of the alternative text functionality available when writing stories with Ink, look at the opening text that appears in the preview pane in Inky after loading the story \u201cAdding Complexity\u201d\u2014also shown in Illustration 24 (below):<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_78\" aria-describedby=\"caption-attachment-78\" style=\"width: 750px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24-300x58.png\" alt=\"\" class=\"wp-image-78\" width=\"750\" height=\"145\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24-300x58.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24-1024x199.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24-768x149.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24-65x13.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24-225x44.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24-350x68.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-24.png 1154w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption id=\"caption-attachment-78\" class=\"wp-caption-text\">Illustration 24. One variation of the opening lines of the Ink story \u201cAdding Complexity\u201d<\/figcaption><\/figure>\n<p>If you are following along with the story \u201cAdding Complexity\u201d running in Inky, there is a possibility that the first two lines\/sentences on your screen match those in Illustration 24. Very possibly, however, the text of the second sentence pictured above differs from what you see when opening the Ink story yourself. Now, click the double-arrow icon in the upper right hand corner. What happens to the text in this sentence in the preview? Continue clicking the double-arrow. What continues to change? And how? How many times did it take you to get the same pairing of locations in the second sentence as the one shown in Illustration 24?<\/p>\n<p>Now look at line 1 in the editor pane, shown in Illustration 25 (below). In the text of line 1, we see two sets of phrases contained in curly brackets ( { } ), and the individual phrases within each set are separated from each other by a vertical straight slash ( | ), or pipe. You will usually find the pipe punctuation mark sharing a key with the backslash ( \\ ) on your keyboard. Used in this fashion, the curly brackets and pipe tell Inky that you are writing a <button class=\"glossary-term\" aria-describedby=\"121-253\">sequence of alternative text<\/button>. For example, the sequence in line 1 includes \u201ca pirate ship,\u201d \u201ca haunted house,\u201d and \u201ca moon base.\u201d By writing the sentence with these alternate phrases using this syntax, the sentence will alternate between the phrases of the sequence each time the Ink story\u2019s flow encounters the line.<\/p>\n<p>In the case of line 1 in \u201cAdding Complexity,\u201d the line is only encountered when the story begins. Clicking on the double-arrow icon and restarting the story quickly demonstrates the variety of alternative text available. This is useful as an example of how alternative text works, but in practice, this is not the best example of alternative text\u2019s usefulness. After all, a reader who only reads the story in this example once will never see the other alternative text. When writing your own playable stories, alternative text works best when used within loops, when diverts repeatedly direct the flow back to the beginning of a knot or stitch. Alternative text, as we shall see, provides a convenient way to write paragraphs that do not necessarily read the same way every time, allowing you to write paragraphs that will be new and interesting for the reader even after repeated visits. Additionally, alternative text is easy to add at any point in the editing process. It is as simple as enclosing a set of phrases inside curly brackets, separated by pipes.<\/p>\n<p>Now we will examine ways we can exert some control over how Inky selects which alternative text phrase of the sequence it will use.<\/p>\n<h1><strong>Shuffled Sequences<\/strong><\/h1>\n<figure id=\"attachment_79\" aria-describedby=\"caption-attachment-79\" style=\"width: 750px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25-300x56.png\" alt=\"\" class=\"wp-image-79\" width=\"750\" height=\"140\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25-300x56.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25-1024x192.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25-768x144.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25-65x12.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25-225x42.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25-350x66.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-25.png 1224w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption id=\"caption-attachment-79\" class=\"wp-caption-text\">Illustration 25. An example of shuffled sequences of alternative texts, set apart by curly brackets ( { } )<\/figcaption><\/figure>\n<p>Notice that each set of phrases in line 1 shown in Illustration 25 (above) begins with a tilde (~). This punctuation mark is often found on the key in the upper-left of the keyboard, under the escape (esc) key.<\/p>\n<p>If you are following along with \u201cAdding Complexity\u201d running in Inky, try the following exercise. Delete the tilde from both sets and then click the double-arrow several times. What happens now? It seems we are stuck in \u201ca pirate ship\u201d and \u201ca colosseum,\u201d the first alternate text in each sequence. This is because the tilde (~), when it appears at the beginning of a sequence of alternative text, is a command syntax that tells Ink to randomly <button class=\"glossary-term\" aria-describedby=\"121-255\">shuffle<\/button> alternative text.<\/p>\n<p>When the shuffle command is removed, every time the story is restarted, Inky, by default, starts by selecting the first phrase in the sequence. Again, in this case, the example works well to demonstrate how the shuffle function works by illustrating what happens when the shuffle command is removed. In practice, however, without the shuffle command, this example would never display the alternative text for the reader. Only if the flow was diverted in a loop back to line 1 would the second or third option in the sequence be displayed. Without the tilde, the reader will only ever see the first option in the sequence.<\/p>\n<h1><strong>Cycled Sequences<\/strong><\/h1>\n<p>Now let\u2019s look at what happens when a sequence of alternative text is used within a loop in the Ink story\u2019s flow. There is another sequence of alternative text written on line 22, shown in Illustration 26 (below). However, instead of using the tilde (~), this sequence begins with an ampersand (&amp;).<\/p>\n<p>Again, if you are following along with \u201cAdding Complexity\u201d running in Inky, try the following exercise. Restart the story by clicking the double-arrow icon. In the preview pane, select the choice \u201cTry to get a word in edgewise.\u201d Because this is a sticky choice, denoted by its (+) command syntax, and because line 23 diverts back to the same initial list of choices, it can be selected repeatedly. What happens when you select \u201cTry to get a word in edgewise\u201d repeatedly?<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_256\" aria-describedby=\"caption-attachment-256\" style=\"width: 754px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1-300x39.png\" alt=\"\" width=\"754\" height=\"98\" class=\"wp-image-256\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1-300x39.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1-1024x133.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1-768x100.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1-65x8.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1-225x29.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1-350x45.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-26-1.png 1232w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><figcaption id=\"caption-attachment-256\" class=\"wp-caption-text\">Illustration 26. A sticky choice followed by a cycled sequence of alternative texts<\/figcaption><\/figure>\n<p>As shown in Illustration 27 (below), each time the sticky choice is selected, Inky progresses through the sequence shown in Illustration 26, in the order in which the alternate text is written. If you continue to select the same sticky choice, you will notice that after the phrases have all appeared in the order they are written once, the sequence repeats, beginning again with the first phrase, \u201c\u2018Ummm\u2026\u2019\u201d. This is because the ampersand (&amp;) is the command syntax to repeatedly <button class=\"glossary-term\" aria-describedby=\"121-258\">cycle<\/button> through the alternative text in the order that it is written. When a sequence of alternative text begins with an ampersand (&amp;), Inky will move through the list of phrases you provide in the order in which you provide them, then it will begin again with the first phrase. It will repeat this as many times as the relevant line is generated.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_81\" aria-describedby=\"caption-attachment-81\" style=\"width: 754px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27-300x207.png\" alt=\"\" class=\"wp-image-81\" width=\"754\" height=\"520\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27-300x207.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27-1024x707.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27-768x530.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27-65x45.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27-225x155.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27-350x242.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-27.png 1170w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><figcaption id=\"caption-attachment-81\" class=\"wp-caption-text\">Illustration 27. The output after selecting \u201cTry to get a word in edgewise\u201d four consecutive times. Selecting the same phrase a fifth time will start the cycle over with \u201cUmmm\u2026\u201d<\/figcaption><\/figure>\n<h1><strong>Default Sequences<\/strong><\/h1>\n<p>There is one final experiment to be done here. What happens if you remove the ampersand (&amp;) from the beginning of the sequence? Try it.<\/p>\n<p>After you remove the ampersand (&amp;) and then restart the story in the preview pane, if you select the option \u201cTry to get a word in edgewise\u201d more than four times, the last phrase in the sequence, \u201c\u2018Please stop\u2026,\u2019\u201d will appear repeatedly. This is because, without instructions to shuffle or cycle the sequence of alternative text, once it has exhausted each of the options in the sequence, Ink thereafter will <button class=\"glossary-term\" aria-describedby=\"121-259\">default<\/button> to the final choice, remaining there.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_82\" aria-describedby=\"caption-attachment-82\" style=\"width: 752px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28-300x77.png\" alt=\"\" class=\"wp-image-82\" width=\"752\" height=\"193\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28-300x77.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28-1024x264.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28-768x198.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28-65x17.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28-225x58.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28-350x90.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-28.png 1256w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><figcaption id=\"caption-attachment-82\" class=\"wp-caption-text\">Illustration 28. Examples of default sequences of alternative text that continue to repeat the last phrase listed once the other options have been exhausted<\/figcaption><\/figure>\n<p>There are some interesting maneuvers that can be performed by using sequences of alternative text, even without using the shuffle or cycle functions. For example, an\u00a0 empty alternate text sequence is acceptable: { | | | }. When the sequence is completely empty, it might not be terribly exciting. However, by including a certain number of empty phrases at the beginning of a sequence, you can add a counter of sorts to your story, revealing a piece of text only after a choice has been selected a certain number of times. Used in this manner, you can use a sequence of alternative text to create a form of conditional text (we will cover conditional text in a later chapter). In this case, you would create text that only appears once the choice has been selected enough times to meet the condition you require.<\/p>\n<p>In the example shown in Illustration 28 (above), line 4 contains a sticky choice with a short sequence of alternatives; the first phrase is empty, and the second phrase is the word \u201cdifferent.\u201d As the output shown in Illustration 29 (below) demonstrates, the word \u201cdifferent\u201d is inserted into the text the second time the sticky choice is selected, and every subsequent time as well.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_83\" aria-describedby=\"caption-attachment-83\" style=\"width: 754px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29-300x234.png\" alt=\"\" class=\"wp-image-83\" width=\"754\" height=\"588\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29-300x234.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29-1024x799.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29-768x599.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29-65x51.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29-225x176.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29-350x273.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-29.png 1230w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><figcaption id=\"caption-attachment-83\" class=\"wp-caption-text\">Illustration 29. The output from the Ink story shown in Illustration 28<\/figcaption><\/figure>\n<p>Similarly, because the sequence will always default to the final option once all previous phrases have been exhausted, by putting a blank phrase at the end of a sequence, you can make it appear to the reader that the choice no longer yields a result, as it will always ultimately default to the final blank phrase. This is demonstrated by the sequence in line 5 shown in Illustration 28 (above), and in its output, shown in Illustration 29 (above). After the third time the sticky choice is selected, Inky will default to the empty phrase following the final vertical straight slash in the sequence.<\/p>\n<div class=\"textbox shaded\"><strong>Inky at Work:<\/strong> When writing a Playable Story, default sequences are useful for creating instances that both encourage the reader to interact repeatedly, but also cue the reader when the content has been exhausted. For example, they are useful for situations in which a character\u2019s dialogue options have expired, or, as seen above, when a joke ceases to be funny.<\/div>\n<h1><strong>Glue<\/strong><\/h1>\n<p>Typically, as an Ink story moves through its flow, when it encounters a new line number in the story, it will begin a new line in the output as well. Placed at either the beginning or the end of a line, the <button class=\"glossary-term\" aria-describedby=\"121-260\">glue<\/button> command tells Ink to continue to print the text from the next line in the Ink story\u2019s flow on the same line in the output, rather than inserting a line-break. This is a useful function for fine-tuning the way the text you write will appear to the reader.<\/p>\n<p>The command syntax for glue is a combination of the less-than and greater-than symbols (&lt;&gt;).<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_262\" aria-describedby=\"caption-attachment-262\" style=\"width: 752px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1-300x77.png\" alt=\"\" width=\"752\" height=\"193\" class=\"wp-image-262\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1-300x77.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1-1024x263.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1-768x197.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1-65x17.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1-225x58.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1-350x90.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-30-1.png 1246w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><figcaption id=\"caption-attachment-262\" class=\"wp-caption-text\">Illustration 30. The choices in lines 24 and 25 end with, and the text on line 31 begins with, Ink\u2019s command syntax for \u201cglue\u201d, ( )<\/figcaption><\/figure>\n<p>This is demonstrated in two ways in the sample story \u201cAdding Complexity\u201d. Both lines 24 and 25 end with the glue command, as shown in Illustration 30 (above). These are both choices that, incidentally, lead to the end of this scene. Look at the way the text is presented in the preview pane when you select the choice in line 25, shown in Illustration 31 (below). Rather than breaking to the next line, the text from line 27 continues directly within the same paragraph. Note also that while line 28 diverts to a new knot called \u201cconversation,\u201d line 31 opens that knot with the glue command as well, so that text is also affixed to the end of the previous text (on line 27) without a line break.<\/p>\n<p>Glue works across knots and stitches. It works at the beginning or at the end of a line. One glue command does not cancel another out, meaning, if you accidentally put the command at both the beginning of one line and the end of another, the lines will still appear together. The command is easily inserted at any stage of the writing and editing process, and should be considered a tool used to fine-tune the presentation of your Playable Story.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_85\" aria-describedby=\"caption-attachment-85\" style=\"width: 755px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31-300x31.png\" alt=\"\" class=\"wp-image-85\" width=\"755\" height=\"78\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31-300x31.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31-1024x106.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31-768x79.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31-65x7.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31-225x23.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31-350x36.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-31.png 1082w\" sizes=\"auto, (max-width: 755px) 100vw, 755px\" \/><figcaption id=\"caption-attachment-85\" class=\"wp-caption-text\">Illustration 31. The output after selecting the choice on line 25 in the Ink story \u201cAdding Complexity\u201d<\/figcaption><\/figure>\n<p>As you begin to craft and play-test your own Playable Stories, you may occasionally find the text is not presenting itself in the format you had intended. Glue is an easy, un-intrusive, and useful tool for shaping the output that the reader will ultimately see.<\/p>\n<h1><strong>A Few Notes About Spacing<\/strong><\/h1>\n<p>The Glue command syntax is a convenient tool you can use to manually format the display of the text of your playable story. However, Inky will also assist with some automatic formatting of its own.<\/p>\n<p>Notice what happens with the spacing of your text when Inky translates it to the preview pane. A numbered line in the editor pane on the left can hold as much text as you would like it to hold. Try it. You can keep typing sentence after sentence, and it will all appear as a single paragraph in the preview pane on the right. However, if you hit the return key, you will advance the cursor to the next numbered line, and the text you enter here will appear in the preview pane after a line break.<\/p>\n<p>However, if you hit the return key five\u2026 ten\u2026 even fifty times, the next text you enter will still be previewed with only a single line of blank space between it and the preceding line\u2019s text. This happens if you try adding horizontal blank space on a line as well. You can hit the spacebar a dozen times between words as you type them into the editor pane, and they will only be separated by a single space in the output on the preview pane.<\/p>\n<p>Because Inky automatically collapses additional blank spaces between words into a single space, you will be able to better organize the text in the editor pane by using indentations. As we shall see in the following section, indenting portions of the text in the editor pane will make your story easier to read at a glance. However, because of Inky\u2019s automatic formatting, the organizational indentations will not affect the presentation in the preview pane.<\/p>\n<p>For now, just know that the spacing you enter may not translate directly to the text that is created. There are ways to add vertical and horizontal blank space to your text, but they are advanced techniques, and they will not be addressed in these lessons. In many cases, stories written in Inky are ultimately presented as part of a larger multi-media project, and the position of the text on the screen will be handled by different processes further down the assembly line.<\/p>\n<div class=\"textbox shaded\"><strong>Inky at Work:\u00a0<\/strong>Remember that Inky is often used to script stories that will ultimately be combined with other media and executed by other software. When working on your own playable stories, maintain good formatting habits on your work in the Editor pane, and monitor your output in the Preview pane, but do not get too hung up on the presentation. Write the story you want to tell. In the end, the formatting will probably change multiple times as final art and design choices have to be made.<\/div>\n<h1><strong>Gathers and Gather Points<\/strong><\/h1>\n<p>As we discussed in Chapter 1, Inky moves through the instructions written into your Ink story, line by line, in a process referred to as flow. Basically speaking, Ink presents the story to the reader in the order in which it was written in the editor. However, Ink\u2019s flow follows diverts to other knots or stitches when diverts appear, which may move the reader to an earlier line or jump them forward to a later line. Additionally, Ink stops and waits for the reader\u2019s selection when the flow encounters a choice, be that basic or sticky. Once a selection has been made, Ink displays the text following that specific choice, continuing from that line on to subsequent lines, in order, until it reaches a new command. The process continues until the flow encounters the command \u201c-&gt; END\u201d.<\/p>\n<p>Look at Illustration 30 and Illustration 31 (above), which are part of the knot named \u201cSelfPreservation\u201d in the story \u201cAdding_Complexity.ink.\u201d In this knot, the initial choices divert back to the knot (creating a loop), and after the reader has explored these, they will presumably click one of the later choices (on lines 24 and 25). Line 27 demonstrates the command syntax for creating a <button class=\"glossary-term\" aria-describedby=\"121-264\">gather<\/button> point, a dash ( &#8211; ). A gather point is a convenient tool you can use to bring multiple threads back together. In this simple example, regardless of which choice is selected\u2014line 24 or line 25\u2014the gather point on line 27 directs the flow to continue from there. After printing the text from line 27, the flow continues to line 28, which contains a divert to the knot named \u201cconversation\u201d.<\/p>\n<p>If we remove the dash from the beginning of line 27, as shown in Illustration 32 (below), we create an error.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_266\" aria-describedby=\"caption-attachment-266\" style=\"width: 755px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1-300x56.png\" alt=\"\" width=\"755\" height=\"141\" class=\"wp-image-266\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1-300x56.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1-1024x191.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1-768x144.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1-65x12.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1-225x42.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1-350x65.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-32-1.png 1252w\" sizes=\"auto, (max-width: 755px) 100vw, 755px\" \/><figcaption id=\"caption-attachment-266\" class=\"wp-caption-text\">Illustration 32. An error created by removing the gather point in line 27<\/figcaption><\/figure>\n<p>See what happened? It immediately created a loose end warning for the choice on line 24. This is because line 24 leads to no instructions of its own. Each of the preceding choices in the flow either divert back to the beginning of the knot, as seen in Illustration 26 (above), or they lead to sub-choices which we will investigate in a moment. If the reader selects the choice in line 25, the flow continues unimpeded to line 27, prints the text, and then moves on to line 28, which contains a divert to the knot \u201cconversation\u201d. However, without a gather command on line 27, line 24 is a dead-end because the flow encounters the unselected choice on line 25.<\/p>\n<p>Put the dash back in at the beginning of line 27. The error goes away, and line 27 once again gathers the flow and puts everything back on track, as it appears in Illustration 30 (above). Gather points are powerful tools in that they can supersede apparent loose ends that occur before them in an Ink story\u2019s flow; they provide an easy method for you to bring your story\u2019s flow back to a central path before moving on to the next major set of choices. Think about gather points in the context of our fabric or tapestry metaphor. If the Ink story is the tapestry, then each choice you introduce represents an individual thread, branching out on its own. After you write multiple choices into your story, you can bring all of the potential threads you have created back together by using a gather point. When writing in Ink and Inky, figuratively, you create threads for the reader to pull on, but eventually you will need to gather them, weaving your story\u2019s fabric back together.<\/p>\n<div class=\"textbox shaded\">\n<p><strong>Inky at Work:\u00a0<\/strong>One of the key benefits to using gathers is simple efficiency. A common use-case for gather points is dialogue trees. Imagine a situation in which the player can choose from four different lines of dialogue, that will each print a different response from the character in the story, creating tone. Without a gather point, each different response will have to be followed by a divert directing the flow where to go next, even if they all divert to the same place.<\/p>\n<p>It is far easier to put a gather on the next line of text after the block of choices in order to continue flowing through the story. You could even have one of the four responses divert to a new thread, while the other three have no diverts, leaving them to be collected by the gather point.<\/p>\n<\/div>\n<h1><strong>Nesting Choices and Gathers<\/strong><\/h1>\n<p>We have demonstrated the ways that you can separate the threads of your playable story by writing choices, and how you can pull the threads back together with a gather. This works in the context of your Playable Story\u2019s overall fabric. However, you can also write choices and gathers that only exist in the context of a single thread. A simple example would be offering a choice of, say, ice cream or pizza, and then nesting the flavour choices strawberry, chocolate, or vanilla if the reader chooses ice cream (those flavours on pizza would just be weird). As this example shows, nested choices are typically for options that do not make narrative sense until the reader has already made a specific earlier choice. To continue our fabric metaphor, Ink allows you to fray an individual thread into smaller threads.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_268\" aria-describedby=\"caption-attachment-268\" style=\"width: 754px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1-300x167.png\" alt=\"\" width=\"754\" height=\"420\" class=\"wp-image-268\" srcset=\"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1-300x167.png 300w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1-1024x570.png 1024w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1-768x428.png 768w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1-65x36.png 65w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1-225x125.png 225w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1-350x195.png 350w, https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-content\/uploads\/sites\/363\/2023\/02\/Illustration-33-1.png 1332w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><figcaption id=\"caption-attachment-268\" class=\"wp-caption-text\">Illustration 33. A series of nested choices and gathers, set off by indentation for easier reading<\/figcaption><\/figure>\n<p>Look at Illustration 33 (above). This knot\u2019s first choice is indicated by a single asterisk on line 7. Within this choice there are two nested choices that branch off of the choice created in line 7: lines 9 and 13, which use a double asterisk (**). A nested choice only appears if the reader first selects the top-level choice that contains it (the choice on line 7 in this example). In the Ink story \u201cAdding Complexity,\u201d if the reader never selects \u201cDuck and cover,\u201d they will not be offered the choice between \u201cLook up\u201d or \u201cClose your eyes tightly.\u201d<\/p>\n<p>Notice also that the sample code subsequently nests another tier of options under the nested choice \u201cClose your eyes tightly\u201d by using a triple asterisk (***) command syntax. On line 19 in Illustration 33 (above), you can see that gathers can be nested as well! This triple-dashed gather ensures that each of the nested sub-choices of \u201cClose your eyes tightly\u201d leads to some text with a divert back to the same knot. This could be performed infinitely, nesting tiers within tiers for as long as your story\u2019s structure requires it. Which is why\u2026<\/p>\n<p>&nbsp;<\/p>\n<div class=\"textbox shaded\"><strong>Tip: <\/strong>The sample story shown in Illustration 33 (above) demonstrates a useful example of best practices. It can be very helpful to use the tab key in order to organize your nested choices. This practice will be second nature to those with experience programming code. For students who are new to writing in a text-editor environment, notice the tiers created for the various choices. It is the same process as organizing an outline for a traditional writing project. The top-level choices align with the left-hand margin. The tier under the first choice, \u201cDuck and cover,\u201d is indented by a single tab. The sub-tier beneath \u201cClose your eyes tightly\u201d is indented by two tab strokes. Ink does not create these indentations automatically, and you must insert them manually. Practices such as these will make your Playable Story far easier to read and to edit.<\/div>\n<div class=\"textbox__content\">\n<div class=\"textbox__content\">\n<div class=\"textbox textbox--key-takeaways\">\n<header class=\"textbox__header\">\n<h1 class=\"textbox__title\">Review<\/h1>\n<\/header>\n<div class=\"textbox__content\">\n<div class=\"textbox__content\">\n<div class=\"textbox__content\">\n<ul>\n<li>You can create a sequence of alternative text by enclosing a list of phrases in curly brackets ( { } ) and separating each phrase with a vertical slash ( | ). Placing a tilde ( ~ ) at the beginning of the sequence will shuffle phrases, presenting them at random each time the sequence is printed. Placing an ampersand ( &amp; ) will cause the sequence to cycle repeatedly in the order it is presented. By default, with neither shuffle or cycle added, the sequence will display each phrase in order before repeating the last phrase listed.<\/li>\n<li>Glue ( &lt;&gt; ) is a versatile command syntax that can be affixed to the beginning or the end of a line in the editor panel in order to connect that line to the preceding or subsequent line when it is displayed in the preview panel.<\/li>\n<li>A gather point is created by putting a dash ( &#8211; ) at the beginning of a line. This is useful when multiple choices will lead to the same place once the text unique to each choice has been displayed. Rather than putting the same divert after every choice, a gather point placed after the group of choices will ensure the flow continues no matter which choice had been selected.<\/li>\n<li>Choices and gathers can be nested by adding an additional symbol. For example, (**) will nest a choice underneath a choice labelled with (*). Be sure to use the tab function to organize your nested elements, making it easier to identify the flow of the Ink story by viewing the editor panel.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h1>Putting It All Together<\/h1>\n<p>This chapter added quite a bit to your tool belt! It will take practice before all of their uses come naturally, and later we will add even more advanced techniques made possible using these tools within Ink.<\/p>\n<p>For now, you should have a better understanding of how Ink can reproduce the same knot or stitch with alternative text on subsequent visits, and you should know how you can shuffle or cycle through those alternatives.<\/p>\n<p>We introduced the glue command, a simple tool that tells Ink to ignore a line break, allowing you to easily take control of the appearance of the text on the screen when necessary.<\/p>\n<p>In the previous section we learned about choices and how they are used to create threads in your story. With the introduction of the gather point, we now also know how to bring those threads back together.<\/p>\n<p>Finally, we have demonstrated how to add layers of complexity to your choices and the threads to which they lead by nesting them within each other. Remember, that gathers can be nested as well.<\/p>\n<p>Before moving on to the next chapter, take some time to experiment with everything you have learned so far. There is no better way to understand writing in Ink than to write in Ink!!! Believe us, you will not break anything.<\/p>\n<p>In the following chapters, we will start to include some simple coding logic and learn how to add conditional requirements for the passages of text presented to the reader. We are going to learn how to give our stories a \u201cmemory,\u201d a way to keep track of the reader\u2019s decisions and to react to them accordingly. It will get trickier, but we will keep it simple. Using Ink, we will put the \u201cwriting\u201d in writing code.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"glossary\"><div class=\"glossary__tooltip\" id=\"121-253\" hidden><p>A series of phrases within a knot that can replace each other upon multiple readings. They can appear randomly, repeatedly in order, or once each. <\/p>\n<\/div><div class=\"glossary__tooltip\" id=\"121-255\" hidden><p>The phrases in a sequence of alternative text will appear randomly if the sequence is preceded by a tilde (~).<\/p>\n<\/div><div class=\"glossary__tooltip\" id=\"121-258\" hidden><p>Cycled sequences of alternative text begin with an ampersand (&amp;), and the phrases they contain will continue to repeat in the order they are written<\/p>\n<\/div><div class=\"glossary__tooltip\" id=\"121-259\" hidden><p>The default instruction for a sequence of alternative text is to continue to display the last phrase in the sequence once every previous phrase has appeared <\/p>\n<\/div><div class=\"glossary__tooltip\" id=\"121-260\" hidden><p>Glue is a versatile tool in Inky. By using (&lt;&gt;) at the beginning or end of a line of text, it will \"stick\" to the adjacent preceding or subsequent text and appear on the same line in the output.<\/p>\n<\/div><div class=\"glossary__tooltip\" id=\"121-264\" hidden><p>A gather is created by beginning a line with a dash (-), and it ensures that the Ink story's flow will continue with that line. It gathers the threads back together.<\/p>\n<\/div><\/div>","protected":false},"author":464,"menu_order":3,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[49],"contributor":[],"license":[],"class_list":["post-121","chapter","type-chapter","status-publish","hentry","chapter-type-numberless"],"part":108,"_links":{"self":[{"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/pressbooks\/v2\/chapters\/121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/wp\/v2\/users\/464"}],"version-history":[{"count":20,"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/pressbooks\/v2\/chapters\/121\/revisions"}],"predecessor-version":[{"id":293,"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/pressbooks\/v2\/chapters\/121\/revisions\/293"}],"part":[{"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/pressbooks\/v2\/parts\/108"}],"metadata":[{"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/pressbooks\/v2\/chapters\/121\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/wp\/v2\/media?parent=121"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/pressbooks\/v2\/chapter-type?post=121"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/wp\/v2\/contributor?post=121"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/pressbooks.library.torontomu.ca\/playablestoriesink\/wp-json\/wp\/v2\/license?post=121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}