Storynexus Alternatives?

Hello friends, I was interested in the storynexus platform for making some games but was heart broken to find out that you can no longer make any new worlds.

So i would like to ask if there are any alternatives to storynexus that has a similar look and feel and how it handles interactive fiction.

thank you for any replies!

1 Like

You’re not the first author to face this issue. The StoryNexus functionality wouldn’t be terribly difficult to implement. This is apparently what they did in Alcyone, which uses Twine under the hood.

If you’re not comfortable with rolling your own Failbetter-like engine in Twine, I believe Inkle also offers some good quality based functionality right out the gate using the Ink system.


The main element of Storynexus that was unique isn’t the quality-based narrative so much as “card deck”-based mechanics. Those introduce some randomness (It’s based on Fallen London) where the player actually can draw a selection of random cards and potentially “hold” some in an inventory to choose when to use the card like a skill or an item, or when to embark on a story/plot element on the card.

Choosable branches on each card could also be allowed/disallowed based on qualities. If your sink clogged up, a card “Call for help to fix your sink” could then appear in the main deck or in your hand, and you could choose branches like “Get your neighbor to help for free” or a branch with a higher chance of success “Call a professional plumber” if you had enough money to select that option. Branches could have a dice roll and separate success and failure outcomes. Perhaps if the player has gotten the “Professional Plumber” quality, a new branch on that card could appear with a 95% success rate that wouldn’t require money.

Also, entire special decks could be available based on set qualities, and the decks can be “stacked” by the author based on player qualities - adding and removing cards that can potentially appear or not appear in any specific deck.

As a mini-example: imagine playing blackjack where one player has a special card that casts a spell to remove all the 10s and face cards from the dealer’s deck so they could prevent themselves from busting on a 12 when their next card comes out.

A similar system was Varytale, where instead of cards the author essentially created short mini-adventure “chapters” which could be offered in random order or qualified/disqualified based on specific qualities set in other chapters. If you played a chapter where your sink clogged up, a chapter about calling the plumber could then be qualified to randomly appear as the next story segment, or even forced into the selection the player has to read/choose from next, or forced as the only chapter the player has to choose from next.


@JoshGrams was working on a tiny QBN system, which I think was going to involve some card-like stuff too–what he had was on GitHub. That might be interesting to look at!

1 Like

Yeah, I sent a private message this morning and have been second-guessing that since. What’s there is reasonably solid, and it probably only needs another 15-20 hours of work, but I haven’t touched it since mid-June: I just…find working with Twine and SugarCube to be a constant low-grade irritation. And I suck at finishing projects that I don’t have a concrete need for. Maybe I should hire someone to work with me and write some short stories so I’d have a good excuse. Hmm…what does Sub-Q do? Maybe 9 cents/word plus tech support for a 4-6,000-ish word story? Or two? Think I’d get any takers for something like that?


@JoshGrams Emily Short’s recent blog posts about using storylets for narrative content (Storylets:You Want Them and Storylets Play Together) sent me down a rabbit hole of implementation research and eventually I stumbled upon the github repository for your Tiny QBN add-on for Twine. I’ve been following the IF community since the mid 90s with varying degrees of attention, and unfortunately I completely missed all the activity around Varytale, Dendry, and now StoryNexus before it fizzled out. Incidentally, super bummed out that there’s only a partially functional Dendry port of Bee available because it’s too good to stay offline and I want my teenage daughter to be able to play it.

At any rate bringing the storylet/QBN approach into Twine seems worthwhile given its strength as a platform and the difficulty for new systems to gain traction and maintain viability over the long term.
It sounds like you’ve done some unreleased work on Tiny QBN beyond what you originally put up and documented on GitHub. I’m definitely interested in testing out any new functionality if you’re still looking for people to work with.


@axodys Yeah, the new stuff is on the v0.2 branch. I did a little more work when those posts came out: let me push those to GitHub…OK.

So. I believe all the new stuff works. I also believe that everything in my quick reference design sketch is now implemented, so if you’re willing to poke through that and my original docs/tutorials you may be able to figure out how to use it. But the old documentation is out-of-date as I renamed a lot of things to try to be more consistent and to fit the new features in.

