The First Gamebook: a graph-theoretic computational analysis of Consider the Consequences (1930)

DOWNLOAD-DESKTOP-NOTEBOOK.nb (1.44 MB)

5 Likes

news-congrads-kkluyshnik-02-04-19.jpg – you have earned Featured Contributor Badge 2015-11-02_10-07-11.png
Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

I wish I’d invested more time early on during development of my own work in progress (2001 to present) to harnessing WL Graph functionality to track game state dependency. My interactive fiction’s also in a discrete choice-based system, so somewhere between a “game book” and a modern text-parser game on the scale of how quickly the game state can branch.

Instead of Wolfram tools, I just used flowcharting software to build up a dependency graph, where each node wasn’t a complete state of the game, as with a CYOA-style book, but a permanent advancement in some aspect of the game state, with one (or more) nodes pointing to another if the former were (all of the) prerequisites for the latter. Example with three linked nodes:

[Find Key] ---> [Take Key] ---> [Unlock Door]

A serious drawback was just how inflexible and cramped a flowchart can become with no automatic functionality for spacing out nodes logically. The attached image shows an overview of how large the chart became (in 2004) by the time I maxed out the number of allowed links by the software and gave up on charting things this way. (The game’s start point is in the top-left corner, and roughly speaking, the further down/right one moves, the deeper into the game is being represented.)

This post’s got me interested once against in trying to build up my current inforrmation in a graphable structure, if I can be confident it can handle on the order of twenty thousand nodes!

3 Likes

I really enjoyed this! I wonder if the characters interacted in the story, or were these three completely independent playgraphs?

1 Like

Thanks, Andrew! Where can one find your interactive fiction?

There are some scripting languages for writing gamebooks precisely to capture the kind of dependency that you illustrated:

  • Ink is Inkle’s in-house language. (Listing it first because I find Inkle’s games stunningly beautiful and fun.)
  • Twine is another scripting language with lots of open-source digital gamebooks (the website claims ‘thousands’).
  • Choicescript is a third option (this one I haven’t tried at all; some of their games are quite successful on Steam).
    From my cursory research: Ink and Choicescript do not natively allow for generating gamegraphs. Twine already uses graphs in its design, though [I’m merely guessing here] a graph in Twine is not identical to what I would mean by a gamegraph, where picking up a key or not would result in branching.
    So one could try building an Ink/Twine/Choicescript → gamegraph functionality.

For your work, twenty thousand nodes should be quite managable for WL. Care to do some tests?

1 Like

Hey Zsombor, my two published games are hosted (with those of other authors) on:

Development updates I’ve posted along the way for my third game in progress:

I will take a look at Twine! Came across that browsing the IF community link you posted.

What I have now (besides that old, incomplete flowchart) for game step tracking is an equally cumbersome text file, unfortunately. I was trying to write a utility to parse the file (successive game steps are represented by successive indentation by spaces, like one might see in a language like Python where tab indentation would nest code logic), and build up a WL Graph structure as a result, but I hit some snags. I might get back to another attempt at that at some point, and we’ll see how many thousands of nodes in a graph can be manipulated! Complex boolean conditionals for multi-node inputs to another node were the main issue.

1 Like

Indeed, they do! Helen’s first choice is whether to follow her heart and marry Jed, or to go along with her family’s plans, and wait for Saunders. Likewise, Jed can decide to, but does not have to marry Helen. In this sense, depending on the reader’s choices, the stories of the various characters may become inconsistent (and I guess this is hardly avoidable).

1 Like

This reminds me of the old text-based computer games where you typed “Open the door.” and “Pick up the hammer.” Interesting analysis, Zsombor. : )

2 Likes

I know! I loved those games. We would load them onto our neighbor’s TRS-80 from a cassette tape. It would take a while, so you really had to want to play. I managed to finish Haunted House, but I struggled to finish the other one she had - I forget what it was called. Then I wrote my own in BASIC. I wish I still had those cute things :slight_smile:

1 Like