Page 1 of 1
Quest machine vs Dialogue System
Posted: Fri Oct 21, 2022 6:02 am
by qest43
I am using Dialogue System in complex metroidvania project, I will use also Ultimate Inventory System, I bought Quest Machine too, but I noticed Dialogue system have quest feature too. I didn't discovered all features of both yet but I think Dialogue System provides much simplified version of quest, I am not sure which one should I choose. I think quest machine gives more flexibility and opportunities for complex quest, when Dialogue System Quest can be used to more simpler games mostly based on text. Can I know your opinion?
Re: Quest machine vs Dialogue System
Posted: Fri Oct 21, 2022 8:04 am
by Tony Li
Hi,
Here's the
DS/QM Feature Comparison Chart.
If the Dialogue System's quest system has the features you need, you can use it for your current project. If you'd like to use the additional features that Quest Machine's quest system offers, use Quest Machine; it has Dialogue System integration.
Re: Quest machine vs Dialogue System
Posted: Fri Oct 21, 2022 5:20 pm
by qest43
Definitely DS Quests seems to be more simple but I have question about variables.
Let's say we have 2 quests.
Quest #1
Kill 5 rats
Quest #2
Kill 3 rats
Kill 5 Orcs
So we have one variable RatsKilled. But when we take Quest 2 during quest 1 then quest 2 will use already variable where we already counted x killed rats. Ofc I can create 2 variables for 2 quests, but when I will have 100 quests I will need to create 100 variables for it what will create HUGE MESS. Is there another solution for that? Does this problem exist also in Quest Machine or it is solved in another way?
Can I also increment DS Variable in script? And I didnt see any tutorial about quest journal using DS.
Re: Quest machine vs Dialogue System
Posted: Fri Oct 21, 2022 10:17 pm
by Tony Li
In Quest Machine, each quest has its own separate list of counters (variables).
In the Dialogue System, you can name your variables using "." like:
- Quest1.NumRatsKilled
- Quest2.NumRatsKilled
- Quest2.NumOrcsKilled
In the Dialogue Editor's Variables section, you can use the filter bar to show only variables containing "Quest1.", or select Menu > Use Foldouts to group Quest1's variables into a separate foldout from Quest2.
Re: Quest machine vs Dialogue System
Posted: Sat Oct 22, 2022 3:50 am
by qest43
Should I use for example 10 increment on destroy scripts on one object then if I have to change multiple variables?
Can I increment variables somehow in script to make it more custom/ in custom situations?
Re: Quest machine vs Dialogue System
Posted: Sat Oct 22, 2022 8:48 am
by Tony Li
Yes, you can increment DS variables in script. Example:
Code: Select all
int numRatsKilled = DialogueLua.GetVariable("Quest1.NumRatsKilled").asInt;
DialogueLua.SetVariable("Quest1.NumRatsKilled", numRatsKilled + 1);