Minos Dialogue Manager

A modular dialogue tool that supports any engine/framework that can read JSON files.Note, this is currently in an alpha state so it is not recommended for proper use yet. It will remain free until the full version is ready!


Docs

About

Minos Dialogue Manager is a modular dialogue tool that supports any engine/framework that can read JSON files. Easily expand the tool to fit your needs, no coding required!Easily create everything from branching dialogues to simple sign readings. It molds to fit your needs.


Compatibility

Since the file gets exported as a JSON file, any engine/framework that can read JSON files can support this tool.This includes but is not limited to Unity, Unreal, Godot, Gamemaker, Construct, Love2D, Pygame, SDL, Raylib and Monogame.


Get Started

Minos Dialogue Manager is available for Windows, Mac and Linux. Pay once to get access to everything including all future updates!Launching the program will create a fresh slate. You can start typing away your dialogue from here or if you want to load a previous file, go to File -> Open and select the file to load.Note that the tool CANNOT read the exported file, only the save file!From there it's time to create your dialogue! Here are some tips to get your started.The tool is built off of markers. Markers are indicated with the # symbol. They must be done at the start of the line. You can view the default marker section to view all built in markers (they include syntax highlighting) or for a custom marker check out the custom marker section.Each marker can have variables that start with the [# symbols and end with ] symbol. These give extra details about your marker for you to reference in game. Read about default markers or custom markers to learn more.Finally, each marker has it's data, which is what's written below the marker. For the dialogue marker this data represents the dialogue to play, while for an animation marker it represents the name of the animation.Once you're ready to save go to File -> Save and save your file! To export go to File -> Export.


Interface

1. File: Where you can save, load, export and create a new file
2. Insert: Don't want to type out the marker your looking for? No problem, just click on the insert button to get a list of all built in markers. Select what you want and it'll be replace the current line you have selected.
3. Docs: Open up the docs!
4. Bug: Help the tools development by reporting any bugs :)
5. Info: Check the tool version and my contact information


Default Markers

Green Markers
#Dialogue [#typeon = false]
The dialogue marker is used to mark dialogue. It's built-in variables include the type on, meant to set if you want the text to type onto the screen or appear automatically.
#Speaker
The speaker marker is used to mark the current speaker. It has no built-in variables.
#Portrait
The portrait marker is used to mark the current portrait. It has no built-in variables.
Blue Markers
#Choice
The choice marker is used to mark any choices you want the player to have. Each new line counts as a choice. It has no built-in variables.
#Random_Choice
The random choice marker is used to mark a list of choices for the NPC speaker to choose from randomly. It has no built-in variables.
#Text_Input
The text input marker is used to mark when you want the user to type something or interact in some way before continuing. It has no built-in variables.
Red Markers
#Animation [#await = false]
The animation marker is used to mark when an animation should be played. It's built-in variables include the await, meant to set if you want want to wait for the animation to finish before continuing.
#Wait
The wait marker is used to mark when you want nothing to happen for x seconds. It has no built-in variables.
#Call_Function
The call function marker is used to mark when you want to call a certain function. It has no built-in variables.
#Conditional
The conditional marker is used to mark when you want something to happen based on certain conditions. It has no built-in variables.
#Set_Local_Variable [#variableName = name] [#variableTy[e = string]
The set local variable marker is used to store variables only related to your dialogue file. It has two built-in variables including variable name to store the name of the variable and variable type to store the type of variable.
#Set_Game_Variable [#variableName = name] [#variableTy[e = string]
The set game variable marker is used to store variables only related to your game file. It has two built-in variables including variable name to store the name of the variable and variable type to store the type of variable.
Orange Markers
#Music [#stop = false]
The music marker is used to mark when music should be played/stopped. It's built-in variables include the stop, meant to mark if the music should be stopped or not.
#SFX
The sfx marker is used to mark when you want an sfx to play. It has no built-in variables.
#VO
The vo marker is used to mark when you want a voice over to play, normally used right after or before the dialogue marker. It has no built-in variables.
Pink Markers
#Label
The label marker is used to mark a section with a label. It has no built-in variables.
#Jump_To_Label
The jump to label marker is used to mark when to jump to another point in the file via the label marker. It has no built-in variables.
Non-Markers
//Comment
To leave yourself a comment, just include //.


Custom Markers

Making your own custom markers is easy! There's just three simple things to be aware of.Firstly, to initialize the marker, it must have a # before it and be at the start of the line. The name of the marker CANNOT have any spaces, if you want to indicate a space you can use _. This is the only mandatory step.Note that any custom markers will not have any type of syntax highlighting!To add variables to your marker, simple have it be on the same line, divided by a space and have it start with [#, write out the variable name, then put a =, then put the value and finally close it with a ]. If you did it right the syntax highlighting will match the way it looks in the default markers.Lastly, if there is data you need to track with the marker simply write any of the data in the liens below it. Any data written bellow it will be added to an array, each line representing a spot in the array until a new marker is found.


Exporting

Like stated above, the file is exported as a JSON for easy integration into almost any engine/framework. It's highly recommended that you take a look at the example file given, as it includes not only built in variables but also custom variables. Here is the file structure:- Each key in the dictionary is a number, starting at 1 with each number representing the next marker in the file.- Within each key is another dictionary with three keys.- The first key is "NODE_DATA" which is an array of all the data of the node. Remember that each line below a marker (that's either not empty or not a comment) will be included in this array.- The second key is "NODE_TYPE" which is a string that marks the type of node this is. The name matches that of the marker in the dialogue file.- The third key is "NODE_VARIABLES" which is a dictionary of the variables. Each key in said variable representing the first part of the variable aka the name, while the value is what the variable is set to.


Using In Engine

Here are some helpful resources for dealing with JSON files. If you're tool of choice doesn't appear here, a simple google search would get you your desired results.Note that engine/framework parser add-ons will be available in the future!Godot
Unity
Unreal
Construct
GameMaker Studio


License

You Can:
- Use this software to create files for your projects
- Publish the created files online (with credit given linking to this website)
- Make screenshots/videos of the software (reviews appreciated!)
You Can't:
- Sell this software or redistribute it in any way
Please respect creators rights to make money off of their products :)


Backlog

Bugs:
- Issues with saving multiple variables for node
- Issue seeing caret at all times
Features:
- Translation support
- Add ability to add default variables to markers
- Add suggestion support for custom markers
- Add highlight support to custom markers
- Add ability to have multiple files open at once for easy switching


Bug Reports and Feature Requests

Please report any bugs found (videos/photos help greatly!) or any features you'd like to see added!Please view the backlog first to see if the bug/feature has already been reported/requested.Note that the file type must be a zip folder.


Try Now

Thanks in advance for your support!