From IFWiki

(Redirected from Txt2cyoa)

Authoring system
Link Home page
Developer Eric Forgeot
Formats HTML, Other
Interaction style Choice
Systems macOS, Linux, Other
System details
Latest version
Uses interpreter
Multimedia support
Browse the software database
Edit this infobox

The goal of textallion is to use txt2tags as a preprocesseur, and keep its non-distracting formating marks, while being able to export easily into LaTeX (and then PDF) and html (and then ePub). Txt2tags can already export to LaTeX, but there is little control on the output.

By default, textallion will have all that is needed for writing a simple and nice looking book, roman:

Bold, italic, underligned, striked letters, colored text, page numbering, top header with title and separating line, bullet lists and numbered lists, image includes, support for footnotes, table of content.

With textallion, you can also create traditional "Choose Your Own Adventure" books (CYOA), with the help of a "txt2CYOA" module.

From the same source (simple text file), you can use it to:

  • create HTML file to publish the game on internet
  • create the PDF file for printing the gamebook
  • create the EPUB file to be displayed in a ebook reader or on a phone (android, iphone, ipad)
  • Use (old) Ramus as an alternative HTML rendering. The output game will get _ramus.html at the end.
  • create organigram of all the nodes (solution)
  • convert your game to the ChoiceScript format, into a new folder your_game_choicescript
  • convert your game to the Twee format (you can also import from twee into textallion in the case you want to design your game using Twine)
  • convert your game to the Undum format
  • convert your game to the Hyena, format, under the name your_game_export.gamebook
  • convert your game to the popular Ren'Py format, into a new folder your_game_renpy
  • convert your game to Inform 7 source code, so it can be converted later to z-code.

Textallion is using a makefile or a shell script for creating the outputs, so it's rather Unix-friendly (Linux, Mac OS X, BSD), yet it's possible to use it on Windows as well.

It was created and developped by Otto.



Your sections (chapters) will be created using the default txt2tags heading (level 2):

== 17 ==

Important: You must add spaces around the number to create the anchor.

It's possible to use text instead of numbers in the heading, but it's not adviced because some outputs won't be able to work.


To create a choice, use either :

- Description of the choice : z
- Description of the choice : [z #z]. More words afterwards.

with z being replaced by the number of your section. Textallion will be able to detect that it's a choice, and link to the related heading.

You must use the syntax [z #z] if the number is followed by something and not alone at the end of the line.


You can add pictures with [yourpicture.jpg] (or .png)

To use wrapped pictures, type:



It's possible to get a graph with all the chapters connected together.

You need to have graphviz installed to do that, and make sure each choice starts on one individual line, with a - and ends with the number of the choice.

Export to other game formats

By choosing to create games with textallion, in addition to the PDF, HTML and EPUB exports, you can also create games in those formats:

  • Ren'Py is a popular format for creating visual novels.

The export from textallion will recreate your paragraphs and your choices in the format used by renpy, generating a working folder containing everything you need to read later from renpy. You should then move that folder into renpy's workspace default to work further on this project (including addition of multimedia documents, images, sounds ...). Please note that the command make cyoa-renpy will completely destroy the original folder and replace it with a new one. So if you intend to add new elements in the code, you can either change the makefile accordingly, or move the folder elsewhere as indicated above.

To mean the end of a game, any occurrence of "THE END" will move the player to the end of the file, stopping the game. The inclusion of images will be converted to the renpy format, and on each page, the background image will overlap the images already posted. To hide the images properly, although this is not an obligation, it is advisable to add $ hidemypic ("my_image.jpg") at the end of the paragraph after the use of a given image.

  • Ramus CYOA system, with a look similar to Undum, yet simpler to use.
  • Hyena is the format used by the Project Aon (Lone Wolf free version). There is also an implementation to replay those games, with gamebook-engine

The output file will be yourgame.i7. Then convert it to zcode (.z5) using Inform7.

You may have to tweak a bit the source before being able to compile it in Inform, for example remove the "Page0" lines. Texts such as "So it will lead you to the 14" will be converted to "So it will lead you to the ****", you'll probably want to edit this as well (you can just replace it to ...).

  • Twee is a format gamebook usable on the Internet, based on TiddlyWiki. make cyoa-twee will export to this format.
  • Undum is a system from creating gamebook usable on the Internet. make cyoa-undum will export to this format.
  • ChoiceScript is a system from creating gamebook usable on the Internet. make cyoa-choicescript or make cyoa-cs will export to this format.


Authoring systems
By style ParserChoiceParser-choice hybrid
By system BrowserAndroidiOSLinuxmacOSWindows
Browse Stable authoring systemsSearch formDrilldown
Other software InterpretersUtilities