All Projects β†’ coppolaemilio β†’ Dialogic

coppolaemilio / Dialogic

Licence: mit
πŸ’¬ Create dialogs, characters and scenes to display conversations in your Godot games.

Projects that are alternatives of or similar to Dialogic

Cartographer
A GPU powered Terrain editor and renderer for Godot Engine
Stars: ✭ 216 (-47.83%)
Mutual labels:  godot, plugin, addon
Rakugo Archive
Framework (inspired by Ren'Py) for story driven games in Godot.
Stars: ✭ 291 (-29.71%)
Mutual labels:  game, godot, dialog
Godot Engine.file Editor
A Godot Engine addon that adds a File Editor for multiple file types editing. Create and Write plain text files, configuration files and csv files with custom visualizers and previews. Also supports file translations!
Stars: ✭ 70 (-83.09%)
Mutual labels:  godot, plugin, addon
Cathook
Training Software for the game Team Fortress 2
Stars: ✭ 256 (-38.16%)
Mutual labels:  game, plugin, addon
godot-trackball-camera
A short Godot addon that adds a TrackballCamera node without gimbal lock.
Stars: ✭ 22 (-94.69%)
Mutual labels:  addon, godot
babi tools
Augmentation scripts for the bAbI Dialog Tasks dataset
Stars: ✭ 14 (-96.62%)
Mutual labels:  dialogue, dialog
godot-engine.supabase
A lightweight addon which integrates Supabase APIs for Godot Engine out of the box.
Stars: ✭ 39 (-90.58%)
Mutual labels:  addon, godot
inkling
Limited Rust implementation of the Ink markup/scripting language for game narratives
Stars: ✭ 22 (-94.69%)
Mutual labels:  dialogue, dialog
Nlg Eval
Evaluation code for various unsupervised automated metrics for Natural Language Generation.
Stars: ✭ 822 (+98.55%)
Mutual labels:  dialogue, dialog
GodotRecorder
A simple addon to record frames of in-game footage.
Stars: ✭ 47 (-88.65%)
Mutual labels:  addon, godot
dialogue-datasets
collect the open dialog corpus and some useful data processing utils.
Stars: ✭ 24 (-94.2%)
Mutual labels:  dialogue, dialog
nativelib-cli
NativeLib is a plugin management system for Godot engine.
Stars: ✭ 19 (-95.41%)
Mutual labels:  addon, godot
Whiskers
A Visual Dialogue Editor made using the Godot Engine
Stars: ✭ 229 (-44.69%)
Mutual labels:  dialogue, godot
VisualNovelKit
Combo of addons + template to create narrative games in Godot inspired by Ren'Py
Stars: ✭ 78 (-81.16%)
Mutual labels:  addon, godot
Dialogue
Node based dialogue system
Stars: ✭ 207 (-50%)
Mutual labels:  dialogue, dialog
Texture-Fonts
Godot Plugin for creating custom Fonts from Textures
Stars: ✭ 59 (-85.75%)
Mutual labels:  addon, godot
Oh My Git
An interactive Git learning game!
Stars: ✭ 250 (-39.61%)
Mutual labels:  game, godot
Godot Android Admob Plugin
Android AdMob plugin for Godot Game Engine 3.2 or higher
Stars: ✭ 292 (-29.47%)
Mutual labels:  godot, plugin
Godot Kickstarter 2019
Create your Own Games with Godot, the Free Game Engine: sources from the January Kickstarter project from GDQuest
Stars: ✭ 194 (-53.14%)
Mutual labels:  game, godot
Cordova Plugin Nativeaudio
The low latency audio plugin is designed to enable low latency and polyphonic audio from Cordova/PhoneGap applications, using a very simple and basic API.
Stars: ✭ 220 (-46.86%)
Mutual labels:  game, plugin

Dialogic Release Candidate v1.0 Godot v3.2

Create dialogs, characters and scenes to display conversations in your Godot games.

Screenshot

⚠️ Under development! ⚠️

The plugin is not production ready, this means that it will not work in your game right now unless you know what you are doing. Make sure to follow the repo for the next update.


Changelog

πŸ†• v1.0 - WIP

  • When upgrading from 0.9 to the current version things might not work as expected
    • ⚠ PLEASE MAKE A BACKUP OF YOUR PROJECT BEFORE UPGRADING ⚠
    • Glossary variables will be lost
    • Glossary related events will not be loaded (If condition Event and Set Value Event)
    • The theme you made in the 0.9 theme editor will be lost. You will have to remake it.
  • New layout.
    • All editors in the same screen. Say goodbye to tabs!
    • You can now rename resources by double clicking them
    • New Settings panel for advanced properties
  • Character Editor
    • Set the scale of your character's portrait
    • Add offset to the portrait
  • Timeline Editor
    • New Theme event to change the theme in the middle of a timeline
    • Re-enabled the Scene Event
  • Theme Editor
    • You can now add multiple themes
    • New property: Box size set the width and height of the dialogue box in pixels
    • New property: Alignment you can now align the text displayed (Left, Center, Right)
  • Glossary was renamed to Definitions. I feel like Definitions cover both variables and lore a bit better.
  • Definitions
    • Only two types for now. Variables and Extra Information.
    • Case sensitive matching in the If Condition Event
  • The events now emit signals. Thank you Jesse Lieberg for your first contribution!
  • Re-added the auto color for character names in text messages

To view the full changelog click here.


FAQ

πŸ”· How can I install Dialogic?

To install a Dialogic, download it as a ZIP archive. All releases are listed here: https://github.com/coppolaemilio/dialogic/releases. Then extract the ZIP archive and move the addons/ folder it contains into your project folder.

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

You can also install Dialogic using the AssetLib tab in the editor, but the version here will not be the latest one available since it takes some time for it to be approved.

πŸ”· How can I make a dialog show up in game?

There are two ways of doing this; using gdscript or the scene editor.

Using the Dialogic class you can add dialogs from code easily:

var new_dialog = Dialogic.start('Your Timeline Name Here')
add_child(new_dialog)

And using the editor, you can drag and drop the scene located at /addons/dialogic/Dialog.tscn and set the current timeline via the inspector.

πŸ”· Why are the dialogs are not working when exporting my project?

When you export a project using Dialogic, you need to add *.json on the Resources tab (see the image below) and also make sure to copy the dialogic folder to the same place where the executable of your game is (again, see bottom right side of the image). Screenshot

πŸ”· Can I use Dialogic in one of my projects?

Yes, you can use Dialogic to make any kind of game (even commercial ones). The project is developed under the MIT License. Please remember to credit!

πŸ”· Why are you not using graph nodes?

When I started developing Dialogic I wanted to do it with graph nodes, but when I tried some of the existing solutions myself I found that they are not very useful for long conversations. Because of how the graph nodes are, the screen gets full of UI elements and it gets harder to follow. I also researched other tools for making Visual Novels (like TyranoBuilder and Visual Novel Maker) and they both work with a series of events flowing from top to bottom. I still haven't developed a complex game using both systems to tell which one is better but I don't want to break the conventions too much. If you want to use graph based editors you can try Levraut's LE Dialogue Editor or EXP Godot Dialog System.

πŸ”· The plugin is cool! Why is it not shipped with Godot?

I see a lot of people saying that the plugin should come with Godot, but I believe this should stay as a plugin since most of the people making games won't be using it. I'm flattered by your comments but this will remain a plugin :)

