Ren'Py graph vizualiser

This is a tool written in Go that allows you to visualise the routes of your story.
Routes of the Question, the classic Ren'Py example
Doki Doki Litterature Club will no longer have secrets for you!
An extract from my personnal VN, Coalescence. You can't imagine handling a heavy VN like this one without graphic tools... (the labels aren't blurred on the real image)
How to use
- Download latest version
- Move the program in your game folder
- Run it from the command line
- you might have to give yourself the permissions: don't worry my program isn't a virus ! Run
chmod +x renpy-graphviz*
renpy-graphviz.png just appeared, enjoy !
Advanced usage
I made a tag system to enforce some behaviours. For example
label chapter_1: #renpy-graphviz: TITLE
Before tags, you must write renpy-graphviz to ensure there are no collision with existing words in your VN.
Here are the tags available
TITLE: set the current label style in the graph to a title
BREAK: breaks the current flow, for parallel labels for example
IGNORE: ignores the current label. Jumps to this label still exist
- ... more to come
Case, spaces and separators are handled just fine, don't worry about it.
TITLE
Set the current label style in the graph to a title
BREAK
IGNORE
Ignore the current line. If this is a jump to a label that isn't ignored, the label will still appear on the graph but not the arrow that should go towards it.
GAMEOVER
Set the current label style in the graph to a title
SKIPLINK
Limitations
This require your VN to be structured in a certain way, so it's possible that it isn't perfect for you. Feel free to raise an issue here, or to change your VN structure.
The program works only for scripts that do not stack call statement, i.e. the program expects a break statement before any other label/call if you used call to get there.
Works:
label start:
eileen "hello"
call second
eileen "I'm back"
# renpy-graphviz: BREAK <- recommended here but not mandatory, see Tags section
label second:
eileen "inside a CALL statement"
break <- works !!!
Does NOT work:
label start:
eileen "hello"
call second
eileen "I'm back"
# renpy-graphviz: BREAK <- recommended here but not mandatory, see Tags section
label second:
eileen "inside a CALL statement"
call / jump third_label <- Isn't taken into account !!!!
label third_label
LICENSE
This program is free and under the AGPLv3 license.
Beware, if you use this program, you must credit it somewhere on your game.
Used Renpy Graph Vizualiser from EwenQuim
Enjoy!