Features
- Branching dialog
- Show dialog depending on previous choices
- Looping dialog: it is possible to repeat dialog by setting
next
dialog text to be itself
- Conditional dialog
- Show dialog and choices depending on in-game variables
- Display custom variables in dialog text using special characters
- Execute actions with dialog
- Easily shake screen, add and remove items from player inventory, and so on, all from the comfort of a single .json file
- Emit signals as needed to play animations, sounds, and anything else you think would be necessary during dialog
- Easily customizable
- Use of control nodes makes it easy to re-size, and use themes or textures of your choice to change the style of dialog
- Possible to use different styles of dialog depending on the speaker
- Beautiful sound and voice
? - Separate voices database allows you to easily change voice per dialog
- Typewriter style sound with simple modifications allows for a wide variety of sound with little effort
- Button sounds are satisfying and responsive
- Separate voices database allows you to easily change voice per dialog
- Animated character icons
- Uses RichText - compatable with BBCode for fun text styles
- Keyboard accessible
- All dialog actions are navigatable by keyboard - no mouse needed!
- Scalable
- Modifying dialog from a single .json file allows for dialog to be scalable to large sized games -- adding dialog takes no more effort than typing the dialog up (no game engine shenanigans needed!)
- Optional parameters makes it simple to use for small games too
Three examples of adding dialog to your game:
"robust_text_id" : {
"name": "Qin Tina",
"icon": "most_beautiful_being",
"voice": "sparkly",
"text": ["This is the most feature-rich dialog with choices you can make.",
"Don't you think this is so cool?!?"],
"choices": [
{"text" : "Agreed.", "next" : "text_id_if_agree", "action": ["show confetti"]},
{"text" : "Disagreed.", "next" : "text_id_if_disagree", "action": ["go to jail"],
"show_only_if": "player status insane"}
],
"action" : ["screen shake", "play_sound cheering"]
},
"conditional_text_id" : {
"text": ["You can move to the next dialog text depending on in-game variables."],
"next": [{"id": "text_id", "if": "already talked"},
{"id": "other_text_id", "if": "has 5 specific_items"},
"fallthrough_text_id"],
},
"simple_text_id": {
"text": ["This is the simplest dialog you can make."]
},