Book Image

Dynamic Story Scripting with the ink Scripting Language

By : Daniel Cox
Book Image

Dynamic Story Scripting with the ink Scripting Language

By: Daniel Cox

Overview of this book

ink is a narrative scripting language designed for use with game engines such as Unity through a plugin that provides an application programming interface (API) to help you to move between the branches of a story and access the values within it. Hands-On Dynamic Story Scripting with the ink Scripting Language begins by showing you how ink understands stories and how to write some simple branching projects. You'll then move on to advanced usage with looping structures, discovering how to use variables to set up dynamic events in a story and defining simple rules to create complex narratives for use with larger Unity projects. As you advance, you'll learn how the Unity plugin allows access to a running story through its API and explore the ways in which this can be used to move data in and out of an ink story to adapt to different interactions and forms of user input. You'll also work with three specific use cases of ink with Unity by writing a dialogue system and creating quest structures and other branching narrative patterns. Finally, this will help you to find out how ink can be used to generate procedural storytelling patterns for Unity projects using different forms of data input. By the end of this book, you will be able to move from a simple story to an intricate Unity project using ink to power complex narrative structures.
Table of Contents (18 chapters)
1
Section 1: ink Language Basics
7
Section 2: ink Unity API
12
Section 3: Narrative Scripting with ink

Chapter 5 – Tunnels and Threads

  1. To create a tunnel, a divert must be used before and after the name of a knot or stitch. Within the knot or stitch, two diverts must be used together to return from the tunnel.
  2. Tunnels connect two different locations in ink. They can be used between knots, stitches, or other locations in a story. Tunnels move the flow to a location and then return when two diverts are encountered.
  3. A divert moves the flow to another knot or stitch. A tunnel uses two diverts to move to a knot or stitch and then returns to where it started. A thread is the inverse of a divert. It moves the knot or stitch to the current flow location instead of moving the flow to the knot or stitch.
  4. Normally, multiple threads cannot be used on the same line. However, when using alternatives, it is possible to include multiple threads as part of the same structure. They are still accessed one at a time but can be grouped together on one line.