41 lines
1.3 KiB

> a revelation
## about
this is a choose your own adventure game
i am writing it with the goal of submitting it to volume ~~6~~ 7 of the zine
## requirements
- recutils v1.9: database, querying, and templates
- mustache v4.2.0: more different templating
- just v1.4.0: command runner
- graphviz v5.0.1: to make a graph!
## getting started
the whole game is in a recfile.
see: `db/game.rec`.
each record has an `id`.
each record has a `text` field that is the narrative text of the section, including branching choices.
branches should refernece the `name` of another field in {{mustachequotes}}.
to build the output, we will build a `data` object mapping all names to ids (with recsel and sed; see the just/makefile for details).
next, mustache will use that data object to replace the {{template strings}} in the recfile with id numbers.
finally the expanded recfile will be piped through recfmt, which will dump the text of the game.
you can also create a graph of the story nodes with `just graph` if you have graphviz installed.
this is handy for visualing your story paths, studying the shape of your story, and seeing if you have any islands or orphan nodes.
it does pretty much the same thing as `just build`, except it outputs a DOT file, and then creates `graph.png`.