Quest machine vs Dialogue System

Announcements, support questions, and discussion for Quest Machine.
Post Reply
qest43
Posts: 33
Joined: Thu May 26, 2022 9:22 am

Quest machine vs Dialogue System

Post 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?
User avatar
Tony Li
Posts: 22099
Joined: Thu Jul 18, 2013 1:27 pm

Re: Quest machine vs Dialogue System

Post 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.
qest43
Posts: 33
Joined: Thu May 26, 2022 9:22 am

Re: Quest machine vs Dialogue System

Post 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.
User avatar
Tony Li
Posts: 22099
Joined: Thu Jul 18, 2013 1:27 pm

Re: Quest machine vs Dialogue System

Post 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.
qest43
Posts: 33
Joined: Thu May 26, 2022 9:22 am

Re: Quest machine vs Dialogue System

Post 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?
User avatar
Tony Li
Posts: 22099
Joined: Thu Jul 18, 2013 1:27 pm

Re: Quest machine vs Dialogue System

Post 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);
Post Reply