There is this nice open source repo https://github.com/Echsecutor/story_adventure with the Story Adventure Tools that I use to quickly make/play through graphical novels. The tools are a little like renpy, but way simpler. Just what I need for (non-linear) graphical novels. No real time adventures here. ;)
Jump into editing/viewing from the overview page:
https://echsecutor.github.io/story_adventure/
Editor
Using the web editor at
https://echsecutor.github.io/story_adventure/editor/#
you can generate your story from scratch or load an existing json.

Create some "sections", which will be the story screens, by writing some text (markdown) and adding a pic by just copy pasting the image (will be embedded base64 into the output json) or entering the url to your image (on civit? ;) )

Sections are linked by "choices". Actually no images here... that might be a bug in the editor view.

You can have plain choices without text. Those will just look like "->" next buttons in the editor. All the "non-linear" fuzz just means having more than one choice at a section. In this case, you better enter some text for your choice, or the buttons will look the same ;)
In the upper part of the editor, you see your whole story graph and can move it around. Click on a section or choice in order to edit it and e.g. add another choice to a section.

The same way, you can click on a choice an change its text.

You can hit "Save ... in one file" to download all referenced images and export everything into one large json. That is nicely self contained and works offline, but mind that might take a while to load all the data into the viewer.
The "Save as it is" is more likely what you want, preserving image links as urls.
Viewer
Using the viewer at
https://echsecutor.github.io/story_adventure/viewer/
you can load your json file and play through the story.

If you got your own webserver running somewhere you can dowload your story, all pics in a seperate folder and viewer in a zip ready to be extracted and served.

Alternatively, upload the stroy json anywhere and start the viewer with a load query parameter containing the url to the json file like
to jump right into the story.
Advanced Stuff
So, now how about this real time MMORPG...? :wink: Ok, this is still not renpy, but you can add a minimal bit of coding and dynamic stuff to the Story.
Variables
You can add variables to your story


and set an initial value

Then you can use the variable in your text anywhere like ${variable}

and the viewer will replace it by the variables (current) value.

While static variables are convenient for undecided story writers with poor memory (like me) who forget the names of their own characters and want to change them half way through the writing, variables become more fun when they are... variable. :wink:
You can add "Actions" to any section of the story like

and the viewer will start asking stupid questions when the user arrives at the section

which is a cheap trick to get the reader more involved ;)

You can also use variables to keep track of choices the user made, implement some HP system,... MMORPG incoming! ;)
Changing Choices
Most interestingly, you can add/remove choices and hence change the topology of your non-linear story as the user plays along, without having to duplicate huge parts of the story.

The editor UI here is a bit clumsy and it took me a while to figure this out, but hey, it's not stupid if it works!


