multiple choice writer?

I am trying to design a game where a multiple choice dialog appears when the player approaches an NPC (The rest of the game is written freely i.e. “X object”, “take object”, “sit on object”, etc). I am trying to find a program that will help me lay out/organize the dialog dependent on what the player chooses. I found this one program called “Chat Mapper” which I think is what I’m looking for, but it’s got a hefty price tag, and I’m looking for something a little cheaper (as in free). Is there anything else out there that works like Chat Mapper but doesn’t cost anything?

I don’t need anything for the coding part (that responsibility belongs to my partner), just for the writing aspect since this is the first time I’ve ever tried writing using multiple choice options.

Thanks in advance!

As a tool to map out the dialogue paths, you could try TWINE or even TRIZBORT to give a visual perspective of where each conversation path goes.
I haven’t actually tried either of them for this purpose, but I don’t see why they wouldn’t work.

You essentially need a flowchart application of some kind. A lot of business suites contain programs to visualize processes and workflow and could be used for this purpose. If you have MS office, Vizio is the flowchart component. I have even seen people do similar work using a spreadsheet program like Excel where one column contains the text, the next has the list of dialogue choices which then hyperlink to the next corresponding response.

There are also a lot of less complex free or ad-supported downloadable flowchart applications available online. Search for “free flowchart app”. When I tried, draw.io was the first one that popped up for me.

Twine and Trizbort are good suggestions.

Trizbort is intended to design and infer the physical map layouts for parser games, but the visual designer could certainly serve as a rudimentary visual map flow type app if you had to use it for that.

Twine is probably a better choice for designing dialogue. It’s very easy to quickly build up the web of nodes in the designer and has the added benefit that you can actually play through your dialogue trees to test them. Even better, you can display and capture out the “source code” of all the text to hand off to your designer.

As you’ve discovered, there exist very complicated and expensive programs specifically to write branching dialogue for games. These are usually aimed at mid-large design groups with teams of writers who are building dialogue into games that aren’t necessarily conversation focused.

One other way to go is to use screenwriting software that has automatic scene numbering, possibly along with a flowchart app. There are lots of free options like CeltX. These often have an “index” card function which isn’t as useful as a flowchart, but could be helpful. Screenwriting software has the advantage of laying out your dialogue as normal dialogue, which is awesome if you’re going to have actors do voice over.

I made this example with a free Mac screenwriting app called Fade In: (see pictures).
Screenshot 2017-06-22 00.06.01.jpg
Screenshot 2017-06-22 00.06.21.jpg

Thanks, guys! I will give TWINE a try.

InkleWriter is also an interesting choice - it may be too simplistic, but with it you can test an idea very quickly and export it in another software (like Unity) and then develop it.

Do you mean “Inklewriter” or “Ink”? Ink is designed to export into other software; Inklewriter is as you described, but is designed to be simple and self-contained; all editing and distribution is online. If you can export the raw code from Inklewriter, that’s news to me.

Well you can now export the raw code from Inklewriter, in the JSON format. You then can use a JSON library in Unity (for example) to read and use the data. The developers I’m working with say it is quite easy - but I’m not one, so I’ll just take their word =)

This is what InkleWriter writes in its FAQ :

" To access the raw data of your inklewriter story in JSON format, simply append .json to the end of your share URL. For example:

writer.inklestudios.com/stories/zrbj.json

If you’re comfortable with parsing JSON, you should find that the format is pretty self-explanatory."

Ah! That’s so cool and tingly as it brushes right over the top of my head! Good to know. I’m not smart enough about Unity or other systems to know what that’s all about, but glad to know. Inklewriter is a little easier to work with than Ink for a beginner, but the editor crawls if the story file gets too long. It’s great to throw a small or moderate-sized choice piece online quickly.

I’ve never heard of Unity until this post. I’m assuming it’s another program in which to write code? If so, do you know if it would be possible to reformat the JSON file into an i7 file to be used as a library for Inform?

Unity is a graphical game framework which is widely used for both free and commercial games.

There is currently no way to adapt ink/inklewriter output into an Inform game. I can imagine doing it, but it amounts to porting the ink engine to Inform, which would not be easy. Or you could build some kind of hybrid interpreter out of Vorple and the ink-JS engine.

Already done!

I understood about 20% of that.

I think what he means is the Vorple interpreter could do such a thing, for example, if you were playing an Inform parser game and talk with an NPC, it would open a browser window with an Ink game that handles the conversation. Vorple is a multimedia interpreter for Inform, but the game must be hosted online (there is no standalone interpreter) and the Ink portions would need to be also separate hosted games on webpages for Vorple to call within the game.

That’s not true, see my post above.

With the extension I wrote, you can retrieve the text returned by ink and say it directly within Inform. You’d still have to sync the variables and other data between ink and Inform, though. And it makes your game Vorple only, of course.

Right. This is why I despair of ever using Ink within a game; my own lack of know-how.

I stand corrected :

InkWriter can export JSON code easily, but there’s not existing plug-in to use this code in Unity. It can be done, but it demands a lot of time from a developer. Thus Inky is a better choice, once you try to build something. Offers a lot more of logic too.