Get Started!

The Tutorial
If this is your first time here and want to see what RenJS is all about, The Tutorial game will show you all about it. Play it to have a first look at how a RenJS game looks like, and learn the basics of the script language at the same time.

Play online

Examples Gallery
Learn by doing with this collection of examples that go from the basics of RenJS actions to adding new functions with the Plugin System. Play the examples online, check their code or download the examples package to execute locally.

Check the gallery

The Docs
All you want to know and more about how RenJS works. Find here how to setup the game from scratch, what each part of the configuration means and a detailed explanation of each and every Story Action.

Check the docs

Latest RenJS Library
If you already have RenJS up and running and want to keep up to date, download the latest version, or import it directly from the site.

Download Older Versions

RenJS GUI Builder
The GUI Builder is a desktop app to create Graphical User Interfaces for RenJS visually, by dragging and dropping the components.


RenJS Desktop Packager
With this app you can package your RenJS (and any other single-page HTML5 games) as a Desktop application for Windows and Linux.

Download Docs

Change Log

What's new, what's old and what's to come!

RenJS is constantly changing. To keep track of all new features and bugfixes, this little Change Log will keep a list of all the differences between versions, that you can also download from here.

2.9.3 Built on 07/12/2022
New Feature: Update loop plugins!

Now plugins accept a new handler called onUpdateLoop that will execute on every Phaser update loop. Adding code here will allow you to control things in real time, giving you more flexibility to code minigames and special effects!

There's also a new example in the gallery, Numbered Choices, showcasing a plugin to allow players to use the keyboard numbers to choose options.

2.8.0 Built on 22/04/2022
New Feature: Label Buttons!

Label Buttons take a backgrounds asset as any other button, and add a label on top. This label can change style according to the different states of a button: normal, on mouse over or when clicked, giving you a lot more possibilities to makes amazing GUIs. But most important, now choices are Label Buttons, so you can now use this style change for them too!

Another minor addition too is the property chosenStyle for choice elements. Before, if you wanted to clue your player on what paths they had previously used, the only option was to use chosenColor, that would tint the whole choice box. Now you can also change the style, such as changing the text color, using italics, etc.

Check the Docs to learn how to use the new configuration!

2.6.1 Built on 12/12/2021
New Feature: Screen reader accessibility (A11y)!

With this new feature RenJS games are more accessible than ever (for now!). The minimal setup doesn't require anything: The GUI and story elements will be automatically added to an accessible DOM layer on top of the game canvas in order to support keyboard navigation and screen-reading. The labels for the buttons and other GUI elements will be automatically guessed from their "binding" action.

If you want to go the extra mile, a new A11y YAML file can be defined where you can overload any of these labels, including labels for the visual choices and plugin calls. This is particularly convenient too paired off with the I18N feature, as you can define A11y files for each language your game is in.

Check the Docs to learn how to make the best of this new feature, and this example to see how it looks!

2.3.0 Built on 11/11/2021
  • Message boxes can now show character portraits!
  • Fixes lazyloading many bugs

2.2.4 Built on 03/11/2021
  • Choices can now have empty options. When the option is empty, the game will simply continue after the choice.
  • Fixed crash when doing wait for click
  • Fixed crash when hiding a background that didn't exist
  • Fixed text in namebox/choices showing weird for a few frames
  • Fixed image flicker bug
  • Fixed spritesheet animated ctc not working
  • Actions now know how to parse and execute themselves

2.1.1 Built on 14/09/2021
  • RenJS version string: RenJSGame.renjsversion
  • Character manager and Character entity completely revamped
  • Character setup property speechColour will soon be removed, use color instead

2.1.0 Built on 14/09/2021
  • New manual GUI.yaml format
  • New plugin handle onAction
  • Debug mode
  • Automatic breaklines
  • Hide all CGS on screen
  • Original manual GUI.yaml format

2.0.0 Built on 07/08/2021

Very old version, before the new gui integration. This version supports very old original GUI format and older GUI Builder format

Coming soon!

Coming soon!