A scripting language for videogame interactive dialogs
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Matteo De Carlo 0fc4306dd9
move binary executable library in addon folder
2 weeks ago
gdialog_demo move binary executable library in addon folder 2 weeks ago
src extended Godot Characters 2 weeks ago
CMakeLists.txt move binary executable library in addon folder 2 weeks ago



A scripting language for videogame dialogs. Currently under heavy developement, anything can change, even the name.

It's a clean scripting language to write character dialogs inside videogame, as clean as I can make it anyway. The main interpreter is written in c++. It's tiny and generic, not specific to any game engine, but it's mainly aimed at working inside godot. It's turing complete (should be, I haven't really tested it).

This project is heavily inspired from Dialogic. In fact, many thanks to the Dialogic developers, since the godot part of the code and the assets are heavily copied from Dialogic.

Project structure

The folder structure of the project is composed as follows:

  • src/: cpp source code
  • gdialog_demo/: godot demo project
  • gdialog_demo/addons/gdialog/: support files for the project. They include the required scenes and default fonts and textures. If included in your project, all files must have the same path: <root_project>/addons/gdialog/
  • gdialog_demo/gdialog/: configuration files are found here
  • gdialog_demo/dialogs/: example dialogs scripts are found here

replace gdialog_demo with your root project if you want to integrate it into your own stuff.


It's as simple as it can be. 3 steps are required:

  • build with cmake (internet required, to automatically download godot-cpp library)
  • open the gdialog_demo project with the godot editor (for importing assets)
  • run the demo game

Building also produces a testparser binary which is completely godot free. The independent interpreter allows for quick testing of scripts and interpreter code.

CMake building

Not everyone is familiar with cmake and how to use it. Here is a quick reference for this project:

# enter the project folder
$ cd gdialog
# configure the builder (requires internet)
$ cmake -B build .
# build the project (replace 8 with your number of cores)
$ cmake --build build -j8

In case you would like the build folder to be named differently, it's quite easy. Just do:

$ cmake -B yourbuildfolder .
$ cmake --build yourbuildfolder -j8

Extra notes

This project can only be used with operating systems that allow programming, therefore it's not suitable for iOS. IANAL.