VN HTML Narrat Game Engine for narrative RPGs

Bubbline

New Member
Jul 22, 2022
4
2
Hello,

I'm here to share the game engine I'm working on, which I've been told could be of interest to this community (as a few people are already using it to make lewd games). I'm on a new account, so I'm not allowed to post any link to it, though you can probably find it easily.

I'm actively developping the engine and adding new features fast, so I can often easily adapt and if someone needs something for their game, I try to add it as a configurable feature in the engine.

What is narrat
It's a game engine initially inspired by Disco Elysium in terms of layout and RPG features. That is, this engine has RPG features like skills, leveling, skill checks, inventory, quests as first-class features. That means you can use it to make visual novel type games or point and click adventures, but with deeper RPG elements.

Unlike most visual novel systems, this engine focuses on two separate panes: A viewport on the left with interactive screens, and a dialogue view on the right with all the dialogue happening. I find this much more engaging as a player and easier to read/pay attention to, but that's probably a matter of taste.

The engine is built with web technology and can export to the web, or to desktop (there is Steam support). Mobile support is there but currently being reworked, with plans to eventually hopefully support targeting native iOS/Android apps, if technically feasible. The mobile layout switches things to having the interactive screen at the top and the dialogue pane at the bottom.

A few people are currently using it to make their games including one released, one big project with a few tens of thousands of words, and one that has developped an impressive vertical slice demo in only a few days.

llrpg-5.jpg

Scripting

The engine has its own scripting language, initially inspired by ren'py but deviating from it to become its own thing with new features. I have recently worked on many improvements to the scripting language and it's now a real programming language that enables a lot of possibilities. For example I made a demo of a dungeon crawler RPG with turn-based combat on it, just to push the systems. It supports variables, branching, functions, and all the standard operation you'd expect a basic programming language to do.

The scripting machine supports many helpful commands (which are listed in the docs), and there is a powerful plugin system that can be used to extend the engine and add your own script keywords, if you need deep integration with the engine (for example, this has been used for a bitsy integration, and for the default Steam integration)

Screenshot 2022-07-22 093425.jpg

Other features screenshots

inventory.png


quests.png

skill-1.png

skill-2.png

skill-3.png
 
  • Like
Reactions: Toweke

Marzepain

Newbie
May 4, 2019
62
49
Sorry for the late reply, but Narrat looks promising.
The letterbox dialog view often used with Renpy is hard to read for me and I think a viewport with a dialog view is a better approach.

The dialog view is similar to text pane in Sunless Sea/Sunless Skies games by Failbeter done with their StoryNexus engine. A Quality-Based Narrative system making complex game making simpler by creating Storylets triggered by Quality values.
Do you have functionality to support Quality and Storylets in Narrat.
The quintessential articles on qualities are



As for branching narrative Ink by Inkle used for 80 days is popular, but I think your script is much easier to read. Inkle seems to have optimised the ease of writing and easy generation of parts of sentences making it quite dense at times.
Has Narrat functionality to generate parts of text by adding them together, inserting a variables in the text or calling a function that outputs a text that gets inserted into the text?

You created a dungeon crawler does that mean the engine has functionality that Multi User Dungeons (MUD's) also have like rooms, items and characters as first class citizens?
(A film screenplay format like Fountain Markdown dialect defines that functionality as Locations, Props and Characters to make things easier to read for actors, so I think those abstractions are quite natural.)