I'm in the process of writing an interactive fiction game (or Make Your Adventure novel, if you prefer that kind of slant), and I need software to map out all the possible scene transitions.

I found concept maps to be the presentation format most matching my needs, and I wanted to use some software for that.

There are tons of various concept-mapping programs, unfortunately, the vast majority focuses on attractive presentation, making the concept maps look appealing during meetings. Creating a single entry takes time, with all the styling, extras etc. Moreover, my concept map will be simply gargantuan in size. (I wouldn't need software for something smaller!) and many programs restrict the canvas size.

Currently, I got totally bogged down trying to use IHMC CmapTools. It has a quirky interface that doesn't take well to horizontal scrolling, it has limited zoom options, and many unintuitive features (e.g. you can't just add annotations to unannotated arrows, you must delete and redraw it as one with annotation). It focuses a lot on being a multi-user application with collaborative facilities and does a poor job of being a concept map editor on top of that.

This is the tree leading through the first day up to roughly 1/4 of the first night of the game drafted out. The whole game will be at least a week with the tree only growing in breadth.

IHMC CmapTools UI with a complex tree

What I need:

  • connect boxes with arrows
  • annotate these boxes and arrows
  • allow for laying it out in a readable way despite the scale
  • do it easily regardless of the number of these boxes and arrows.

Some rudimentary styling of these would be welcome but not essential and the styling must not get in the way of editing.

  • Simple, intuitive, quirk-free and distraction-free.
  • Also, bulk edits (moving whole branches) will be probably important as errors and corrections are bound to happen.

The software should work on Windows, but a version running on Linux will be most welcome (allowing me to access it on my netbook). Of course this doesn't have to be a desktop application - a good web app will be acceptable too (although it must not get bogged down and lag with enormous project, as many of these tend to.)

  • I wanted to recommend you Dia for Linux. But then I tried to make a graph like yours and failed with labelling arrows with a larger text, as I could not figure out how to make a line break. In the boxes that works with shift+return, but not for the arrows apparently.
    – gillesB
    Feb 6 '14 at 22:35
  • Are you open to paid solutions? Visio could work. Though I think it is not ideal. Feb 7 '14 at 8:55
  • @Oxinabox: Yarr, aye matey! ;)
    – SF.
    Feb 7 '14 at 9:16
  • Yeah visio is the only thing that comes to mind...but I would like a tool like this as well.
    – James
    Feb 7 '14 at 14:27

I've had great results with yEd. Personally, I used it to map a complex piece of code and to develop a software library.

It should satisfy all your bullet points, and has the additional plus of being cross-platform (Java) and free. It can also apply a nifty algorithm to clean up messy networks whilst keeping all connections the same.

  • 1
    Welcome to Software Recommendations. We want answers that explain how the recommended product matches the requirements and fits the purpose of the question. What you've written here is little more than ad copy for the product. Could you expand it to demonstrate how this product fits? See this meta post for tips on writing an answer.
    – danijelc
    Feb 10 '14 at 16:15
  • 1
    I've tried yEd, and indeed, it has less quirks than all the competition. While styling and advanced features are less accessible and more cumbersome to use, creating very basic (if big) graphs is very easy and streamlined, which is exactly what I requested.
    – SF.
    Dec 3 '15 at 12:07
  • I upvoted this when it was answered, as I 100% agreed. However, I recently asked for a Diagramming tool with good connector auto-arrangement when I drag connected boxes and now prefer the answer that I got there over Yed (sorry, Yed, we had many good years together). Check out https://draw.io/ Oct 29 '21 at 5:55

Well, if you are using TADS ... about a decade ago, I was working on a TADS IDE, which I have long since abandoned, but always wished to start up again.

It won't do all that you want (and does a lot that you don't ask for), but it might be of interest to you.

Here is a saved copy of the website; let me know if I should email you a copy of the program (or the source, if you have Borland (now Embarcadero) C++ Builder).

Plugh! Beginning Window enter image description here Pligh! Description Editor Window

See the (archived) website for more.

However, for your porpoises, it might be best to use Graphviz Dot, a tool which lets you edit a text file that it processes to draw diagrams.


Here is a very simple example taken from the examples page of the site:


graph {  
           a -- b;   
           b -- c;   
           a -- c;   
           d -- c;   
           e -- c;   
           e -- a;   

Output: Output diagram

Obviously, it can produce much more complex diagrams that that, but that shows the principle - a simple text language to describe the relationship between nodes.

GraphViz has been around for a long time, is well supported, has an active forum and is widely used in academia and in some popular tools like DoxyGen.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.