Storyfall - a new IF authoring tool and publishing platform!

This is because they index at least some jams manually and seem to be having trouble managing the workload. My partner and I hosted a jam at the end of last year and it took a full month for them to index when previously it had taken a day. No idea what’s going on there but it’s very frustrating (and the staff is very rude about it if you ask on the Discord).

A quick note on accessibility here: In general I’d recommend doing research on accessibility standards instead of going off your gut feeling. As @ChanceOfFire said, blind users are already using their own screenreaders so adding TTS is not helpful from an accessibility perspective. If you want your tool to be accessible (and you should!) making sure games are easily navigable using a keyboard and all site elements come with proper Aria tags are your primarily concern. (And of course this is me speaking as a sighted person so I’m just talking about best practices – ideally, you will want to get some dedicated screenreader users to give you tips and feedback.)

My understanding is that the blind community does see AI generated image captions as a positive (since so many people forget to add them otherwise) but in general you’ll want to consult a design resource put out by the affected community to see what AI features could actually be helpful from an accessibility standpoint.

5 Likes

Yeah I’d love to get actual feedback from a screenreader user at some point. I do have aria labels for a lot of things and you can already use the keyboard to make choices (they’re numbered and you can just press a number key).

My narration feature adds a few nice-to-haves beyond what a screenreader can do. Writers can narrate character dialogue with different voices from the main text, which I think is much nicer than the monotone of a screenreader. This is doable both with manual voice recordings and TTS. So scenes can have actual conversations in them.

There’s also an audio input feature where after being presented with the scene narration and choices, you can just speak what you want to do next and it matches what you said to the choices available, and stops listening after you’ve said your choice (it detects silence following your speech) - or you can hold space to record your voice.

Besides accessibility, my hope is to have a completely hands-free experience that my kids can use to play IF since they can’t read yet - and they wouldn’t need to look at the screen even.

Again, I’d be hesitant to declare this without consulting some screenreader users first. Monotone or not, I understand most screenreaders can read text out much faster than is typical for a “narrative” experience and users are well practiced listening at these high speeds. Is that worth the trade-off? I can’t say, but I would caution against making statements like that without having either industry accessibility guidelines or testimonials from involved users.

(You also have to account that users may have to switch back and forth between the game audio and their screenreaders to navigate the rest of the game, which sounds difficult from a user experience perspective.)

4 Likes

@Encorm probably talked about accessibility better than I could.

It seems that people aren’t very against it… and CoG/HG does allow gen AI translations.

That said, a word of warning that depending on AI to translate all your games without human oversight can be risky. Stories and language do contain certain… nuances… which AI might miss when working on a translation.

4 Likes

Semantic HTML should have more design attention that Aria, if you weren’t already aware. The former is handled by screen readers far better than the latter.

5 Likes

Yeah, my understanding of Aria tags is that they’re more of a fallback for want of correct semantic tagging, and that it’s better to tag correctly to start with.

For example, I built a documentation website using custom accordion elements and had to use javascript to manage aria-expanded tags to indicate open/closed state – it was all stupidly over complicated – and eventually ripped all that out and replaced it with native <details> elements, which are (according to the docs I read) already understood by screen readers.

I should offer the caveat that I’m a web developer, not a screen reader user, so my experience is technical/abstract, not from personal use, and may not match the actual experience of real screen reader users.

2 Likes

Storyfall’s narration feature is now live! I’ve put together a YouTube video tutorial to talk through it and demonstrate how it works. It’s my first video and I’m no public speaker, so apologies for any hemming and hawing.

As a bonus, you get to hear my somewhat-broken French at some point in the video! I’m curious if folks find these kinds of videos helpful, and if so, I can put together more tutorials showing other features in the editor and elsewhere.

1 Like

The video was excellent and Storyfall looks really intuitive to use. Great job. Also, I wouldn’t have guessed that it was your first video.

If you can get it to do a Morgan Freeman voice, I’d absolutely lose my shit.

2 Likes

Thanks! Do you think more tutorials would be useful?

