⚠️ Project is Stable, but still WIP, as it missing few features! ⚠️

Inspired by the Ren’Py and powered by Rakugo Project. This Godot’s project aiming to provide a way to make visual novels games easily.

Screenshot from “The Question” example

Screenshot

Features

UI game template for Visual Novel a’la Ren’Py

  • Main Menu
  • Pause Menu
  • Options
  • History
  • Save & Load (WIP)

Those are modified from RGT

  • Main Menu
  • Pause Menu
  • Options

History

History logs Say, Ask, Menu and Notify statements.

You can easy add your own stuff to history like this: VisualNovelKit.add_history_log(["tag", any_data]).

Then in scenes/PauseMenu/history_log_container.gd you add func to handel this tag and data.

Scripting dialogue langue inspired by Ren’Py

  • Rakugo Dialogue Script core
  • Notification support
  • Node translations support
  • Animations support
  • Audio support
  • Thanks to AdvancedText you can use Markdown, Ren’Py Markup or BBCode in dialogues and menus

Installation - What do you need to now - Info

Installation

If you want to create a new project with it

For now just download source code. Unpack it, than import and start to editing it in Godot Engine.

If you have already a project

For now just download source code. Unpack it to your project. If have your own UI that you want to use then you only need addons dir.

What do you need to know

“The Question” Demo

“The Question” is Demo/Example project using VisualNovelKit.

It is port of Ren’Py Demo/Example project “The Question” to VisualNovelKit.

Editing UI

All UI scenes and there code it in scenes dir.

Scripting dialogue langue

Rakugo Dialogue Script core

Notification support

You can display notification in UI:

notify "notification text" # display by 0.5s
notify 1 "long notification text" # display by 1s

Node translations

Add any Node2D, Control and Node3D to show group, then you can in rks script:

hide NodeName
show NodeName

# you don't need to add child nodes to `show` group if parent is
show NodeName ChildA # will show both NodeName and its child
show NodeName ChildB # will hide ChildA and show ChildB
hide NodeName ChildB # will only ChildB

# `at`, `scale`, `rotate` must be used with `show`

# `at` move node to new position 
at x, y, z # Z only if node is 3DNode
# `at` only for 2DNode/Control node
at x%, y% # procent of screen size
at top center # of screen, also: `left`, `right` and `bottom`

scale x, y, z # Z only if node is 3DNode
scale 2 # will scale Node to 2 in all axis

rotate angle # only for 2DNode/Control node
# rotate angle axis - only for 3DNode
rotate 45 forward

Animations support

Add any AnimationPlayer nodes to group anim, then you can in rks script:

play AnimationPlayer animation_name speed
pause AnimationPlayer
stop AnimationPlayer

Audio support

Add any AudioStreamPlayer nodes to audio group, then you can in rks script:

play AudioStreamPlayer speed
seek AudioStreamPlayer from
stop AudioStreamPlayer

Included Addons

Project Settings

  • Rakugo Game Template Project Settings
  • addons/rakugo/game_version - version of your game - displayed at right bottom corner of MainMenu
  • addons/rakugo/narrator_name - name displayed if you type say statement with out character tag
  • addons/rakugo/save_folder - obsolete as it now use SaveHelper from RGT
  • addons/rakugo/debug - obsolete
  • VisualNovelKit class has const and static funcs that easy to access setting below
  • addons/visual_novel_kit/default_markup_setting - path to default marku setting used by DialogueUI
  • addons/visual_novel_kit/at_predefind/center - default pos of screen center used by at in Vector2%
  • addons/visual_novel_kit/at_predefind/left - default pos of screen left used by at in Vector2%
  • addons/visual_novel_kit/at_predefind/right - default pos of screen right used by at in Vector2%
  • addons/visual_novel_kit/at_predefind/top - default pos of screen yop used by at in Vector2%
  • addons/visual_novel_kit/at_predefind/bottom - default pos of screen bottom used by at in Vector2%

Autoloads

Infos

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

Rakugo Team website: https://rakugoteam.github.io/