renpy-graphviz

command module
v1.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2021 License: AGPL-3.0 Imports: 8 Imported by: 0

README

Ren'Py graph vizualiser

Go Reference Go Report Card GitHub Workflow Status

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

Tags

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

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!

Documentation

Overview

This package helps understand a Ren'Py source code by drawing a graph from the source code

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL