Story text stays alongside its connected choices, without a Ready step. Hosts open timed voting, and a tie or no votes restarts the timer. Results stay visible for eight seconds and the host can hold them longer. The last result remains available, and new scenes scroll to the top.
Unlinked choices stay disabled
Choices without a destination remain visible during play but cannot receive votes. Connect a choice in the editor to make it playable.
More reliable live game updates
Players keep receiving scene and ending updates when a live refresh replaces a submitted form. Returning to a game also loads its current state instead of a cached screen.
Clearer game invitations
Game invitations give sign-in, account creation and guest play equal prominence. Choose how to join, with a Back link to return to the options and no main menu during joining.
Game settings together
Host role, public visibility and guest access now share one consistent Game settings section in the lobby.
Compact story headers on mobile
Story covers and details now sit side by side on smaller screens, leaving more room for the game below.
Join a game as a guest
Hosts can let friends join from an invitation with just a name. Guests can return in the same browser until they log out, and reports keep their name marked as Guest. Guest games stay separate from registered accounts.
Visual conditions for story passages
Select story text and choose Show when to add conditions without writing code. Keep passages together in one writing area, click their condition labels to edit rules, and test different values in the existing preview. Insert variables from a searchable toolbar picker.
Story beat milestones
Add named milestones to plan story beats, drag them into position and save them with your story.
Filter story issues by type
Narrow editor issues to missing scene text, missing estimated times, no choices, missing choice text or unconnected choices. Select several issue types to find nodes matching any of them. Combine them with search and assignee filters, and remove each using its tag.