Rakugo-Dialogue-System icon indicating copy to clipboard operation
Rakugo-Dialogue-System copied to clipboard

Inspired by Ren'Py, Rakugo is a project aiming to provide a way to make narrative-based games on Godot easily. Simplify your project, if it is a visual novel, point and click, RPG, interactive text ga...

Logo Rakugo

MIT License Join the Discord channel GitHub GitHub GitHub github-watchers GitHub GitHub

Inspired by Ren'Py, Rakugo is a project aiming to provide a way to make narrative-based games on Godot easily. Simplify your project, if it is a visual novel, point and click, RPG, interactive text game or many other styles and blends of styles.

Support this project here itch.io.

Showcase - Installation - Get Started - Documentation - Rakugo Addons - FAQ - Infos


Feature

  • Ren'Py like
  • Dialog system (say, choices, ask, jump)
  • Own script language
  • Save/Load system
  • Global variables and character's variables

Showcase

Examples

Check our project RakuDialogUi to see examples of uses. You can copy them to yours projects too !

Games

If your game uses Rakugo, tell us on Discord.

Installation

To install Rakugo plugin, download it as a ZIP archive. Extract the addons/Rakugo folder into your project folder. Then, enable the plugin in project settings and restart Godot-Engine.

If you want to know more about installing plugins you can read the godot official documentation page.

Get Started

  • Create a scene with a Node and script on it

Basic GdScript (Node.gd) :

extends Node

const file_path = "res://Timeline.rk"

func _ready():
  Rakugo.connect("say", self, "_on_say")
  Rakugo.connect("step", self, "_on_step")
  
  Rakugo.parse_and_execute_script(file_path)
  
func _on_say(character:Dictionary, text:String):
  prints("say", character.get("name", ""), text)
  
func _on_step():
  prints("Press 'Enter' to continue...")
  
func _process(delta):
  if Rakugo.is_waiting_step() and Input.is_action_just_pressed("ui_accept"):
    Rakugo.do_step()
  • Create your first RakuScript (text file) "Timeline.rk" at root of your project folder (res://)

Basic RkScript (Timeline.rk) :

character Gd "Godot"
Gd "Hello, world !"
Gd "I'm <Gd.name> !"
  • Run Scene (F6)

Documentation

Go to https://rakugoteam.github.io/rakugo-docs/ !

Rakugo Addons

Rakugo Kits

FAQ:

Q: So it's about adding a dialogue system to the engine?

A: Yes

Q: How does the project works ?

A: By signals and methods from a singleton (autoload) called Rakugo.

Q: Is it easy to use ?

A: Yes

Infos

If you want to help please write to us on our Discord.