The visual editor is now live! (Also moving blog to new host)

At long last, after so many teasers, the visual editor for the Elm Narrative Engine is now live! You can use it right away at its new home on itch.io.

Features:

  • Cloud-based auto-save
  • Real-time collaboration with others
  • Live-preview for testing and debugging as you write
  • Auto-complete and syntax validation

The visual editor is the easiest way to write your stories in the Elm Narrative Engine authoring syntax and see them come to life.

With this addition, future blog posts will live at https://enegames.itch.io/elm-narrative-engine.

Read more...

Version 6.0.0 released with minor changes for rule triggers

I’ve just released a new version of the Elm Narrative Engine. This makes a minor change to the rules system to allow for non-entity rule triggers. In other words, you can now trigger rules by matching a specific string, or by using an entity matcher as before.

Why is this useful? It allows for more flexibility for triggering rules. For example, if you want to trigger a rule programatically, such as a “next-day” or “wait” rule, now you can. I am working on a game currently where I had that exact need, which is what prompted this change.

Read more...

Version 5.0.0 released with new authoring syntax and debug tools

I’ve been busy the last few months working on a game that I entered into last year’s IntroComp. This game is built with the Elm Narrative Engine, and I’ve been adding new tooling to make it easier to write and debug. The tooling has now stabilized, so I’ve moved it all over into the engine and released it as version 5.0.

Most notably, I’ve added an authoring syntax for describing the world model and for building queries and rules. I’ve also added syntax for dynamic narrative text. This new syntax is much nicer and intuitive to use than the Elm code equivalent that it gets parsed into, and also makes it possible to import all game content, rules, and narrative from an external source, like a spreadsheet.

I’ve added some more advanced queries for comparing entities, and a debug bar that uses the new syntax to easily search your world model see which rules are getting triggered as you test play your game.

You can play around with these new features in a live sandbox example, or clone the starter repo, or review the full API docs.

Details of the new features are below.

Read more...

Version 4.0.0 released - 400% more flexible, powerful, and embeddable

I am exited to announce that version 4.0.0 is officially released. This version includes huge changes and a lot of work to make the Elm Narrative Engine better than ever.

What’s changed?

Everything! All changes are geared towards making the engine way more flexible, powerful, and embeddable.

See the full docs. You can also experiment with a live example.

Read more...

Spring Thing 2019 postmortem - finding hope in "Darkness"

Two years ago I made a story game with the Elm Narrative Engine called “Darkness”. It was a small story, exploring some feelings around finding hope in dark times. I also wanted to see if I could make a Twine-like interface using my engine. This is something the Elm Narrative Engine was never designed for, but given the engine’s flexibility in the presentation layer, I thought it might be possible.

Read more...