A quick and easy showcase of a simple quest: https://youtu.be/71bphqqqoTg
A video tutorial on how to use the system is something that im working on. I want to show a complex quest without going too much out of the plugin scope so it require some time to design it, rather then actually recording it.
If you have any suggestions please write me.
This plugin let you design complex branching quests and dialogues in an easy and maintainable way thanks to the graph editor provided.
Everything has been carefully written to make it easy and accessible to everyone(I hope) without actually stripping functionalities from it. I have tested it for quite some time and should be bug free, however the plugin has many functionalities and can still have some issues I'm not aware of. Please report me anything you find.
There are many things that the plugin can do so I will list some of the most interesting stuff below:
There is an editor module that is designed to make your life easier while creating asset that the plugin use. Right clicking in the content browser show a new category named BranchingQuestSystem where you can create all the stuff the plugin use.
Quests can lead to different paths depending on the actions the player(or any other actor really) performed in the game.
You can assign events to all dialogue nodes in the graph in order to make something happen when that node is either entered/leaved, same goes for transitions between node.
You can make a player response selectable or not by assigning conditions to the graph transition. You can make responses have a prefix to the text, hide them if not available or show them as inactive.
The list of conditions you can add is pretty long and it's all in the documentation, if you want to execute something that is not included as condition, you can always create a custom object and run you logic there.
There are dialogue stats that can be leveled up, down and can have stat modifiers. Stat modifiers are either temporary or fixed(meaning that you have to disable them yourself). I called them dialogue stats, however they are in fact a semi complete stat system that can be used for virtually anything.
There are UI examples for dialogues and quest updates. For example when a quest is either started or updated a panel will show up with the quest information. You can queue multiples quest updates to it, meaning that if a quest is completed and another started at the same time the panel will show one information after the other instead of overriding the first one.
There is a dialogue tracker component that you can use to keep track of certain key dialogues to your gameplay. For example you could have a specific dialogue(you can have how many you want) trigger a different game ending, you can track that dialogue and when the game is about to end, get the information from the component about that dialogue and do whatever you want with it.
Everything, from quest activities to temporary stat modifiers to how many times a dialogue line has been said by someone, is saved and loaded by calling the Save/Load functions on the relative components.