Quandary: Best system for episodic, multiplayer IF

I’m usually a Twine developer, but I’m starting to plan out a project that I expect will go beyond the tool’s capabilities, so I’m looking for advice on a system that might be able to do what I need.

I’m writing an episodic, asynchronous multiplayer story. Basically, you can think of it as a two-player story with turns. Here’s an example:

Player 1 is playing the Superhero, and Player 2 is playing the Supervillain. Player 1 goes first, and plays an episode about suiting up at their secret base, going around the city fighting crime, and maintaining their secret identity. At the end, there are a dozen or so variables that their actions have set.

Player 2 goes next, and their episode starts with the variables that player 1 has set during their turn. Player 2 creates their death ray, holds someone for ransom, etc. The variables that Player 1 set affect Player 2’s route (e.g. the Superhero captured the Supervillain’s henchman, so when the Supervillain goes to rob a bank, their getaway driver never shows up and they have to flee on foot.) By the time Player 2 is done, they’ve set their own dozen or so variables, which are passed onto Player 1’s second episode, and so on.

Obviously, if you were doing this as a pass-and-play with a friend, I could build it all in Twine: When Player 1 finishes his turn, he passes the computer to Player 2, who’s sitting next to him. But I’d like to make it so two players can connect over the internet and play separately (e.g., Player 1 plays his episode on Monday, and then Player 2 connects to their shared game and plays her episode on Tuesday, etc). Do you know of any system that could handle that either out of the box, or with minimal development?

I’m not aware of any out-of-the-box system for multiplayer choice-based IF. I think your easiest bet would be to code a chat bot for one of the major chat platforms, e.g. Facebook Messenger.

1 Like

If you’re willing to have the players email save games to each other, all parser systems would work and many others could probably be made to work.

Seltani is a multiplayer choice based system. I’m not sure whether it can do all you want, but definitely check it out.


^ Seltani is very interesting, so I would still recommend checking it out despite the fact that it isn’t under active development:

Seltani is not under active development. Sorry! Feel free to explore and build if you want. The system has proven to be stable and reasonably bug-free.

While using the provided server is easy, should you want to get your own server running, however, that could prove difficult because you’ll need to install specific versions of the required supporting software to avoid breaking it.

Yeah, sorry about that, it’s all 2013-era Python modules and will likely remain that way.

Thanks, all. Upon further inspection, it looks like many, many people have asked this specific question with no good answer. I think I may set up something to email an obfuscated code from one player to another for now, and just have that enter that to set the variables.