Tools
Twine 1+2
ChoiceScript
A programming language developed by Choice of Games to create multiple-choice games, as a Choose Your Own Adventure electronic book. Don’t feel intimidated by it being a programming language: it’s based on javascript, and it’s very easy to use and get started, as long as you keep your indentations in the text consistent.
Inform 7
Texture
An interactive fiction authoring tool online, that presents itself as an option between Twine and Inform. The interaction consists of drag-and-drop words on top of other words, rather than typing or choosing a hyperlink, which makes the results easily playable on a browser. It also allows integrating images into your game; the development focuses on writing, and provides easy menus to create conditional text – it is easy to use if you don’t feel comfortable programming. It’s all online, so your work is saved in your cache; the tool allows you to have a user account so that your work in saved on a server. A good fit for short games for mobile platforms.
Fungus
Ink and Inky
Ink is the scripting language developed by Inkle Studios to write choice-based games, whereas Inky is the editor to create the text. It is a mark-up language, not very dissimilar from Choicescript above, although in order to release it as a game it needs Unity. So you still need to know how to use Unity in order to make a game. It’s open source.
Yarn – Dialogue Editor for Unity
A dialogue editor created as a tool for Night in the Woods as well as its companion games, the texts generated with it have to be exported to Unity. The developers acknowledge they are inspired by the Twine interface, and the program does import Twine files. Requires some programming chops to set up and connect to Unity.
Chatmapper
A proprietary standalone dialogue mapping editor. The trial version can be used to prototype conversation trees. The paid version allows creating dialogue simulations including visual and audio assets, provides visualization tools of different branching, and even generates scripts for voice actors, which can also facilitate localization. Uses LUA as a programming language, and exports to a variety of formats that can then be plugged into your engine of choice (XML, JSON, RTF, PDF, JPEG, Excel). May be best for larger projects with a lot of dialogue and audiovisuals – and also developers who have an actual budget.
Ren’Py
A visual novel engine that has been around since 2004, so that there is a large community of support as well as tutorials. Uses Python, one of the most accessible programming languages, it is also open source. One of its most attractive features is that it creates games that run both on desktop computers as well as mobile.
Adventure Game Studio (AGS)
A tool to make point-and-click adventure games. Initially created to make games in the style of the Sierra adventure games (e.g. King’s Quest), it expanded to other formats and allows developers to create their own style of adventure games. A classic tool that is now open source, counts with a good community and extensive resources developed over 20 years of its existence. On the downside, it is a Windows-only program, and requires special wrappers in order to release games for other program.
Visionaire
RPG Maker
A proprietary tool to make Japanese-style role-playing games; it is pretty powerful and also has an extensive community because it has been around for a long time. The games use tile-based art, which facilitates both making visual assets as well as finding pre-made ones. It can also be used to make adventure games.
Adventure Creator for Unity
Another plug-in for Unity, also proprietary. It is a toolkit to make both 2D and 3D point-and-click adventure games. It uses visual scripting, which is a bit more accessible to non-programmers, and comes with a collection of pre-set templates to create inventories, branching dialogue, and object interactions. There is a growing community of developers.
articy:draft3
- Elm Narrative Engine http://elmnarrativeengine.com
Update 6 January 2018: Added articy:draft and Texture (Thanks to Evan Skolnick and Sarah Schoemann for the pointers)
Update 25 January 2018: Started section on experimental tools and included a couple of links that I received over email. Thanks to Jeff and Daniel for sending me their engines!
Wonderful list! Thank you for providing such a valuable, up-to-date resource. I was wondering what your experiences and opinions of these tools were? I’ve done much with Ren’Py, but as a Unity developer, I am most interested in Fungus, Ink/Inky, and Yarn.
Of those three, I’ve worked with Fungus, which basically allows you to do a lot of the same things you did in Ren’Py but in Unity. If you want to make a visual novel, it’s all there – but it can also be modified to make games with dialogue and branching that are not necessarily in that format. Ink is great for creating branching stories, though I haven’t been able to make it work well with Unity yet. It is also a branching story tool, but in order to integrate graphics, sound, etc. you need to use Unity directly. Yarn is the one I haven’t used myself; it’s a plug-in so you don’t have to create your own Unity dialogue system. Hope this helps!
Exactly the sort of list I was looking for today, thanks for compiling it.