I wasn't expecting to write about Dialogue systems in Godot for this issue, and yet here we are.
The thing is, during the last couple of days, I found at least four different Godot dialogue systems related events, in the following order:
- Arrow: Game Narrative Design Tool - Reddit Announcement
- Emilio (the creator of Dialogic) showing a sneak peak of version 1.0
- Miziziziz asking for "Best Practices for dialogue in a game"
- And an in dept look at dialogue systems on a r/Godot post just a few hours ago
So, I decided to take a quick look at whatever there was to be found. Here, I'm assuming that if even someone like Miziziziz is asking about the topic, then clearly Godot doesn't have a default, go-to solution.
Now, even an uncultured swine like myself knows that there is a myriad of ways to make a dialogue system for your game, and your engine of choice will probably just leave that up to you instead of forcing a fixed way down your throat, so I'm not saying Godot is lacking an integrated system or anything around those lines.
Also, this will NOT be a post about the best way to make a dialogue system in Godot, but a small collection of the option you have at your disposal. Mainly the tools and plugins readily available for Godot devs. I'm not going to take into account external tools without a Godot module/plugin. This is not a general compendium of dialogue tools. for game development.
Let's start by getting the most basic part out of the way: Yes, you can just hardcode a system on Godot with ease. Shocking!.
Here's a nice little video for a "Text-Based Game in Godot". It doesn't even use a JSON file for the text. Everything is in the scripts.
For a JSON file based Dialogue, GDQuest has a couple of videos for their Open source RPG project:
🧰 But what about tools?
Working with dialogue like that is fine and all (and exactly what I do on my projects), but looking at the available tools sounds much more interesting.
The first one on the list, and the newest member of Godot Tools, is less than a week old.
Arrow is an independent tool made with Godot. It can export to Json and offers a "One-Click Playable Export"
Arrow is a handy, free, open-source and feature-rich tool to design game narrative, develop text-adventures, or create any other kind of nonlinear interactive storytelling document.
Gamefromscratch already made a video about it, in case you wanna take a better look at its capabilities.
My personal favorite and, I think, the most robust plugin on the list.
The plugin adds an editor for you to create pretty much any kind of conversation.
Create dialogs, characters and scenes to display conversations in your Godot games.
The editor is just awesome and very intuitive. You can get started as soon as the plugin is installed and activated.
LE Dialogue Editor is a standalone application, made with the Godot Engine, created with the main purpose to manage tiny but complex dialogues.
Made for small conversations between multiple characters, and not for "visual novels or story driven game with a non linear story"
Built with Godot, this one looks really good. I haven't use it, and never even heard of it until I started googling stuffs for this issue, but it certainly stands out above the rest.
The same developer has a Godot specific tool:
- Dialogue System 2 (Paid. $6.99)
It also looks great.
An advanced non-linear dialogue system for the free and open-source Godot engine, perfect for RPGs, Visual Novels, Adventure Games and more.
- Advanced Dialogue System - Plugin
Also never used this one, but I'm going to after finishing with this issue.
Enjoy this plugin for Godot 3.2. You can create beautiful dialogs for your games easy way with the integrated editor.
Made by another Godot dev with a Youtube channel, this system "is an addon which assists in the generation, organization, storage, and access of large amounts of text data for Godot Engine projects"
Created by Paulloz
When the plugin is properly loaded, you should be able to use the new ink panel to inspect your story.
- Twison to Godot and TwineStory: Twine addons for Godot
They allow you to parse Twine exported content, and use it on Godot. What more is there to say?
- Twison to Godot (Tested with Godot 3.1, but should work with later versions.)
- Twinestory (Only compatible with Godot 2.2+)
And that's that. I found a few others (example), but this are the main ones, and the best documented ones. But the point is clear as day: If you wanna make a text-heavy game, Godot can give unity a run for its money.
I'm going to spend my weekend testing some of the tools on this list.
📰 Godot news round-up
- Official - Release Candidate: Godot 3.2.4 RC 4
Godot 3.2.4 is going to be incredibly feature-packed, and we're taking the time necessary to ensure that it will also be stable. That's why we're releasing a fourth Release Candidate now, focused mostly on fixing issues reported against the previous RC 3. Thanks to all pre-release testers who help us find and debug regressions!
- Logo - The Godot Logo's Saga continues, but probably just as a fun thing from now on. Per Juan tweets:
In all seriousness, the current Godot logo was created to convey a friendly, welcoming and informal feeling, which is what the engine represents at heart. Our goal is to make the best engine you will ever use (having lots of fun along the way) and make sure it's as accessible as possible for everyone. We are not here to sell a professional product or make money from you. So, I hope you can accept and enjoy Godot for what it is.
So, no new official logo in the horizon. Not that this has stopped people from making them just for the hell of it:
- Official - godotengine.org now has a search bar in the news articles section
- Twitter announcement
- Extra - GDScript made it to The RedMonk Programming Language Rankings: January 2021
(Spoiler: Y = ~20, X = 50)
If you have anything you want to share with the Godot development community please let me know by sending an email to firstname.lastname@example.org