
Maps reveal the structures of ‘Choose Your Own Adventure’ books - oska
http://www.atlasobscura.com/articles/cyoa-choose-your-own-adventure-maps
======
harryf
Shame they didn't map some of the Fighting Fantasy books (
[http://www.fightingfantasy.com/](http://www.fightingfantasy.com/) ) or Steve
Jackson's Sorcery Series (
[https://en.wikipedia.org/wiki/Sorcery](https://en.wikipedia.org/wiki/Sorcery)!
- now made into a series of mobile apps
[http://www.inklestudios.com/sorcery/](http://www.inklestudios.com/sorcery/)
). Jackson & Livingstone really pushed this format far more than the "Choose
Your Own Adventure" books.

Most of all I remember "Creature of Havoc" (
[https://en.wikipedia.org/wiki/Creature_of_Havoc](https://en.wikipedia.org/wiki/Creature_of_Havoc)
) as being amazing and extremely hard. Instead of being an adventurer you play
a monster with limited IQ forced to unravel the mystery of your own existence.
It employed various techniques that prevented cheating like "If you have the
key, add the number written on the key to this page number to open the door".
One of those puzzles still has people discussing it
[http://laurencetennant.com/bonds/creatureofhavoc.html](http://laurencetennant.com/bonds/creatureofhavoc.html)
( contains spoilers ). At 13 years old it took me and a friend 2-3 months to
finally crack it.

~~~
LoSboccacc
Or the adventures of Lone Wolf

~~~
voyou
Project Aon has all the Lone Wolf books in a variety of formats, including a
machine readable format, which they have used to produce similar diagrams of
the books' structures. Joe Dever have them permission to distribute the books
for free some years ago (you can also now buy them as ebooks, I think).
They're all at [https://www.projectaon.org/](https://www.projectaon.org/)

------
Erwin
If your nostalgia makes you yearn for this type of game with relatively
limited choices, the "80 days" game (perfect for the iPad but now also
PC/android) is fantastic: it's a Steampunk twist on the Vernes story (so
rockets are a valid form of transportation!) and has excellent world building
and great writing -- as good as my other verbose favorites: Witcher 3,
Planescape Torment and Betrayal at Krondor.

A play-through can be attempted very quickly, every time experiencing
something new -- you are racing through the world attempting to return to
London in 80 days.

The creator, Inkle, have a more traditional RPG, Sorcery. Also good for re-
creating feel of a classic D&D adventure, but I enjoyed encountering
automatons in Vienna in "80 Days" more.

~~~
cableshaft
80 Days is excellent. I've played through it three times myself. I highly
recommend it.

------
rumcajz
I want to write a book about crypto for kids using the similar idea.

The map will be more linear-ish, or rather one mail path with side loops --
imagine passing levels in a game, you are provided ways to practice a new
skill until you are able to pass to new level.

More interestingly, the progress through the book can be itself constrained by
a kind of crypto.

The chapters in the book will be numbered and ordered at random. At the end of
each chapter it will say "goto chapter 234." or "goto chapter 34 mod 12"

Now imagine the player wants to cheat and starts with a random chapter in the
middle of the book. He won't be able to find previous chapter (it's kind of a
one-way function). Morever, if progress to chapter N+1 is gated by a puzzle
that requires skill learned in chapter N-1, he can't move forward either.

Some initial notes are here: [https://github.com/sustrik/crypto-for-
kids](https://github.com/sustrik/crypto-for-kids)

~~~
harryf
Very cool idea. I've often thought this approach would work best for teaching
kids programming. Instead of "Chapter 1: Strings" present programming bit-by-
bit as a mystery (detective or spy) story - you need to write simple bits of
code to proceed to the next step

BTW have you looked at tools like [http://twinery.org/](http://twinery.org/) ?
I might help you organise the content (although perhaps not with random
ordering)

~~~
bitwize
Back in the day there was a kids' book called I believe Chip Rogers: Computer
Whiz. The kids in the book were amateur detectives with computing as a hobby.
One of them, the titular Chip Rogers, would write a BASIC program -- the text
of which is in the book -- to analyze the clues and logically deduce the
culprit of the crime. You could keep reading, or enter the program yourself to
solve the mystery before the protagonists do.

~~~
infinite8s
I loved that book! I didn't have a computer as a kid so I'd execute the BASIC
on a piece of paper!

------
dustingetz
It raises some interesting questions. To vizualize a program in a useful way,
is it an exercise in what you can take away? Take away everything so all you
are left with is text nodes and links, and that is something easy to
visualize.

This is all so obvious but it never solidified concretely like this for me
until now.

The following domains have a bunch of stuff taken away from them, you're left
with a narrow domain of very few concepts, and once narrowed it is intuitive
to make a visual tool:

    
    
        webforms - google forms
        relational forms - airtable
        computer aided design
        music - OneNote
        mathematica
        video games - unity
        website - squarespace
        crud app - hyperfiddle.net
        world wide web - internet explorer, or html
    

Functional programming may be a way to narrow down the set of "all programs"
to a few primitives that can be modeled visually, but not take away so much
that it is not useful for general purpose programs. Maybe visualizing pure
expressions as a tree of function calls or as an execution graph. IDEs can
already do this for imperative & object oriented programs, but you end up with
a hairball, the visualization is not useful enough that we no longer need, for
example, to write code in files.

What other ways can we attack a large domain like "enterprise business apps"
and take things away until left with a few simple composable primitives?

~~~
Retric
I once wrote a static analysis tool that simply made 2 lists for every
function. What Object-function it called, and what Object-functions called it.
It only mapped around 98% of all calls, but ended up being extremely useful
abstraction when handed a huge code base without much documentation or access
to the old team.

~~~
justinnhli
These are called call graphs:
[https://en.wikipedia.org/wiki/Call_graph](https://en.wikipedia.org/wiki/Call_graph)

------
jcahill
Notable exception: Meanwhile… (2001).

Web blurb, slightly different from print⁽¹⁾

____________________

Meanwhile began as a series of seven increasingly complex flowcharts. Once the
outline of the story was structured, a computer algorithm determined the most
efficient way to transfer it to book form, using a system of tabs to interlink
the panels and pages. The problem proved to be NP-complete; it was finally
cracked in spring of 2000, with the aid of a V-opt heuristic algorithm which
ran for twelve hours on an SGI machine.

____________________

¹ [http://zarfhome.com/meanwhile](http://zarfhome.com/meanwhile)

------
assert
TL;DR: map with crappy AI payoffs here:
[https://github.com/richelbilderbeek/CityOfThieves/blob/maste...](https://github.com/richelbilderbeek/CityOfThieves/blob/master/Misc/Payoffs.png)

As a kid, I played 'City of Thieves' by Ian Livingstone. When entering that
city, there is a crossing and one can pick three roads, all leading to the
same city market. I always wondered: what is the best route of the three?

To do so, I first ported 'City Of Thieves' to console and desktop and Nintendo
DS (after mailing the book company for permission, which I got). Then I wrote
an AI that assigns payoffs to the different chapters. Not only did this result
in such a map, but also the payoff it assigns to each chapter:
[https://github.com/richelbilderbeek/CityOfThieves/blob/maste...](https://github.com/richelbilderbeek/CityOfThieves/blob/master/Misc/Payoffs.png)

The question is still unsolved though, as I do not trust the implementation of
the AI :-)

~~~
pxndx
This is just a giant transparent png file. Am I missing anything?

~~~
assert
Indeed, it is rather sparse. It goes from up to down, mostly staying in the
center.

------
odammit
My school had a program where you would get a free pizza from Pizza Hut for
every ten books you read.

I didn't like the idea of lying about reading but I was OK with gaming the
system by reading 'choose your own adventure' books.

I would pick the dumbest options because I knew it was likely I'd die fast and
the book would be over.

~~~
SilasX
Yes! I remember that program! I think it was called "Book it!" so I google it
and found their page:

[http://www.bookitprogram.com/](http://www.bookitprogram.com/)

~~~
odammit
That's it! I had so many personal pan pizzas. My mom was a willing accomplice.

------
cossatot
It's interesting to me how infrequently different paths link up. Alhough this
is obviously the point of the book series, it still embodies a set of
assumptions about free will vs. predestination/inevitability. Maybe there
could be some choose your own crime books where a lot of the outcomes end in
jail.

I only read a few of these way back when, so I don't remember exactly if this
happened, but another possible take would be a sort of 'where were you when
the big [whatever] happened'. How do different choices early on determine how
you're affected by the Plague/ day Dublin's streets ran with Guinness/
Chicxulub impact.

~~~
tripzilch
I'm not really that familiar with CYOA books, but couldn't they not have
different outcomes end in jail, which are still different pages, just
described differently (if told through the eyes of the main character, for
instance depending on their previous experiences)? The outcome would be
basically the same, but the book would offer a richer reading experience for
it, and you wouldn't see any linked up graphs.

------
Rudism
I spent some time a while ago developing my own system to create CYOA books
based on Markdown (called Ficdown). The goal was to develop a simple way to
write books without having to write code, and that could be exported to normal
e-book formats like epub, mobi, or html with clickable links used to make your
decisions as you read the book.

I ran into a lot of unexpected technical complexities in the compilation step,
for example trying to remove unreachable branches of the story, and optimizing
situations where branches merged back together, or removing variables that
were being tracked that no longer had any effect on the story from that point
on. It was a fun exercise. It makes me wonder how earlier CYOA books and
series were actually written. How hard was it to keep track of the various
branching plot lines? Were there ever cases where "bugs" were published? I was
a massive fan of CYOA, especially Steve Jackson and Ian Livingstone's Fighting
Fantasy series.

~~~
galago
Not a "bug" but a feature: Inside UFO 54-40 had an ending that you couldn't
reach by the normal means. You had to just flip through (cheat?) to find it.
The ending was:

"No one can chose to visit Ultima," says Elinka. "Nor can you get here by
following directions. It was a miracle you got here, but that is perfectly
logical, because Ultima is a miracle in itself." The End

~~~
phjesusthatguy3
Kibo of alt.religion.kibology posted a Christmas themed CYOA to the group
decades ago, and the only winning ending was deliberately unreachable.

------
rmidthun
CYOA still lives, but in different forms.

Japanese Visual Novels are basically CYOA with pictures. The number of
decision points varies depending on the book in question, but the basic
structure is still there.

Twine [1] is a system that allows you to create stories, essentially CYOA but
with the option of adding variables. For instance, you could have an option
that is only selectable if you found a key earlier. This bridges the gap
between CYOA and classic text adventure. Since Twine outputs HTML it is also
easy to port wherever you want.

Finally, there are a number of online community CYOA. This being the Internet,
the quality is varied and many of them are pornographic. Probably the biggest
is Addventure[2]

[1] [http://twinery.org/](http://twinery.org/) [2]
[http://www.addventure.com/](http://www.addventure.com/)

------
rumcajz
Interesting that nobody mentioned Borges here. Labyrinthine books are one of
the recurring themes in his writing.

In one short story he proposes a kind of reverse CYOA book: A book with many
beginnings but only one ending.

~~~
ShardPhoenix
>In one short story he proposes a kind of reverse CYOA book: A book with many
beginnings but only one ending.

Some games work like this (eg Dragon Age: Origins). It's not as mysterious as
it sounds.

------
lukasb
They mention "Inside UFO 54-40" but don't have a graph for it :( which is a
shame because it would have been the only disconnected graph

~~~
gilgoomesh
Like everyone else who read that book enough to understand the Ultima gimmick,
I have a simultaneous love/loathing for that book.

------
setq
Inspired by this type of book, I used to write BBC BASIC adventure games in
the late 1980's at school. It was great fun planning the structure of them on
paper and coming up with the graphs first.

------
Shivetya
So much of the computer adventure gaming / MMO style could benefit from
understanding how these books worked. Everything is so linear these days with
no failed paths. While some games may present choices you can usually find a
strategy guide that shows all the ones that will fail as everything is fixed.

Still the maps match up with a lot of the examples I have seen of flow
charts/maps/grids from authors who scope out their stories and then fill in
where its important and interesting with the actual text we get to read

~~~
jug
I wonder how much of this is due to poor understanding vs lower effort to save
development costs.

~~~
tetraca
I always thought it was a matter of economy more than anything else. If all
you need to do is produce text it's very "easy" to build a massive branching
storyline with lots of failure conditions and truly modifying developments
since text is cheap. When each of these branches also need additional hours of
voice acting, more characters to design and animate, more locations to model,
etc it becomes increasingly expensive to make a storyline that has strongly
branching paths. There was a time where there was a nice sweet spot that
allowed for a decent amount of creativity and branching and opportunity for
failure, but as games started to have more and more of these details,
developers started making choices more minor, making choices that are
illusory, and building at most 2-3 endings that only really branch very late
game or mostly rely on mechanics (oftentimes how many people you killed) so
that there is less that needs to be adjusted in terms of plot.

Secondarily, you also likely have pressure to make a game that is enjoyable
for as long as possible and caters to as many people as possible, which
discourages building/allowing critical failure points like the pie in King's
Quest V, and maybe also discourages branching too hard so that all content
that can be experienced is mostly easily digestible in one playthrough (the
subtext being, if you're only ever going to be paid once per user in the
context of a single player game, that any path not explored by most people is
essentially a massive waste of money so the experience should be streamlined
to a tunnel as far as possible to a cost limit the minimum expected
adventure).

------
Im_a_throw_away
Any good "choose your own adventure" book you would recommend for adults?

~~~
jhanschoo
For a refreshing, tongue-in-cheek retelling of Shakespeare's Hamlet, I
recommend "To Be Or Not To Be: That Is The Adventure by Ryan North"

~~~
philsnow
Ryan North of dinosaur comics fame?? Oh man, I'll check it out, thanks.

------
vinbreau
As a kid I began to map my CYA books in a similar fashion. I wanted to write
my own and so would mimic the structure of the books I had. Twelve year old me
would have loved nice clean maps like these. I'm sure mine were nowhere as
neat.

~~~
failrate
Did you ever write one?

------
im3w1l
If you like CYOA and programming, you should check out Ren'py. It's a python
engine for creating digital CYOA stories. Wikipedia tells me that over a
thousand games have been created with it.

~~~
userbinator
The Japanese have been quite fond of the CYOA concept for a long time:
[http://en.wikipedia.org/wiki/Visual_novel](http://en.wikipedia.org/wiki/Visual_novel)

There are far more of those in Japanese than English or any other language.

~~~
jhanschoo
Written probably around a decade ago, I found this informal history of visual
novels very interesting [http://archive.is/HD0Z](http://archive.is/HD0Z)

------
ctack
My strongest memory of these is lots of endings, almost exclusively bad
endings and vanishingly little reading.

~~~
raleighm
There's a tumblr of those endings.
[http://youchosewrong.tumblr.com/](http://youchosewrong.tumblr.com/)

------
exelius
I loved these books as a child. I had always wanted to play a video game that
worked this way; which I guess is why I am such a fan of the BioWare style of
games.

------
ropable
There was another CYOA series called Way of the Tiger by Mark Smith and Jamie
Thomson where you played a ninja. They were pretty unforgiving and graphic. My
younger self enjoyed those enough that I was inspired to convert the first one
into a web application a few years ago:
[https://ropable.com/avenger/](https://ropable.com/avenger/)

------
hcs
Interesting, so many analyses of these structures!

One more that I don't think was reachable from the article is on the blog
These Heterogenous Tasks:

[https://heterogenoustasks.wordpress.com/2015/01/26/standard-...](https://heterogenoustasks.wordpress.com/2015/01/26/standard-
patterns-in-choice-based-games/)

------
mathw
I used to keep a log so I could backtrack when I hit a terrible ending. I
implemented savegames.

Or I was maze-solving. Probably both.

~~~
Bakary
Or savescumming ;)

------
ForRealsies
I'd like someone to map a digital variable based novel like Samurai of Hyuga.

[https://www.choiceofgames.com/user-contributed/samurai-of-
hy...](https://www.choiceofgames.com/user-contributed/samurai-of-hyuga/)

------
tenkabuto
Seeing discussions here, I now realize that one could write a work of fiction
firstly as though it were a CYOA, allowing the writer to explore various
potential threads and ultimately choose to present in a final copy the chosen
path (chosen due to its degree of intrigue/drama/oddity/etc.). I have
attempted to write stories before but I would get stuck with thinking "OK,
where should I go from here?", which I see, from this CYOA perspective, is
more of an editor's perspective than a creative perspective; the creative
perspective can be allowed for with the exploration of various tracks/paths
and the editor perspective can come into play once those have been fleshed
out.

~~~
failrate
Write it as a CYOA. Then, have it web hosted. Have your test readers go
through it. Track their choices. Publish a book based on selecting only the
highest trafficked choice for each node.

------
neonhomer
For anyone who's feeling nostalgic and wants a quick (or long) choose your own
adventure, [http://chooseyourstory.com/](http://chooseyourstory.com/) has some
interesting stories.

I really enjoyed [http://chooseyourstory.com/story/ground-
zero](http://chooseyourstory.com/story/ground-zero) and
[http://chooseyourstory.com/story/dead-man-walking-(zombie-
su...](http://chooseyourstory.com/story/dead-man-walking-\(zombie-survival\))

------
allenu
Choose Your Own Adventure and text-based adventure games you type into your
computer (with BASIC) really got me into computers as a kid back in the late
80s/early 90s.

I wrote my own gamebooks using a simple notepad and "turn to page XXX"-style
narratives. In the end, they are just programs that you follow. :)

To this day, I'm still fascinated by them and recently wrote some sites that
let you create CYOA-style adventures yourself and with others;
[http://www.thiswayorthat.club](http://www.thiswayorthat.club) is one of them.

------
scirocco
For a long time I've thought about having a similar map but for research.
Imagining seeing which work builds on what, how they relate and easily scroll
to the right to see the latest topics in that field.

~~~
abakker
This is called mind-mapping. In my research I use them extensively. simple
mind is the program I use for it, though there are plenty of others.

------
ggambetta
Reminds me of a CYO-style game for iPad I was the lead developer for.

After we were done I added some code to output the graph structure of the
game, rendered it with GraphViz, and gave it to the artist, who came up with
this:
[https://twitter.com/rmodjeski/status/455184159401472000](https://twitter.com/rmodjeski/status/455184159401472000)

------
tdeck
I was thinking rather sadly recently that I'm probably in the last generation
that has heard of these and will get the reference. The Choose Your Own
Adventure books are a great analogy for certain programming topics but if
young people have never heard of them it doesn't do much good. That said, they
were pretty mediocre fiction as I recall it.

~~~
lsaferite
They are doing new books targeted to a younger audience. My 7 y/o has been
reading them since he started school.
[https://www.cyoa.com/collections/dragonlarks](https://www.cyoa.com/collections/dragonlarks)

------
addled
I had forgotten all about COYA books until recently, when I was at a yard sale
and found Twist-a-Plot's "Calling Outer Space". I had never heard of it but
instantly knew I had to have it as soon as I saw that crazy cover.

I've had a blast reading this together with my 7 year old son.

------
b0rsuk
It's interesting that almost all choices in "Choose your own adventure" are
binary. They are, with few exceptions, binary trees. There can only be more
than 2 choices if children of the node are leaf nodes (endings). A very simple
way to keep number of branches reasonably low.

~~~
e12e
> There can only be more than 2 choices if children of the node are leaf nodes
> (endings).

Huh? Lets say each node is a page, and the book is 256 pages. I don't see why
the graph could be any (cyclic) or not graph? True, binary choices probably
makes it easier to make an easy, and natural feeling narrative - but I don't
see this as a hard limitation?

I mean, in the extreme case (with one very long first page) you could have a
"2-page" story with beginning, and 255 alternate endings? And you could modify
that, so that 254 lead back to the first page, with an additional hint...

[ed: See the map for "cup of death" for an actual book that uses "four road
fork".

It is curious that all of these concrete books seem to use binary choices. I
can't remember the CYA books I read when I was a kid (Author, name of series)
- but I seem to recall there was frequently three, four choices - often one or
more choice would loop back (often literally, as in a path that forked around
and led you back to an earlier fork in the road...).]

------
thinkingemote
When I was playing/reading these (e.g. Livingstone's) as a child I found a
pattern. Always choose the lower number if you are unsure. (Or higher if that
worked, and if it does work, stick with it). I'd like to compare those maps
now.

------
pfarnsworth
I bought Choose Your Own Adventure books when they first came out. I went
through my old book collection and it turns out I have Cave of Time, First
printing. Obviously worthless but still a testament to how memorable it was
for a kid.

~~~
tunesmith
On the CYOA site you can buy old CYOA books for more than $20 apiece, so it
might be worth something.

------
bcyn
I'm sad they didn't include the Goosebumps books, I loved those when I was a
kid.

------
luke0016
It's fun to look for cycles. Looks like "Space and Beyond," "Journey under the
Sea," and "By Balloon to the Sahara" could each provide a lifetime of
reading...

~~~
SilasX
Similarly, I remember one of them having an unreachable node (graph theory: "a
second component") so you had to "win" by finding the award page directly and
just reading it, where it congratulates you for thinking outside the box.

------
trevman
If you liked this, you might like this data analysis of CYOA:

[http://samizdat.cc/cyoa/](http://samizdat.cc/cyoa/)

------
ZanyProgrammer
I think my favorite CYOA books were the Escape series. I also remember playing
a video game version of Escape on a neighbors Commodore 64.

------
Markoff
can you recommend some similar Android games with CYOA similar to Lifeline
preferably without waiting?

------
jamesmintram
Fighting Fantasy... Just gonna leave this here:
[http://nomadgames.co.uk/fightingfantasy/](http://nomadgames.co.uk/fightingfantasy/)

(Disclosure: I am one of the programmers)