I’d be more than happy to take some time to walk you through it if you wanted to do some sort of text- or voice- or video-chat. I also definitely need to go back and write more documentation and update my tutorials for the old stuff, but that feels like more work, or higher stakes, or something, and I keep procrastinating about it.

I keep starting to try and plot out some simple examples, but I’m a programmer, so they keep turning into Byzantine things that are clearly too complex to be good examples: my last sketch started out as “oh, let’s do some cycling links to select how you do things and change a stat which determines which storylets show up”, and quickly started turning into a plan for a sort of conlang QWOP-like thing where you’re a dog and you are learning to communicate and cooperate with an NPC dog to drive a human automobile and…yeah…

1 Like

Cool, I will check out the v0.2 branch. The piece of functionality I was particularly interested in was having a separate cover within a passage and have it test and show whether you can actually continue to the card. Before I was approximating the functionality I was looking for with two passages: a card that displayed an active or inactive link (depending on the gating variable) and then the link would take you to the actual contents of the card (second passage) if it is active. Is there a way to do that using just one passage via the <<card> … <<cover>> … <<content>><</card>> syntax? Or is the part after <<cover>> just for a card summary or image that will always click through to the content passage at this point if displayed via <<cardrow>> or one of the similar widgets?

1 Like

Hrm. Good catch. That’s where I was going with it, but it looks like I never finished.

Try this widget (and download the TinyQBN JavaScript again, because I pushed a fix to QBN.passageAvailable):

<<widget linkmaybe>>\
<<if QBN.passageAvailable($args[0])>>[[$args[0]]]<<else>>$args[0]<</if>>
Full example: click the Increase Strength link twice.
Card Covers Linking to Contents

:: StoryData
{"ifid": "1FB0D1F9-DACC-4A5B-8258-31F30A88CDAD"}

<<set $strength to 1>>


Strength: $strength

<<link "Increase Strength" "Start">><<set $strength to $strength + 1>><</link>>

<<includeall `` "coverbox">>

::LinkIF [widget]
<<widget linkmaybe>>\
<<if QBN.passageAvailable($args[0])>>[[$args[0]]]<<else>>$args[0]<</if>>

::Card [sticky-card req-strength-ge-2 also-strength-ge-3]
<<card>><<linkmaybe "Card">><<contents>>Yay!! You are very strong!<</card>>

You have to specify the passage name for the card even though you’re already there, because SugarCube doesn’t track the passage name within passages added with <<include>> at all. It only tracks the top-level passage. Fixing that would require a major reworking of SugarCube’s parser, which I gather might happen somewhere down the line. But even then I don’t know if it will support this.

It would also be possible for me to rework the <<card>><<contents>><</card>> macro to have the whole cover be a link? But again, you’d have to specify the passage name. And there might be cases where people don’t want that, so…


Hmm… Looks like the full example section isn’t treating the twee code as a code block and some of the tags are getting lost, but I should be able to figure it out. Thanks for the clarification and example.

Oops, fixed. Forgot I had to put a code block inside the details tag.

I have yet to find an alternative that gives the same look and feel myself. What I am attempting to do with my minimal programming knowledge is to use Python to recreate some of the systems.

The release of Autumn Chen’s New Years Eve, 2019 to Spring Thing 2022 reminded me of Varytale and StoryNexus quite a bit. I don’t mind fiddling with custom macros in Twine, but it’s not exactly my thing. Dendry reminds me of a cross between Ink, Varytale and ChoiceScript, and thanks to Autumn’s version of Dendry, I’ve been able to install it and give the system a look.

1 Like

I’ve been getting more interested in Elm Story Engine - while it doesn’t have quite the same “look and feel” as Varytale or Storynexus or Dendry, it’s a QBN system that does some unique things, such as allowing one passage to link to multiple passages and choose one randomly or prefer specific ones based on weighted qualities.

1 Like

Dendry is actually a successor to varytale, created by the same person, who also created Undum I think. Right now it doesn’t have a deck based feature like Storynexus, but that’s something I want to implement for one of my future games…