This post is a general update about a few things, so please read on.
Narrat 4
I have started a narrat-4 branch on git. The goal is to create a new version of narrat that can have breaking changes without worrying too much about backwards compatibility. Soon there will be a beta for narrat 4 which will be a version you can opt-in via npm. So you can either stay in 3.x, or move to 4.x.
I don’t have any major planned breaking changes yet, so the migration will still likely be easy even on existing projects. The main big changes at the moment will be:
- An updated narrat template (so there might be some manual work to change a few files in old games for example if you want Steam support)
- Requiring node.js 22+
- Possibly will use Tauri instead of Electron, or might provide both as a choice to the user (haven’t looked into it yet)
Feature Requests
I have created Feature Requests and Bug Tracking channels on Discord. Ideally I’d prefer those to stay on the forums, but a lot of people only use Discord, and Discord has the advantage of showing emoji reacts as an easy way to let people vote on things.
Right now a lot of discussion about feature requests or bugs is scattered across channels, so if you want something to be tracked, try to create a thread in those channels so that it’s easy to sort through requests and bugs.
You can also make forum threads here, but there isn’t any easy to use upvote functionality to track them in a list
Steam Integration
As you might have seen Lovely Lady RPG is out on Steam, as part of that I did a lot more work on the Narrat Steam integration to work well on all platforms including Steam Deck. Narrat now has:
- Much better gamepad support
- Steam cloud support
- Steam achievements support
- Steam Deck support
A lot of the required code for this lives in the game-side electron code, which isn’t in narrat iself but is part of the template. This is staying separate so that people keep control over how their game is built, but it means there will be some backporting required for everyone to get some of those changes.
So I will soon update the narrat template to have a similar setup so that new games can use it. Existing games could also reasonably compare their files with the new template to apply the same changes.
For now the setup relies on a lot of different build commands for all the platforms which is a bit tedious, so the plan is to later refactor that into a simpler interactive build script which asks what type of build you want to make and for what platform. This will probably be in narrat 4