Elm Story 0.4.0 — player input, passage expressions and the end of alpha

Greetings — 0.4.0 is now available. This release introduces two essential features and the end of the alpha stage for Elm Story. Stick around to the end for more information on Early Access coming late September/early October.

Player Input

In addition to the default Choice type, Passages now support a new Input type. This enables players to enter custom data during gameplay that can be used to deliver more unique story experiences.

To use this new feature, add a Passage from the Game Outline or Scene View. Next, right-click the Passage header or use the Component Properties panel to toggle between Choice and Input types. Finally, connect the Input Passage to an available Variable.

The Game Renderer will display appropriate UI for each supported Variable type: boolean, number and string.

Passage Expressions

Designers often need to reuse Passage content. To achieve this in older versions of Elm Story, Passages would need to be duplicated and maintained, breaking the fundamental development principle: Don't repeat yourself.

In 0.4.0, Passage Expressions are now supported in Passage content. To use Passage Expressions, right-click or double-click the Passage header to open the Passage View for content editing. Type an open curly brace and Elm Story will automatically format the inline text for entering an Expression.

Pressing tab inside an expression block will the move text cursor to the right and outside. In a future release, I'm planning to implement tab completion for Variable names (identifiers) to ensure this process limits interruption of writing flow as much as possible. Syntax highlighting is also planned.

Supported Expressions

The Game Renderer has a new tool for highlighting expressions and errors.

0.4.0 (Alpha M2) Release Notes


  • Player Input
  • Passage Expressions
  • Additional Game Renderer Dev Tools
    • Toggle expression highlighting
    • Toggle display of blocked choices
    • Live game state feedback for current and starting scene and passage; click component to open in Editor

Enhancements, fixes and etc.

  • Route conditions for strings and booleans now support inequality operator
  • Tab Content Toolbars support overflow menu
  • Game Outline: Title no longer overflows container
  • Variables: Title cell will no longer revert changes on blur
  • Component Properties: Improved component ID display
  • Import/export: Support 0.4.0 schema and upgrades from older versions
  • DB: Removing game will now properly remove associated variables
  • Warning messages are more visually consistent
  • Various bug fixes for Variables, Conditions and Effects
  • Game Renderer: Removed underline style from choice buttons

Alpha M1/M2 Stats

  • 237 tickets closed
  • 494 commits
  • 20,935 lines of code


This is an alpha release and there are bugs. Please report issues you encounter to our subreddit, r/ElmStoryGames.

Early Access

In late September/early October, I will release Elm Story 0.5.0 into Early Access.

My focus is publishing an open source, command line compiler for processing Elm Story story data into a fully playable game for the browser. The compiler will utilize a rewritten Game Renderer (with improved hot reloading) that will ship in 0.5.0. An exported stylesheet will be available to customize the compiled game presentation.

Once 0.5.0 is available, the basic game development loop, from design to publication, will be complete and ready!

In October, I will release additional roadmap info on Elm Story (leading up to 1.0) and Elm Story Cloud (ESC), a service for providing configurable in-app compilation, publication, hosting and community.

Support Elm Story

To help this project continue to thrive with full-time, active feature development and updates, consider a donation via Itch.io or become a monthly patron. Thank you! :)


Elm Story (Alpha M2) — Mac 78 MB
Version 0.4.0 Sep 08, 2021
Elm Story (Alpha M2) — Linux 78 MB
Version 0.4.0 Sep 08, 2021
Elm Story (Alpha M2) — Windows 58 MB
Version 0.4.0 Sep 08, 2021

Get Elm Story

Leave a comment

Log in with itch.io to leave a comment.