ISO recommended choice planning tool

(I know there’s a whole choice-based IF board but there’s so much info there I don’t know where to begin. And since I know I want to use Dialog it probably makes a lot of the considerations in those discussions less relevant. Will happily take a pointer to a recently-curated overview of these planning tools, though.)

As another play-with-Dialog project, I am interested in building a story that is primarily/exclusively choice-driven. (My one-branch implementation of Bob and Doug MacKenzie’s post-apocalyptic film The Beer Hunter last night was a huge success.)

I did a lot of choice-based dialogue-driven writing in the 2000s. Back then I did it all in a text editor with a straightforward, purpose-built scripting language. When I was really in the groove I think I was as good or better from a speed and complexity-managing standpoint than people who were using the emerging GUI organizational/mapping tools of the time, but A. I am no longer in that groove, B. I’m pretty sure those tools have come a long way since then, and C. I’d like to collaborate with someone who I think is less interested in writing directly in VS Code.

Hence the tool search.

Things I care significantly about:

  • Being able to collaborate with more than one person from more than one device on a single story, ideally without having to do Git-type code checkins. (So, probably a cloud service but I’m open to some other permutation as long as it works.)

Things I care some about:

  • An easy way to switch between graphical and code view. (Trizbort.io’s “you can download this as map code for a half-dozen formats” is probably as much work as I would want to have to do in this regard.)

  • A code export that is either a liiiiittle more human-readable than (for example) the .json spit out by storyboard.viget.com, or a recommendation for a way to further digest that kind of dense output .json into something easier to pluck and retool into Dialog #node/(label)/(disp)/(offers) format.

  • Not spending a ton of money. I’m okay with buying a couple of modestly-priced licenses for something that is just the most amazing of all amazing things, if it’s really just that amazing.

Things I don’t care about:

  • Monetizing and/or enjoying the reach of one of the organized choice publishers (I wouldn’t want to write the full logic in a non-Dialog system anyway because it would feel like a demotivating duplication of effort to then port it over to Dialog.)

  • Displaying images or playing sound

2 Likes

Git code commits are the best we have, because you can connect push triggers to a script (or even a cloud virtual machine) that compiles and tests the game. So on every code update you can get the z6 debug/release files and run a transcript through frotz to check that the game works. That’s all for free and easy to setup. IMO it’s worth learning the markup language and git.

I don’t know an IF service with realtime collaborative visual editing that would be connected to some source code. But there are realtime collaborative visual flowchart editors like Miro and Cacoo.

2 Likes

Dialog doesn’t have a planning tool; all of the GUI tools I’m aware of are tightly coupled with one particular coding language, e.g. Twine is tightly coupled to Twee. There’s no “generic” GUI IF planning tool that works with Dialog.

There are other non-Dialog IF tools that might make it easier to collaborate and visualize your code, but if you used them, you would have to “write the full logic in a non-Dialog system” which you said you don’t want to do.

If a graphical view is important to you or your collaborator(s), then Dialog is probably not the right tool for this job.

(If you’re just looking for a way to avoid teaching your collaborator(s) Git, you might be able to get away with a shared folder like Dropbox, if you can manage to avoid overwriting each other’s work.)

1 Like

I think maybe I made this too difficult by saying too much. If I rephrase my question more naively, as “I would like to find a visual tool to help choice-based story planning now. I would want to choose my code/publishing platform at some hazy future date*,” does that change anybody’s answer?

For instance, Storyboard almost fits the bill. It’s easy to use and although it doesn’t deal with simultaneous collaboration it’s fine for a “your turn now, okay click save, okay I’ll refresh, okay good” back-and-forth. The main two problems for my workflow show up in this test story:

  1. You can’t see all of the text from the GUI view. You have to click on each story node (“scene”) individually to see the full node text and choice options.
  2. The .json export is too database-y to be nicely human-readable for later coding, and that’s the only export option.

And trizbort.io is actually a little nicer than I would have thought it would be. It’s not purpose-built for this, but unlike Storyboard it’s pretty easy to get all of the node and choice text on the screen:

This is not terrible! The TADS code export is even pretty human-readable, but it omits the choice text which is a major downer.

Phonerings: Room '#phonerings'
  "Moneypenny answers the phone. It is an OFFICIAL with an IMPORTNAT PROBLEM"
  northeast: NotifyM 
  eastnortheast: Solveyourself 
  southeast: Admiredoors 
;


NotifyM: Room '#notifyM'
  "lorem ipsum"
  west: Phonerings 
;

Aside from losing the choice text, I’d be totally satisfied fixing the rest of the dumb stuff by hand. Maybe that’s a feature request…

@dfabulich - I understand that there is no Dialog aware/sensitive/compatible nodey-pathy-planny tool. Let’s say that my aversion to writing logic twice is at worst a “care some about.” But let’s also say that I’m fine with just naming an always-true choice “ONLY IF HAVE REPELLENT AND MET SEALS AND BEFRIENDED SEALS - Go swimming with your shark repellent and new seal friends” in the mapper and dealing with it later.

Your point about using a repo to make it easier to collaborate during the mapping phase is well taken.

@Oreolek - Thanks for the pointers to the general-purpose whiteboards, those may be interesting options as well.

* - but it's gonna be dialog, shhh don't tell anybody

1 Like