Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
Narrat is an open source narrative game engine I have been working on as a side project. It is inspired by games like Disco Elysium to create a similar layout where interactible visuals are on one side while the dialogue is on the other side. Most visual novels are based on dialog boxes overlayed on top of images, but I find this less readable. When Disco Elysium was released I was impressed with how nice it feels to read text in a more vertical format that feels like reading a book and where you can see previous dialogue for context.
On the tech side, narrat is mostly inspired by ren'py and uses the same scripting syntax as its base. Ren'py itself uses a scripting syntax based on Python, but narrat is an engine written in TypeScript, so I had to implement a custom parser for the python-like syntax. The advantage of having a homemade language and parser is that I can deviate from ren'py syntax and create my own language syntax with whatever features I want.
Narrat is built for the web and desktop and made in TypeScript, uses Vue.js for the UI. The dialogue UI is entirely in HTML/CSS (which should make it a lot more accessible than most graphics-based game engines), and the interactive screens are made in canvas (for now with very simple hardcoded canvas code and no library, as it has no fancy needs yet).