Dialog – A domain-specific language for creating works of interactive fiction

  • I recently played around with Ink. [1] I hadn’t heard of Dialog, but it shall be interesting to contrast them.

    It’s quite elucidating to see how different the constructs of a programming language can be when the constraints are so different. For example, Ink is designed to produce spaghetti code, because a narrative is more spaghetti shaped, so there is no call stack. Another peculiar thing is that by default, a link will only be used once, because in most narratives you don’t want to read the same thing over and over again.

    1: https://github.com/inkle/ink/blob/master/Documentation/Writi...

  • This is very interesting, but I feel like it's still too close to being an actual language for it to be worth using for the purpose of writing fiction. You might as well use Ruby, but that's just my personal opinion.

    Though not perfect, ChoiceScript is a lot closer to what seems like a good DSL for writing interactive fiction, since it remains readable without a lot of special language constructs.

    https://www.choiceofgames.com/make-your-own-games/choicescri...

  • Those who are interested in this might also want to check out Kni, an interactive fiction language implemented in JavaScript: https://github.com/kriskowal/kni

  • I haven't poked around too much but for purposes of discussion http://www.ifwiki.org/index.php/Cloak_of_Darkness is a small IF used as a chrestomathy and this is the link to it in Dialog http://www.linusakesson.net/dialog/cloak/cloak-rel1.dg

  • I've seen something similar for creating spam that slips past pattern-based scrubbers by finding gajillion ways to say the same thing using different word order and synonyms.

  • I have not used this myself, but as serendipity would have it, I came across it the other day: https://github.com/rudism/Ficdown

  • Are there good online examples of interactive fiction developed with this tool?