Reading Time: 7 minutes

I wanted to follow up today with some design details about the Twine that I made based on adrienne maree brown’s 6 emblems from Emergent Strategy. Here’s the post I wrote about the Twine, and here’s a link to the Twine embedded in a webpage, plus a full-screen link (that probably works better than the embedded version on a phone, with a screenreader, etc.).

In this post, I’ll write something about my goals for this Twine, and also the ways that it is built like a fern: fractally! It can expand as needed using the fractally multiplying design. So if anybody wants to jump in and work on this with me, I would be so glad to do that! I also wanted to write this up in a way that if someone wanted to do a similar “Twine design” for different content, you could do that too.


Unusual and fun. My goal for this approach is to present the material in a way that is unusual and fun. The readers choose the path and pace. And the specific “chunks” of content are meant to help readers focus in a way that doesn’t always happen in the flow of printed pages in a book or webpages at a website.

Images. In addition, there are images to help amplify the meaning visually. By using images, the Twine is a lot like slides in a slide presentation, but it can also include large portions of text if needed. And yes, the images have alt text, just like they would in traditional webpage-type content.

Being “aware” of the reader. The Twine has variables that make the Twine “aware” of the reader’s progress through the materials. It keeps track of how many items for each emblem the reader has visited, plus the total number of items visited. The options to choose from change based on what the reader has already seen, and the option to “wake up” comes after visiting all the items — and if the number of items grows, that “wake up” option could be set to a number less than the total; more about that below.

Easy programming. This “awareness” is nothing sophisticated like a real database or anything; these are just simple counters that increment each time the reader clicks and visits an item. Some people do very sophisticated programming with Twine, but this is not sophisticated at all; what I’ve done here is very simple. And if you’re nervous about using variables in a Twine, don’t be! Using simple variables like this is easy, and it allows you to do some fun things that are very different from a typical document or slideshow.

I’m not going to get into the nitty-gritty of the click by click details, because the Twine “cookbook” documentation is excellent. For the Chapbook theme that I am using, you can find all the detail here: Guide to the Chapbook Story Format.

Instead, I’ll just explain the “fractal” aspect of the design. I’ll start by describing the boxes, paths, and variables, which is how Twine works: you put stuff in little boxes, and then paths connect the boxes to one another (see screenshot in the previous post). But not all Twine stories have variables; for an example of a branching-without-variables Twine, try my Mouse-Bride or Nursery Rhyme Twines (the Mouse-Bride was my first Twine!).

So, here we go… the elements that make up the Twine!


Boxes and stages. This Dreamscape Twine is built around the 6 emblems, with 2 content boxes for each emblem (for example, ANTS1 and ANTS2); I’m calling those “stages” of each emblem, but that’s just my word for it; it’s not a feature of Twine. There are also 4 dreamscape boxes: the game-starter box (DREAMSCAPE0) plus 3 other dreamscapes for the ongoing game which display what are essentially the “menu” for the game going forward. I really only needed one of those ongoing dreamscapes, but I created 3 to keep the game play from becoming too monotonous (different images, different wording). Finally, there is also the waking box when the reader chooses to wake up and end the game.

Paths from box to box. The paths in this game flow out from the dreamscape as the reader chooses what they want to read about. Each time after the reader reads something, they can move on to the next stage of that emblem (if there is an available next stage), or they can return to the dreamscape. The reader goes back and forth between the dreamscape and the content until they have visited all the content, although the game can also be set up so that the reader can “awaken” after some other marker of completion, which might not mean reading everything. Right now, though, there is not a lot of content in there, so the idea is to follow the paths to all the content, and then wake up (or play again).

Variables. There are two variables that help the system run. Each of the emblems has a stage count (right now those counts are just 0-1-2 because there are 2 stages for each emblem), plus there is a total count of number of stages visited. The box that starts the game sets all the variables to zero, and then each time the reader completes a stage, the specific emblem count goes up, and the total also goes up. Those variables then determine how the menu is displayed in the dreamscapes and also when the reader gets the option to end the game by waking up.

So, that is what gives the Twine its shape. Now, here are the different ways you can re-iterate that shape in different ways to create a bigger Twine.