πŸ”· Can I use C# with Dialogic?

You probably can, but I have no idea how to πŸ˜“. If you know your way around C# and Godot please let me know! https://github.com/coppolaemilio/dialogic/issues/55


Source structure

/ (At the root level)

plugin.cgf - The required file to be recognized by Godot.

dialogic.gd - This is the script that loads the addon. Very minimal and should probably have more stuff? Not sure.

Dialog.tscn - Main scene containing the text bubble and all the required sub-nodes to display your timelines in-game. I left this file in the root node because it will be easier to find and drag-drop to an existing scene.

/Editor

EditorView.tscn - When you click on the Dialogic tab, this is the scene you see on the main editor panel. This contains all the sub editors and scripts needed for managing your data.

editor_view.gd - This is the code embedded in the EditorView.tscn. It handles the right click context menus, resource removing dialogs and file selectors.

/MasterTree - This is the Tree with all the resources. It handles many things like renaming, saving and several other aspects of resource management.

/TimelineEditor - Everything related to the timeline editor.

/ThemeEditor - Everything related to the theme editor.

/DefinitionEditor - Everything related to the definition editor.

/SettingsEditor - A very simple editor for changing how Dialogic behaves.

/Pieces - Inside this directory you have all the event nodes that populate the timeline editor. Each one has its own name and script. The name is important since it has to be instanced from the editor_view.gd when clicking on buttons of the same name.

