Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

I'm not particularly experienced with it. I used it in a mini-comp game once to gain experience with it, and I ended up embedding it into Twine's Sugarcube engine in order to get a proper UI and saving. But there were bugs in the ink.js saving code, so I submitted fixes for that. I wrote a little blog post about my initial impressions. My initial impressions still hold now. The language is a real workhorse language used in real games, which is good. It really shows in the versatility and practicality of the language. But its syntax is a mess. And I couldn't use it in other games I wanted to use it for because I really needed a primitive for choosing randomly from a bunch of events but with conditions on when the events were valid. I think that primitive is getting more common in simulation-style games, and those are the styles of games I lean towards making. Newlife uses it. I think storylets is based on the same idea, but I've never used StoryNexus, so I don't know. I've seen a YouTube GDC video from Valve where they mention using the same primitive in their games.

For more conventional dialog trees, I think it's great though. The Twine-derived languages just become too messy for more intricately scripted conversations with lots of choices.

Someone came by the AIF discord last year and tried to promote the dialog engine and Å-machine, which are Prolog-style langages, and they also seemed promising if a bit difficult to get started with. But I think they also lack the random events with conditions that are useful for simulation-style games. But you might find the design interesting.

In my gut, I think an interesting engine will be something based on storylets and chatGPT. Basically, you have little storylets with conditions on when they can fire and changes in the game state. And these storylets and gamestate are fed into chatGPT to generate text that reflect the change in game state. As you know, I'm currently interested in going in the opposite direction with board-game-style narrative games, so I haven't had the energy to really explore what's going on there though.

A lot of my same thoughts and opinions.

At base, for the kinds of needs most users will have, the language works great. It works great as an addition to other systems too. The more advanced syntax though is not only a mess but functionally broken and there's a lot of things that inexplicably cause either the IDE (Inky), the compiler or the runtime to hard crash. Told the devs about both a load of those and how to fix them, got ignored, decided it's not my problem. The shame is that I feel this could be basically narrative gold if they actually resolved a lot of the bugs and reworked the syntax. Heck, just... implement an array datatype.

For the best "up and coming" narrative engine I've seen in a while, I have to say, I'm impressed with the progress Narrat v2 made compared to the state in which Narrat started in. It's essentially Ren'py but stripped down of the VN bullshit and with a few neat pre-defined modules for narrative games. Also really good for beginners, but I think it's more possible to strike out into something more advanced using it.

ChatGPT I have no faith in, however.

Narrat v2 looks good. Using prefix notation for operators is an unusual choice that may inhibit adoption though. I'll keep a watch on it. It's good to have RenPy alternatives that can be played on the web.

Also, sorry for ditching you on the Discord. I think Discord is rate-limiting access to the site, so when I accessed it through a proxy, I was quickly kicked off once the limit was hit. I imagine I'll bump into you another time though.

Usually people can get over prefix notation fairly quickly once they realise that it's just more or less treating everything as a function. Main thing about it is that it's a lot faster for the computer compared to infix notation. It's why I use it myself. Postfix notation is even faster, but it does get a bit less easy for humans to follow and also it lacks certain formal qualities I like about prefix notation.

I'm not sure I'd say Narrat is a Ren'py alternative, I think it's aiming more for the Twine space but with its own twist on things.

That's fine.