"Continue Reading" Or "Show More" Prompt For Splitting Up Text In Single Knot In Ink

It is very common in interactive fiction and visual novels to write a large amount of text that does not have multiple Choices, instead presenting the reader with a "Continue Reading", "Show More", "...", or similar prompt. This is a way for the author to break up their text and allow the reader to be active in the story even when they aren't making important Choices.

In Ink code, the most obvious way to break up text with Choices is to use a separate Knot for each block of text with a Divert to a new Knot for each "Continue Reading" Choice. That might be a good solution if you need those Knots for some reason, but what if you just want to separate twenty paragraphs of text without the need for twenty Knots? Writing all of the text you want and just adding a single Choice without any Divert after it would be an easy way for it to work, right? If you've tried something like this, though, you know it won't work in Ink:

Code:
-> knot_name
=== knot_name ===
This is an introduction paragraph.

* [Continue Reading]

This is the first sentence.

This is the second sentence.

* [Read More]

This is the third sentence.

This is the fourth sentence.

-> END

Ink sees "This is an introduction paragraph." followed by two Choices ("Continue Reading" and "Read More"). Ink also finds an error here because there's no Divert or End statement after the first Choice.

How can we solve this and write as much text as we want with as many "Continue Reading" prompts as we want? The answer is the simple Ink element called the Gather. A Gather is represented by a single "-" symbol as the first character on a new line. A Gather "gathers" all of the open Choices to that spot in the code. Gathers have more complicated uses in advanced Ink code, but for our purposes we only need to gather the most recent Choice so that we can continue writing in the same Knot without having to use a Divert. Here's the code with Gathers:

Code:
-> knot_name
=== knot_name ===
This is an introduction paragraph.

* [Continue Reading]
- // gather here

This is the first sentence.

This is the second sentence.

* [Read More]
- // gather here

This is the third sentence.

This is the fourth sentence.

* [Show More]
- // gather here

This is the fifth sentence.

This is the sixth sentence.

* [...]
- // gather here

This is the seventh sentence.

This is the eighth sentence.

-> END

Adding a Gather after each "Continue Reading" Choice means that you can write as much text as you want in a single Knot. separating it out with as many prompts as you want. You can copy and paste the "Continue Reading" prompts anywhere you want to break up your text as you edit paragraphs.

The two code examples above are fully playable and can be directly copy and pasted into Inky.

For more information on Gathers, and how they can be used for more complicated dialogue, check the official Ink Documentation.
 
For those who like to use shorthand, even though it isn't well documented in the Ink documentation, you can Gather to a Choice directly. This works:

Code:
This is the introduction.

This is the first paragraph.
- + [Continue]

This is the second paragraph.
- * [Continue]

- END

It seems like it shouldn't work because the Choice character ("+" or "*") isn't the first character on the line, but it does work. Use at your own risk as I'm not sure if it's officially supported.
 
Back
Top