Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

How to choose a story format?

I haven't found any Twine documentation providing advice on how to choose a story format, but this choice seems awfully important. (For that matter, I'm not entirely clear on how to choose a Twine version.) What are the important considerations? When does it make sense to choose one over another?

I had initially assumed they were just style sheets, but it's becoming increasingly clear to me that they are something more akin to mutually incompatible programming languages with different capabilities.

Thank you!


  • You are correct that choosing a Story Format for a story/game is an important step.

    Basically each story format is a unique mini application, and the first part of this comment in the Two quick questions about upgrading to Twine 2.1.3 thread gives a basic overview of the division of responsibilities between the Twine application and the story formats.

    There is no easier answer to which one to choose because it depends on many things, some of them being:

    1. What type of story/game are you trying to create?
    This can range from a simple CYOA to a full blown multi party member MUD like RPG.

    2. What multimedia features do you want the story/game to have?
    From text only to full audio/video/animation, and everything in between.

    3. Do you want to add custom features to the story/game engine, and which programming languages do you want to use. From built in macro system to Javascript plus third-party libraries.
  • If you don't mind giving a custom answer, here are my answers to those questions.

    1) Mostly a CYOA because mostly I want to tell some stories, but with a simple JRPG style combat system and some simple dynamic content (one conversation the first time you meet someone another conversation afterward, also some random encounters) in order to make replaying to explore other endings less dull. Also, it would be really cool to be able to distribute the game through steam should it turn out well.

    2) Just static pictures would be pretty amazing. Music, sounds, and animations have not really seemed important to me in the visual novels I've read thus far.

    3) Javascript would be cool in that it would have huge amounts of documentation and be compatible with any browser. Thus far, Harlowe documentation seems a little... sparse.

    I don't know if python is an option, but one option I've been considering is using Twine to prototype the game and then making the final version in Renpy. (The automatic mindmapping of Twine really impressed me, and the lack thereof in Renpy was a huge turnoff, but once i have the story prototyped, the lack of mapping would seem like less of an issue, and the larger support base and Steam support would seem really appealing.) In that case, programming in python would be appealing, but I don't know if that's even an option.

    I'm not experienced in any language. I've taken classes in C before, and taught myself a little java, javascript, and excel VBA in order to complete particular projects. Each time I spend 90% of my time struggling to learn the bizarre idiosyncracies of the language grammar and 10% of the time working out the actual logic of the program. I expect this game will be a similar situation.

    Do you have any advice?
  • Some quick information.

    re: Question(s) 1.
    JasoninMN wrote: »
    CYOA ... tell some stories ... some simple dynamic content / dialogue / events
    All three story format support this.
    Harlowe and SugarCube via either their macro language or Javascript, and Snowman via Javascript.
    JasoninMN wrote: »
    simple JRPG style
    No story format has a built-in combat system.
    Nor any NPC / Inventory / Crafting / etc.. systems for that matter, so you will need to build your own or find one that someone else has implemented and modify it.
    JasoninMN wrote: »
    able to distribute the game through steam
    A Twine story HTML file is just a web-application and as such it can be converted to a Steam-based application (or a phone app) but the process is not trivial, but there are a couple of Authors (or teams) that have successfully done so.

    re: Question 2.

    All three story formats support displaying images using the HTML img element, while SugarCube also supports doing this with markup.

    re: Question 3.
    JasoninMN wrote: »
    Harlowe documentation seems a little... sparse
    Each story format targets a slightly different built-in feature requirement / skill level of Author, although there is a large over-lap between Harlowe and SugarCube target audience, and if you think Harlowe's documentation is sparse then you should have a look at Snowman 2's. lol

    You can use Javascript to extend the built-in features of each of the story formats, although some are easier to so than other.

    a. Harlowe has a many built-in features but has no Javascript API and is designed in a way that makes it hard to access it's core-engine , but you can use Javascript to add your own functionally in a similar way to how you can with any web-application.

    b. Snowman has almost no built-in features so everything needs to be built using Javascript.

    c. SugarCube has the largest set of built-in features, it has a Javascript API, and you can uses either TwineScript or Javascript to add custom features to it's engine.

    re: rest...
    JasoninMN wrote: »
    ... considering using Twine to prototype the game..
    You would not be the first to do this, I myself do this with the games I release under a different pseudonym. It makes it easy to prototype the scenes and dialogue, and you can even use story variables to track stats and story elements. eg. CYOA lol
  • Thanks greyelf! As always, super helpful!
Sign In or Register to comment.