It is suitable for interactive fiction such as "choose your own adventure" games and other kinds of text-based entertainment. It also works well as a base for straightforward prose garnished with images and sounds. It requires only a
novel.json file containing all the text, choices, items and so on, an
html file to display the novel/game and optionally a stylesheet (
skin.css), images and sounds.
Text adventures are often overlooked as something only game development beginners create, and Novel.js aims to fix this misconception. Interactive fiction combines the flexibility and possibilities that prose can offer with interactivity and reader choice – a type of entertainment I think has not yet been thoroughly explored. The popularity of visual novels demonstrates the possibilities the medium can offer!
Novel.js is written in CoffeeScript, HTML and SASS and has no dependencies (although Papa Parse is required for CSV support). It was born out of a need for a lightweight, easy-to-use but fully-featured text adventure system that could easily be embedded on a webpage. It is open source (MIT License) and free to use both commercially and non-commercially. A live demo is available, however it covers only a small part of all functionality!
You can use electron-noveljs-boilerplate with Novel.js to create standalone desktop applications. It requires a bit more technical knowledge than Novel.js itself.
Table of Contents
novel.jsoninto multiple files for easier management.
novel.jsonand by using external CSV files.
These features are planned or currently in development.
index.htmllocally does not work, as the browser cannot load
npm install novel-js.
index.htmlfile and add
<novel></novel>inside the body, or include the customizable HTML in it. Include the Novel.js (
http://localhost:8080/or use a web server of your choice.
Novel.js comes with a simple example app that demostrates all available features. Located in the
novel.json is easily readable and editable in your favourite text editor, so you can start working on your masterpiece right away! For a complete explanation of all the different stuff you can find in that file, please see the documentation!
See the separate documentation.
Novel.js is licensed under the MIT License. Copyright © Ville Talonpoika 2016