Speaking of Morgan Freeman - one of the TTS providers I initially integrated with had both voice cloning and a large public library of voices, but when I read their privacy policy I was shocked. They collected all user voice data, there was no opt-out, and they used users’ voices to train their models! I scrapped that and switched providers to one with a much better privacy policy - no user data collection for training of any kind.

Maybe in the future there’ll be a good option for a privacy-respecting TTS provider that also has all the cutting edge features, we’ll see!

6 Likes

Absolutely.

I wish more game engines would showcase features with a video. It allows someone to decide if the engine looks worthwhile or not without committing to learning the tool first and having to figure it out themselves… or worse, struggling to figure it out themselves.

You’re reducing the barrier for entry with potential authors. I think that’s just smart marketing.

4 Likes

I’ve added a tutorial that goes over the basics of creating and publishing a story. It’s not really a deep-dive on all the advanced features, just the basics. I plan to add more over the next few weeks!

Also, I’ve added a public roadmap with in-progress, requested, and done features. It’s only a couple of days old so the done section is just what’s been done since I added this feature.

If you have an account you can vote, add feature requests, or submit bug reports.

In terms of new features over the past few days, I’ve added searchable dropdowns when selecting variables, NPCs, and factions. This was a writer-requested feature - it helps with larger stories that have dozens or hundreds of variables so you’re not just scrolling forever.

I also added system-tracked scene and choice visits (as counts, not booleans). So instead of creating a variable to track that a player visited a particular scene or made a choice, you just select from that scene or choice in the editor. This should reduce the number of variables needed dramatically. Now you can render conditional text like:

“You carefully opened the door to the tavern.” on the first visit, and on subsequent visits skip that.

Perhaps if a player visits the tavern more than three times, the bartender can say “You’re becoming a regular here!” - all without needing to manually track this.

6 Likes

Great job on the tutorial. Very approachable format. I feel like I know more about Storyfall in 15 minutes than I could ever learn on my own in the same amount of time. Plus, it now occupies my headspace more so than before. Very effective advertising. :wink:

The passion is evident. Humble beginnings. Keep at it, man. :slight_smile:

1 Like

Thank you! I appreciate the kind words.

I’m pretty excited to announce I just released a code editor for Storyfall! You can click the “Code Editor” button in the bottom right of a scene and you end up in an IDE.

I’ve changed my mind on this - I used to think needing a code editor was a sign that Storyfall’s UI wasn’t intuitive enough, but I think past a certain level of scale and complexity this isn’t true. For instance, one writer is currently making a game with a complicated combat system with chance-based events, rolls, etc. with 10+ effects on some choices. There’s only so much I can do to optimize the UI, at some point it’s just hard to manage and there’s a lot of clicking involved.

With the code editor it’s easy to write or change these, or even copy & paste them into other choices, quickly moving things around, something you would have had to manually re-create in the UI.

In the IDE you get syntax highlighting, errors if your code is invalid, as well as an examples panel on the right with various snippets (which you can collapse).

Of course, the editor will respect your dark/light and theme preferences from the main site, so there’s several theme variations.

If you start typing, you’ll get auto-suggestions of what goes next. For instance, if you’re defining where a choice goes and you type goes to “ you’ll see a list of all your scenes. Just start typing to narrow it down. If you haven’t named a scene, you’ll see the first few words truncated from it.

Type goes to new and it will auto-create a new scene for you. From here you can name and rename it, and the scene becomes clickable. Click it and you go to that scene in the code editor.

On the left there’s a sidebar reminiscent of a file explorer, only you click between scenes, not files. From here you can also rename scenes and create new scenes. There’s also a variables definitions panel where you can add, delete, modify variables, or drag them into folders for organization (just like in the UI). Eventually I’ll extend that to where you can modify global triggers, NPC and faction definitions, etc.

At any point you can exit out of the code editor and you’ll end up on the same scene in the visual editor - the two stay in sync as you move around and make changes.

If you want to edit just a choice in the code editor, you can get to there from the choice effects menu, in which case the code editor will be narrowly scoped to just altering that choice and not the entire scene.

Note that the code editor is still in somewhat of a beta - Storyfall has a lot of features that the visual editor supports so building up full feature parity and ironing out the bugs in the code editor will take a while. The syntax is also subject to change. Right now it’s a combination of markdown, HTML-esque nodes, and some custom syntax to handle conditional variables, choices, etc.

