(Or you can call it crowd-sourced interactive fiction, or decentralized narration, or whatever you want.)

(Or just click here if you want to see what it’s all about. Server uptime variable.)

Webmaster’s note, 2018-01: this site is experiencing some downtime while I relocate it.

Back in the early 2000s, there was a website called HeroQuest. It was basically a choose-your-own-adventure game, but with a twist: if you reach a part of the story that hasn’t been written yet, you get to write it yourself.

This was an extremely entertaining concept to little 6-year-old NaOH. Every time I logged in and saw that familiar “begin your adventure…” button, my heart was filled with anticipation. And when I reached the end of some branch in the story there was always the satisfying reward of writing the next bit for future readers to experience. I probably introduced most of the typos in that story (oops). It has always remained an entertaining concept to me, so a few years ago I went back to see what became of that site.

I discovered something peculiar.

It was gone.

Not only had the domain been taken over by squatters, there was no trace on the internet that the site had ever existed in the first place. No Wikipedia article, no forum posts lamenting its disappearance, no Google search results at all (except for some different things by the same name). This is unsettling. In the era of Barbara Streisand, things don’t just go away.

It left a HeroQuest-shaped hole in my heart ever since.

So I built this to replace it. If the server isn’t up right now, here’s what you’re missing: Git-Your-Own-Adventure, the sequel to HeroQuest.

Techy stuff

The link is actually just a Node.js interface to the underlying engine; it’s a client-server model where clients (you) connect to the server (link above) and view and make changes to a central repository.

But who likes centralized repositories anyway?

Git-Your-Own-Adventure (or gyoa for short), as the name suggests, has built-in support for using git to create and edit repositories. Therefore, you can host your story on github, people can download it, edit it, and send you pull-requests, the way any git repo works. Since gyoa integrates with libgit2, you don’t even need to know git at all to contribute to stories. Just use the terminal interface to gyoa, which abstracts away git into simple commands like “download changes,” “upload edits,” etc. (You can also just use git directly if you prefer.)

As a plus, gyoa also compiles into libgyoa, a nice API so you can write your own gyoa interface if you like. This is what gyoa.js uses. Android app coming soon… maybe…

Anyway, go mess around.