Skip to content

v1.0.0 - GDrama for Godot 4

Compare
Choose a tag to compare
@moraguma moraguma released this 26 Nov 14:53
· 25 commits to main since this release

Hey! This is the first public release of GDrama - a framework for writing cutscenes in Godot 4. This version includes...

GDrama

Language

GDrama has a custom language for writing cutscenes in a screenplay-like format. It supports dialogues, actor names, choices, animation calls, and allows the creation of custom commands depending on the needs of the project. In terms of integration with Godot, it includes a syntax highlighter so GDrama files can be edited in Godot's built-in editor as well as a custom importer so they can be used by Godot as resources

Classes

This release includes a couple of classes that can be used to read and display cutscenes written in GDrama

  • DramaReader: Reads a drama line by line, handling branching logic. Can be extended to add custom branching logic and get information mid-cutscene, useful for stuff like displaying a player's custom name or the number of collectibles they have
  • DramaAnimator: Given a drama line, animates it letter by letter. Can be extended to add custom animation commands.
  • DramaPlayer: Combines a DramaReader with a DramaAnimator, advancing through a drama and animating each line
  • DramaDisplay 2D/3D/Control: This node is meant to be used directly in a game. Can display dialogue and animation calls. In the provided example, is used to build a dialogue bubble and to call animations in the character associated with it
  • DramaInterface 2D/3D: This node is meant to be used directly in a game. Can create an interface between regular gameplay and a specific cutscene. In the provided example, is used to create an area for the player to interact with a character

Example

This release comes with an example that shows a little of what can be done with GDrama. It can be played online here or explored in Godot's editor to understand how to use GDrama in practice

Known issues

  • GDrama files may need to be reimported manually in Godot's import menu before they update in-game
  • The player may get stuck on some geometry if they interact with a character in the example the wrong way

That's it! If you have any trouble using GDrama or want to ask any questions, please feel free to open an issue in this repo so we can talk about it. Also, if you use GDrama for anything, feel free to share it here! Hope you enjoy :)
Moraguma

Full Changelog: https://github.com/moraguma/GDrama/commits/Release