Curious on any feedback folks have!

7 Likes

This is kinda overdue, but anyway, since I’m working on an experimental management game on the platform.

I recommend having a full code solution, where you can write everything in code on one page. As of now, if I want to jump from one scene to another, I need to flip a page.

Also, there is a NPC page and a faction page, but there should be a way to hide the menus if you don’t plan to have them. Each NPC/faction also has a visible relationship stat, and it doesn’t seem possible to disable this if you don’t want a relationship meter.

I might have missed this, but is it possible to change the value of the variable within a scene rather than at a choice? Can I assign a random value to a variable at any time? I will speak bluntly, if no, this will be a huge impediment to making a stat based IF. (I am seriously having difficulty making the pirate ship battle I was envisioning right now.)

Edit: Nevermind… I see the random function in the code editor.

Edit 2: Ok, I see that the code editor does choices as well… but the multiple page thing is still a bit tricky. It does make the choices a lot easier, which is a plus.

Anyway, that’s all for now. (Just offering some feedback. I hope I’m not sounding cranky.)

Sigh…:down_arrow:

2 Likes

Thanks for listening to feedback on this! I truly believe this is the best of both worlds for any system.

3 Likes

Thanks for the feedback! I’m excited to play your game :smiley:

So you’re talking about a version of the code editor in which you see every single scene and all choices on one big page, rather than each scene and its related choices and effects being in a separate “file”? I can implement this, though I wonder if there might be performance issues with larger games. We’ll see!

There’s currently a way to disable variables, NPCs, and factions all together from the game settings page, but not a way to individually disable them. Are you trying to hide them from the reader’s stats page? And yeah you’re right, the relationship meter is a built-in stat. Are you wanting to disable NPCs and factions entirely or still have them but hide the relationship meter?

Yes, this is possible. In the UI this would be in the variables panel. There’s a “Change on Entry” button. These effects get applied as soon as the scene loads.

And in the code editor this is in an on enter: block.

1 Like

Yep. I’m used to having notepad files with 10k+ words each.

I might have a game where I have NPCs but not factions, for example. Also, I want to have different factions in my game, but having a relationship meter for each is overkill. I could set it to a dummy value and just leave it there… but still seems weird.

This looks useful. I might give it a shot.

1 Like

FYI, the way this works in Tweego is that the user can break the code into separate files at will - so you can have everything in one file or break it up as you feel is necessary. Per-scene is a bit much for me but I do prefer to break things up into different files for different chapters (for more linear games) or to have a separate file handling the game logic (for more complicated things). No idea how easy/hard that would be to implement in StoryFall but I’ve found it to be convenient.

3 Likes

Yeah that makes sense. I think some of this is feasible to implement. I would probably create the notion of “folders” that group scenes together, and let writers drag scenes arbitrarily into folders. Folders themselves would then be clickable and show the code for all child scenes within it on a single page.

There’s already a chapter system so I could probably also just make “all scenes within this chapter” editable at once.

So there’d be four layers:

  1. Edit all code at once.
  2. Edit all scenes within a chapter at once.
  3. Edit arbitrarily grouped “folder” of scenes at once.
  4. Edit just one scene and its choices.
2 Likes

Introducing debug tools! While test playing a draft of your game, you can now access and change, on the fly, any variables you want. You can also skip ahead to any scene anywhere in the game (so you don’t have to click through to get to a certain point). You can run commands from a terminal like goto "Fireplace Scene" or choose 1 to pick a choice. You can also undo choices and go backwards, for example you can type undo 1 to undo just your last choice, or undo 3 to go back three, or set gold = 20 to change variables. Variables can also be changed from a UI.

If you find yourself going to a certain point in the game pretty often, you can save a reusable script that gets you there. For instance, your script could quickly go through chapter 1, setup a specific set of variables, and then start at the beginning of chapter 2.

A history tab lets you keep track of all the choices and variable changes along the way that led you to the current scene (and jump back to any one of them).

This should hopefully save a bunch of time while testing your story, especially with longer stories.

1 Like