Add content to the emblem boxes. Right now the emblem boxes have a very small amount of content: just a small quote from amb’s book and an image. They could definitely contain more! So that would be one of the easiest way to expand the game, adding more content to any of the emblem boxes; the system allows for the content of any box to grow independently of the others.

Multiply the emblem boxes. Right now each emblem has two stages, and each stage has just one box (ANTS1 and ANTS2 for example are the two stages for the ants). It would be possible for each stage to be spread out over multiple boxes (ANTS1A, ANTS1B, ANTS1C) and so on. So, that’s basically an alternative to putting lots more content in the boxes; you can add boxes and lead the reader from one to the next within a stage. Those would not be branching boxes; instead, they are just a way to pace the reader, to help them focus on the content piece by piece and minimize the scrolling in a box with lots of content. So, ANTS1A would lead only to ANTS1B which would lead only to ANTS1C, etc. You could multiple the boxes for any stage of any emblem; the system allows for the number of boxes to grow independently of the others.

Multiply the stages. Right now there are two stages for each emblem, but it would also be possible to build in more stages for any of the emblems. If that happened the count for the stage would expand from 0-1-2-3, which would affect how the menu displays (in addition to “ants” and “more ants” there would also be “even more ants” or something like that). It would also affect how the paths proceed (the reader could stay with an emblem for one stage, or two stages, or three stages before returning to the dreamscape). It would be possible to multiple the stages for just one emblem, or more than one emblem; there’s no reason why the emblems need to have the same number of stages. The system allows for one emblem to grow independently of the others.

Add content to dreamscape boxes. Right now each dreamscape box is basically just a menu along with an image (I used MYFest colors for those images!), along with a little bit of language meant to suggest a kind of dreaminess. It would be possible, however, to develop those dreamscape boxes in very different ways, and also to add more dreamscape boxes. So, right now there are 3 different dreamscapes, with 4 of the emblem stages returning to #1, 4 returning to #2, and 4 returning #3. Right now, there is no rhyme-or-reason to why a given stage goes back to one of those 3 dreamscapes, but it would be possible to develop that into some thing more meaningful. It would also be easy to multiple the number of dreamscape boxes too, and it would also be possible to display the menu differently in those different dreamscape boxes (right now, the menu functions the same way in all of the dreamscape boxes).

Add new variables. With each variable, you create new dimensions for how readers navigate the content, giving them new choices and/or changing the way that the choices are presented to them. If you want to give this more of a sense of a game to win or lose, or a quest to accomplish (or not), you can use variables to do that. (For an example of a Twine that has that win/lose type of game structure, check out the Cryptid Creatures game that I made for DPL last summer.)

Replicate the whole system. Right now, the Twine moves from the dreamscape to the 6 emblems, and back to the “same” dreamscape again. But this entire structure (dreamscape-stages-boxes) could be multiplied, so that this dreamscape exploring the emblems could be attached to another dreamscape that explores some dimensions of emergent strategy, or some other nature metaphors, or more of amb’s work, or other thinkers/writers who resonate with amb, or whatever associated content you want to join to the existing content. This would lead to a kind of exponential Twine growth, as opposed to the smaller scale growth of adding more content to a box, adding more boxes to a stage, or adding more stages.

I don’t know what the practical limits are to how large a Twine can grow, but an html file is just a text file. Even when a text file contains hundreds of pages of text, the actual text file is not very large! So my guess is that using this fractal approach to the design, you could create a massive Twine, and it would function just fine. (Maybe someone with more Twine experience has some insight into that.)

Anyway, I hope that all makes sense, and if anybody is interested in joining in on this Twine, just let me know!

And remember, one of the coolest things about Twine is that the files are all open and independent, so you can download my Twine; just right-mouse click on the link and do file-save-as to grab your own copy of the html file: You can then import that file into Twine yourself and look at how it works. You can do the same with any Twine you find online; just save the html file (which is all a Twine is: a weird and wonderfully complex html file), import it into Twine, and then you will see all the magic revealed so you can learn how to create your own Twine magic. Here’s a screnshot of the browser-based Twine that shows “import” in the “Library” menu:

You can learn Twine by playing with someone else’s Twine… which is itself another kind of fractal development! Like the way you can grow a whole new plant from a cutting. 🙂