Hey there.
It’s a long time ago, that a small developer team announced “Elm Story” which was then cancelled and abandoned. Fortunately @JoshGrams was able to save a copy back then and still provides it via GitHhub. Many thanks for that!
I just wanted to let you know, that I took the legacy source code from GitHub and started to revive the tool with the help of Claude Code. But don’t be afraid, AI won’t be included in the tool itself. Claude only helps me continue the development. It needed already one day in total to update the libraries from very old ones to newer ones so it can run on current technology.
Since I’m not related to the original authors, I renamed the project to “Elm Story NG” for “Next Generation”.
And I’m constantly working on the tool to implement new features and optimize it.
What I won’t do is the cloud version which was initially planned. That also means that there won’t be a collaboration feature for now. But maybe I can find a solution.
My plan so far is, that I can provide an URL in the future where the tool can be run and worked with from within any browser, so you don’t need to download a compiled binary.
I’m working on Linux so I’m not able to provide signed Windows and macOS binaries. This is off the table. But as soon as it’ll run in the browser, you’ll get the same features.
I started from the source of version 0.7.1. It was already functional but had a lot of to-dos left.
This is the current state, where I am:
- Elm Story NG is working again with newer libraries
- performance in the composer was improved a lot
- a dedicated asset manager was added; all assets are imported and managed here
- you can select the type of the asset when importing:
- event image
- character mask
- object image
- story world cover
- audio
- a dedicated variable manager was added living in an extra dialog
- the UI size can be picked to make it larger or smaller
- the content editor got a distraction-free mode
- you can cut, copy, paste and duplicate nodes in the scene map
- the scene can be re-ordered with an auto layout button (can be undone as well)
- there’s an overview map of the story world where you can navigate through in the editor
- world objects and inventory:
- you can configure objects including images
- objects can be taken, used and combined with other objects
- the recipes can be freely configured; variables altered when something happens
- the player has an inventory displayed as a grid with icons
- title of an object is displayed as tool tip
- description will be shown in the stream
- you can combine or use objects here
- all text visible to the user can be translated to the story language (inventory, take, use …)
Yeah and the to-do list still have some open items like:
- load and save game
- character relationships (like object relations)
- scoped variables
- showing story world cover
- transitions
- custom background and colors
- animated images
- choice modals
- story world notifications
- inline choices
- and much more…
When I have something together, I’ll provide you with screenshots and further information.
For now I don’t know when you can lay your own hands on it since I’m working on it in my spare time. But I hope it will be soon.
Stay tuned.
Cheers,
Christian
2 Likes
Maybe I’ll share some first screens so far, so you get an idea of what I’m doing here.
Additionally to the screenshots, I’ve also managed to improve the performance of the editor tremendously. It’s currently very smooth.
The goal is also, to drop the executable completely and provide an in-browser editor. Since I’m only working on Linux, I’m not able to provide Windows and macOS downloads.
So the best option for me is to get everything run in the browser. This will just work, because overall the app is based on HTML, CSS and JavaScript, so this step is a smaller one.
And don’t mind the contents of the story you’ll see in the screens
. I’m not that good at story writing and that one is also just my testing ground for features/changes.
It’s now possible to set a background image, choose colors, type of the choices and transitions.
Variables can be scoped now and are all managed in a dedicated variable manager window.
There’s a storyworld overview map now
The object manager
A dedicated asset manager for all assets used in the games
Character relationships (subject to change/extend in the future)
Translate texts visible to the user to match the language of the story
That’s it for now. Some optimizations and fixes are left before I’ll put it out into the wild and the deployment as a web app obviously.
Edit: Oh I forgot to mention that in the story itself, you have an inventory now, can take and combine objects defined by the recipes in the object editor. Only 2 objects can be combined so to have a combination between 3 or more objects, you have to create intermediate objects like in the good old point-and-click adventures.
1 Like
So if anyone is interested, the to-do list is done and Elm Story NG is in a good shape for now.
I appreciate any recommendations, change requests or whatever. This is a fun project and should be seen as that.
I don’t want to make money with it. I’m just happy that I got it running again and extended it to match most of the to-dos by the original author and some ideas from me.
I’ve set up a landing page with further information, documentation a tutorial and a walkthrough of the included story which explains the basic mechanics a bit. It’s a very small and playable story but you’ll learn the core mechanics how the editor works.
I hope it’s useful for someone. I will create my story soon which was intended for a Geocache ;-).
Head over here:
There are also links with the source code and for the online editor which can run directly in your browser. Mind the browser limitations of storage. Safari, for example, will remove it after around 7 days if you don’t visit the page. So a studio and story worlds can get lost.
For this I would recommend generate the app for your machine locally so everything stays.
Unfortunately I can’t provide Windows and macOS binaries. I’m on Linux only!
Maybe someone else can provide this.
Cheers,
Christian
1 Like
So, some more improvements and additions found their way into the tool.
Also there’s now a Linux AppImage on the Github Release page if you don’t want to or can’t build it on your own: GitHub - Ravetracer/Elm-Story-NG: Elm Story NG is a cross-platform, desktop and web application for designing storyworlds, interactive fiction and visual novels. · GitHub
What has been added since last post?
- a graphical skin for the inventory
- a paperdoll image for wearable objects (which includes wearable objects
)
- you can define a dedicated variable as money / will be displayed on the bottom beside the story stream
- template expression have a variable picker now and inline guide for completing expressions
- custom colors and background images
- layout configuration (left, center, right)
- choice type config (list, row, modal)
- transitions (fade, slide, none)
- scene triggers for audio sound effects
- and more
Everything is documented on https://elm-story-ng.ravetracer.de
Have fun!
EDIT: Little addendum:
A windows setup is now also provided on the Github release page!
It will show the blue screen that your PC has protected you against using it, but you can click on “Run Anyway” to use the app.
Since I’m not a certified Windows developer (costs around $100-$400/year) it’s the only way I can ship Windows files for you.
1 Like