May 24, 2026

More Variable Magic, Scoped Dialogues & More

journal

This release is mostly about scopes. Dialogues no longer have to sit on a single scene, variables can be bound to a scene, a chapter or the whole story and text fields can now pull values from variables directly.

There are also two new input actions: one for free text, one for picking from a set of choices. On top of that, stories, public author pages and asset packs are now browsable on the website.

Version: App: v0.16.0 - API: v0.17.2-ca2ea24f

Dialogues are no longer bound to Scenes

Do you know why it is important that dialogues are connected to scenes? No? Me neither. So I added scopes to dialogues. They can now be bound to a scene, a chapter or the whole story.

Scene dialogues are still the default and behave exactly like before. Chapter and story dialogues are the new parts. They are useful for phone calls that could happen anywhere or companion chats that do not belong to a single location.

The same dialogue in a rainy forest feels different than in a cozy inn. You can also show different dialogue options depending on the current scene through conditions, so the dialogue stays shared while the context still matters.

Dialogues can also have their own background now. For example, a phone overlay that does not replace the whole scene.

Stories, Authors & Asset Packs on the Website

Stories, Authors & Asset Packs on the Website

Stories are now part of the website and can be linked and browsed from outside the app. They are meant to act like a funnel for new players and creators similar to how Steam publishes games on its website.

Author pages are available too, as long as the author sets the profile to public in account settings. You can use it as a portfolio page for your Talescape stories and tell players a little bit about what you are making.

Asset packs are browsable now too, so creators and players can see what is in the library without opening the editor first.

New Action: Display Text Input

New Action: Display Text Input

Display Text Input asks the player a question and stores the answer in a variable. The obvious case is the player's name, but it also works for door codes, callsigns, passwords or anything else that needs to be stored in story state.

New Action: Display Choices

New Action: Display Choices

Display Choices is the sibling of Display Text Input. It shows the player a handful of buttons and stores the selected value in a variable. Use it for difficulty level, faction selection, a quick route choice or any moment that needs a clear value without spinning up a full dialogue. The player sees readable labels, the story stores whatever value you defined behind them.

Variables can now be used in Texts

Variables can now be used in Texts

Variables can now be used as placeholders in text fields. If a text field supports this, there is a parenthesis icon on top of it.

This is what makes small personal touches possible: the player's name, the number of collected items, a selected faction, a remembered answer or any other value that already uses a variable.

The same picker is also available wherever conditions and actions need a variable value, so you do not have to remember exact names or leave the editor flow.

Talescape can now do Math

Beginning with this release Talescape can do math. Well, basic algebra.

There is a new variable type called Calculated. Instead of holding a fixed value, it derives its value from an expression. The expression can use plain numbers or placeholders for other variables.

Supported operators are *, +, /, %, - and parentheses. Use it for damage after armor, a score made from several counters or a progress value pulled from collected items.

Variables now have Scopes

Stories with lots of variables can become messy very quickly, especially when all variables are global. In software development we call this "global namespace pollution" and it is generally seen as an anti pattern. In normal words: everything lives in the same drawer and eventually you cannot find anything anymore.

So I added scopes to variables. They can now be bound to a scene or chapter or the whole story. Story variables match the previous behaviour and still make sense for values that matter everywhere. Scene and chapter variables are for state that should stay local.

Examples:

  • Scene variable: tv has been switched on
  • Chapter variable: number of documents collected
  • Story variable: health, sanity, affection

Larger stories are easier to keep clean this way. Not every temporary switch needs to sit next to health, sanity or other core story state.

Minor Changes & Bugfixes

  • Added release type preview for stories that are still in development. Stories in preview will be visible in the store, but not purchasable yet. Think of it like creating a Steam page before going through the full release workflow.
  • Added another event scope: Story. This is for events that should be used for the whole story. For example, setting up health potions as increasing the player's health.
  • Optimized preloading logic and memory management for the Story Player.
  • Added Set Variable to Random Number. It sets a number variable to a pseudo random value between a minimum and a maximum value.
  • Added Disable Player Interactions and Enable Player Interactions. These actions can prevent player interactions during cutscenes, timed sequences or transitions.
  • More supported languages are unlocked. Stories can now be created in English, Deutsch, Francais, Italiano, Espanol, Portugues and Simplified Chinese.
  • Fixed an issue where filter values were not processed correctly.