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

What this book covers

Chapter 1, Text, Flow, Choices, and Weaves, describes the core concepts of ink, flow, choices, and the relationship between them.

Chapter 2, Knots, Diverts, and Looping Patterns, covers the divisions of stories, knots, and how to move between them.

Chapter 3, Sequences, Cycles, and Shuffling Text, explains programmable ways of generating dynamic text, alternatives, and their different forms.

Chapter 4, Variables, Lists, and Functions, covers how to store values in different ways along with advanced programming in ink.

Chapter 5, Tunnels and Threads, explains how to chain knots together, describes what tunnels are, and covers how to pull content into new configurations – threads.

Chapter 6, Adding and Working with the ink-Unity Integration Plugin, explains how to locate, install, and verify the installation of the ink-Unity Integration plugin.

Chapter 7, Unity API – Making Choices and Story Progression, covers how to select options in a weave and progress an ink story using the Story API in Unity.

Chapter 8, Story API – Accessing ink Variables and Functions, explains how to access and use ink variables and functions from Unity using the Story API.

Chapter 9, Story API – Observing and Reacting to Story Events, explains how to observe and react to changes in ink using the Story API in Unity.

Chapter 10, Dialogue Systems with ink, describes general approaches to creating a dialogue system in ink using hashtags, speech tags, and how the visual representation of options in Unity affects code in ink.

Chapter 11, Quest Tracking and Branching Narratives, provides a general template in ink for quests, how to track multiple quests from Unity, and an approach to synchronizing ink variables across stories.

Chapter 12, Procedural Storytelling with ink, provides an introduction to the term procedural storytelling, how to begin to use it in ink, and how the same approaches in ink work in Unity.