/Pieces/Common - This is where some of the common element of the pieces are saved. Things like the Character Picker, the Portrait Picker or the Drag Controller are used in several event nodes, so I'm trying to make them easier to plug in to future events that might need them as well.

/CharacterEditor - Everything related to the character editor. This also contains the script PortraitEntry.gd and the scene PortraitEntry.tscn. When you add a new expression for one of your characters in the Character Editor this node/script will be instanced for handling the settings.

/Fonts

This directory contains the font files and the resources to load.

DefaultFont.tres - This is the default font used for dialog text such as buttons, names, and the main chat bubble.

GlossaryFont.tres - The default font for the small popup on hover. This is basically the same font but smaller because you know... Godot <3 Fonts

/Images

You shouldn't open this folder expecting it to be organized. Welcome to the world of mixed naming conventions and CaSiNgStYlEs.

All icons are .svg files so they can scale nicely. I tried reusing many of the default Godot icons, but instead of using the native ones I copy-pasted the svgs and run with it. I should probably replace them and make the custom one more in line with the rest of the editor.

/Images/background - Here you will find the default background images for the dialogs. More will come in the future.

/Images/portraits - Some placeholder images for an example project. I might delete these since I'll probably be hosting that somewhere else.

/Images/tutorials - Right now it only has one file, but every image created for warnings/tutorials/tips will be placed here. Hopefully.

/Images/Toolbar - It contains the icons for the toolbar in the main view.

/Nodes

ChoiceButton.tscn - This is the button created by Dialogic's options events. The node /Dialog.tscn will instance these when displaying the options to the user.

dialog_node.gd - The script associated with /Dialog.tscn. This contains all the logic behind the node and manages everything from timeline parsing, in-game signals and all the visual aspects of the dialog.

glossary_info.gd - Handles the logic behind the small popup that shows up when you hover the cursor on one of the highlighted words from the glossary inside a dialog. Part of this logic lives inside the dialog_node.gd script and should probably be moved here.

Portrait.tscn and Portrait.gd - Whenever you make a character join a scene, this is the node used for instancing and displaying an image in the screen. It also contains a few effects for fading in/out of a scene.


Credits

Code made by Emilio Coppola.

Contributors: Toen, Γ’scar, and more!

Documentation page generated using: https://documentation.page/ by Francisco Presencia

Placeholder images are from Toen's YouTube DF series:

Thank you to all my Patreons for making this possible!

  • Mike King
  • Allyson Ota
  • Buskmann12
  • David T. Baptiste
  • Francisco Lepe
  • Problematic Dave
  • Rienk Kroese
  • Tyler Dean Osborne
  • Gemma M. Rull
  • Alex Barton
  • Joe Constant
  • Kyncho
  • JDA
  • Chris Shove
  • Luke Peters
  • Wapiti
  • Noah Felt
  • Penny
  • Lukas Stranzl
  • Sl Tu
  • Garrett Guillotte
  • George Castro
  • GammaGames
  • Karl Anderson
  • A P
  • Rokatansky

Support me on Patreon https://www.patreon.com/coppolaemilio

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].