Narrat FAQ

What is narrat?

Narrat is a narrative RPG game engine for text-based games. It is built to work on the web, mobile and desktop. Narrat is made to be very beginner-friendly and require no game development or programming experience. It is very easy to get started with, and writing dialogue is done in an accessible format.

Narrat also comes with many common RPG features built-in like point and click gameplay, inventory, quests, achievements, skills and leveling, etc. Those features are very easy to use and customise for your game.

Is Narrat open source?

Yes, Narrat is completely open source

How do I get help fixing issues on narrat?

See the troubleshooting guide for narrat

You can also post in the forum’s help section to get help from the community.

Is there a Narrat community?

Yes, there is a forum and a Discord

What is the Narrat game jam?

The Narrat Game Jam is a regular game jam for games made with narrat. It gives you a chance to create a Narrat game in a month while other people in the community do the same.

What kind of games can I make with Narrat?

  • Narrative games
  • Text-based RPGs
  • Point and click adventures
  • Visual Novels
  • Interactive fiction

How can I stay informed about narrat news and releases?

I post on Mastodon and Twitter about news and releases, so the best way to stay informed is to follow the engine on Mastodon or Twitter. Here are the various social links:

Is Narrat ready to use?

Yes! It’s being used on multiple projects actively and has been battle-tested quite a bit

How do I get started with Narrat?

Getting started with Narrat is very easy and takes just a minute. See the getting started guide

What features does Narrat have?

Here are some of the features of narrat:

Features

All the features come out of the box and are super easy to set up with easy to edit settings files.

See more on the Documentation website

How much does Narrat cost?

Narrat is completely free to use and open source. You can use it for personal or commercial projects with no restrictions.

What is the license for Narrat?

Narrat is free and on MIT license, meaning you can use it freely for personal or commercial purposes with no restrictions.

Can I use Narrat for commercial game development?

Yes! Narrat is free and open source with no restrictions, on MIT License

What platforms does Narrat support?

Narrat supports web (html5 desktop or mobile) and desktop (Windows, Linux and MacOS).

Work is in progress to look at Xbox support.

Can I integrate my own artwork and assets into a Narrat game?

Yes, there are no limitations to what you can do. You are also free to use the assets, styling, css or code that come with Narrat in your game.

Does Narrat support localization and multiple languages?

Not yet, but it’s planned to come soon.

Can I monetize the games I create with Narrat?

Yes, you can monetize your games in any way you want. There are no restrictions on how you can use Narrat.

Is there a limit to the size or complexity of a game I can create with Narrat?

There is no known limit at the moment. One narrat game in progress (for which narrat was created) currently has more than 100,000 words in it, and many thousands lines of script. And it runs fine.

Can I extend the functionality of Narrat with plugins or custom code?

Yes! Narrat has a powerful plugin API that can do a lot of things.

Does Narrat provide built-in support for save/load functionality?

Yes. Saving and loading works seamlessly out of the box, there is nothing to do to set it up.

What are the system requirements for using Narrat?

Any computer running Windows, MacOS or Linux should be able to run Narrat without issues. All you need is to install node.js, and of course have a web browser for testing your game.

Can I use my own custom fonts in a Narrat game?

Yes, you can use any font you want. Because narrat is customised with CSS, you can use common methods of adding fonts to a web page to add fonts to a narrat game.

Can I publish my Narrat games on popular game distribution platforms?

You can publish your narrat game on any platform that accepts desktop or PC builds. For example:

  • itch.io
  • Steam
  • Epic Games Store
  • GOG
  • Humble Bundle

Are there any limitations on the number of characters or dialogue lines in a Narrat game?

There is no limitation.

Does Narrat support branching storylines and multiple endings?

Yes, narrat is built around supporting branching storylines and multiple endings very easily. See Choice function documentation

Can I create interactive choices and decision points in a Narrat game?

Yes. See Choice function documentation

How often is Narrat updated, and how can I stay informed about new releases?

Narrat is actively being worked on and updated frequently. The update system follows semantic versioning where patch and minor updates are released in a way that won’t cause disruptions to existing games, and big breaking changes are only released as major updates. I also often add features quickly when people request them, so don’t hesitate to ask on the forum or Discord if you need something.

I post on Mastodon and Twitter about news and releases, so the best way to stay informed is to follow the engine on Mastodon or Twitter. Here are the various social links:

Are there any tutorials or resources available to help me learn and master Narrat?

The documentation website is very complete and has a lot of guides, including the Getting Started guide that will help you get started with Narrat in just a few minutes.

Outside of that, there are example games, as well as some testing narrat scripts used for engine development or for the demo that contain a lot of example syntax.

Of course, you can also ask questions on the forum or Discord if you need help.

Does Narrat provide built-in support for audio and music in games?

Yes, audio is supported and easy to use out of the box in Narrat.

Can I integrate custom JavaScript code or external libraries into a Narrat game?

Yes, narrat projects are standard web projects and you’re able to change the code or build config of your game. You can also use the powerful plugin API to extend narrat with custom code.

This page contains the answers to various common narrat questions.

How do I troubleshoot errors?

If you have errors or need help, the troubleshooting page has a lot of useful info.

How do I add double quotes to my dialogue? It breaks the game

Because dialogue is already wrapped in double quotes in narrat, you need to “escape” double quotes used in your text, as the system thinks that you are closing the text. For example:

main:
  "Welcome to "the best game ever"! I hope you will like it" // [!code error]
  "Welcome to \"the best game ever\"! I hope you will like it" // [!code ++]

How do I change the splash screen, title screen or any other background?

Narrat UI customisation is done via CSS. In the case of splash screens and backgrounds, you can set them up by simply giving a css background-image property to the relevant element, as explained in the UI customisation guide.

You might want to also add that image to the images list in config.yaml to make sure it gets preloaded.

How do I separate text in paragraphs or add line endings?

Most text in narrat is used as html, which means you can use html tags to separate longer bits of text. For example you could add line breaks with <br /> or create paragraphs with <p>:

main:
  "Welcome to my game.<br />I hope you will like it.<p>Here's another paragraph</p>"

How do I make text bold, italic, strike-through, etc?

You can use html in narrat, so use the relevant html tags like <b>, <i> or <s>. Or, create custom css classes to do whatever styling you want and use them with a span tag:

main:
  "Welcome to <b>my game</b>.<br />I hope <i>you will like it</i>
  "<span class='red'>This text is red</span>"
.red {
  color: red;
}

How do I update narrat?

See the updating narrat guide

Change the version of narrat in the dependencies part of the package.json file to the version you want then run npm install. Or simply run npm install narrat@latest.

If it doesn’t work, try deleting the node_modules folder. Sometimes npm won’t pick up updates.


Narrat is released under MIT License
Copyright© 2021-present Liana Pigeot