Automated Publishing for TTRPGs

Using itch.io's automation features for tabletop rpg publishing

Itch.io is a popular platform for TTRPG publishing. Given it’s history as a indie video game platform, it probably comes at no surprise that there exists a way to bundle up game releases, version them and automate updates via the itch client. The beauty of this is that itch doesn’t actually care what kind of content is within the package. We can leverage this to have automatically updating rulebooks for our RPGs!

In this article, I’ll present how we do that1, using a earlier game concept that I didn’t get around to launching:

  1. Preamble: this guide assumes some familiarity with command-line utilities. butler is command-line only (that is, cmd.exe, Terminal, shell, etc).

  2. First, download the itch client: https://itch.io/app. Install and log in. This allows you to both install butler and test your game’s installation.

  3. Using the itch client, install the butler command line tool. The advantage of using the itch client is that it’ll keep butler up-to-date. Simply click the Install button after searching for ‘butler’ and it should default to the stable install for your OS.

  4. Alternatively, you can install butler directly from https://itchio.itch.io/butler — it’s just a single executable — you may use the butler upgrade command periodically to update itself.

  5. Add the butler installation directory to your system path.

  6. Log in by issuing the butler login command at a command-line/terminal prompt:

  7. Create a new project using the itch web interface. Keep it in draft mode for now. Feel free to edit description, pricing, tags, rewards, anything except for uploading files. We will be doing that using butler in the next steps.

  8. Create your project directory on your local machine. Fill the directory with all the files you want to deliver. Only the files within this directory are delivered, so name the directory whatever you wish. For the purposes of this post, I’ll be naming this directory “content” for simplicity.

  9. Push a build using command line:

  10. Edit your game on itch, and change the type of your product to Book. Itch defaults to Executable, but it’ll remember what you set as long as you keep your channel name consistent.

  11. Save your edits. Take the game out of draft and launch it normally, if you’re happy with the results.

Pushing Updates

  • To update a game, simply go back to the content directory and issue the same push command again:
    butler push . berdandy/gastronomy:rulebook

  • Every time you push a build, the version number will increase (even if there are 0 changes). However, itch will intelligently re-use differences from version to version, minimizing the amount downloaded.

What does it look like to the player?

1

Screenshots and instructions provided are for Windows, but this mechanism is similar for mac and linux users of butler. Installation and system path setting are the only variations. This is left as an exercise for the reader.

2

If you notice something that says wharf, don’t worry. That’s the underlying technology that butler uses to publish builds.