Page 1 of 1

I'm considering buying Quest Machine and Love/Hate but I'm not completely sold.

Posted: Thu Aug 13, 2020 4:09 pm
by dwmitch
Quest Machine seems like it would keep me from reinventing the wheel and Love/Hate (I mention it here because I don't want to do a separate post with just a name swap and I didn't see any boards that weren't product specific) seems useful since my game is heavily based around interpersonal relationships, but I have some questions.

I have Dialogue System and it seems to have functions specifically for quests, and I've also looked over Quest Machine's description. What could I do with Quest Machine that I couldn't do with Dialogue System's functionality? And what does Love/Hate allow that wouldn't be possible with a couple of custom Lua functions and database variables in Dialogue System?

Re: I'm considering buying Quest Machine and Love/Hate but I'm not completely sold.

Posted: Thu Aug 13, 2020 4:56 pm
by Tony Li
Hi!

Here's the DS/QM feature comparison chart: Dialogue System - Quest Machine Feature Comparison

Briefly:
  • The Dialogue System has interactive branching conversations like in The Witcher. Quest Machine has simpler Accept/Decline windows like in World of Warcraft.
  • The Dialogue System uses a field-based editor to write quests. Quest Machine uses a node-based quest editor. (The Dialogue System’s node-based editor is for conversations.)
  • The Dialogue System handles hand-written quests. Quest Machine handles hand-written quests or procedurally-generated quests.
  • Quest Machine has some quest control features that make it a little easier to advance quests outside of conversations (e.g., during regular gameplay); but it’s still possible to advance quests outside of gameplay in the Dialogue System, too.
  • Quest Machine includes an integration package that allows it to use the Dialogue System to show branching conversations for Quest Machine quests.
Love/Hate is a different beast and works well with either or both. The Dialogue System has variables, and it even has some simple relationship-management functions. But Love/Hate provides a detailed emotion and relationship simulation based on the characters' personalities and their current emotional states and relationships to one another. It's all handled fairly automatically, too. You just report that a character committed a deed (e.g., using a built-in Lua function), and all Love/Hate characters who can witness the deed will judge it and update their emotion and relationship states. When characters run into each other, they can also "gossip" their memories of deeds they've previously witnessed or heard about, which allows deed information to spread organically.

Re: I'm considering buying Quest Machine and Love/Hate but I'm not completely sold.

Posted: Thu Aug 13, 2020 11:02 pm
by dwmitch
Tony Li wrote: Thu Aug 13, 2020 4:56 pm You just report that a character committed a deed (e.g., using a built-in Lua function), and all Love/Hate characters who can witness the deed will judge it and update their emotion and relationship states. When characters run into each other, they can also "gossip" their memories of deeds they've previously witnessed or heard about, which allows deed information to spread organically.
Does it work purely on line of sight or could it integrate with Dialogue System's quest system? For instance, let's say the mayor gives a quest to kill the tripoderos that have been eating the song birds in the area and shooting mud pellets at farmers. Naturally if a farmer or someone who would rather have the birds around sees you kill one it's going to improve their opinion of you while an animal rights activist would be offended, but would it be possible that if no one witnesses it the mayor could be notified when you turn the quest in and be the only one to know about it until the gossip system kicks in?

From what I understand of the gossip system it only spreads if the people interacting have a positive relationship. In theory it's possible that someone could overhear someone they hate talking about someone, so is it possible to set a chance for gossip to spread between characters who don't like each other?

And let's say winter rolls around in-game. The player can equip a sweatshirt that has +2 cold resistance, but it has an offensive phrase or image on it. Could I set a trait on the player while the shirt is equipped that agents could have a one time reaction to or would I have to broadcast a deed every frame while it's equipped? And if I have to broadcast every frame is it possible to make sure that agents who have already "seen" the shirt only have their opinion changed once?

Re: I'm considering buying Quest Machine and Love/Hate but I'm not completely sold.

Posted: Thu Aug 13, 2020 11:23 pm
by Tony Li
Hi,
dwmitch wrote: Thu Aug 13, 2020 11:02 pmDoes it work purely on line of sight or could it integrate with Dialogue System's quest system?
By default, you can configure it to work globally (everyone in the scene witnesses the deed), by distance (everyone within a certain radius witnesses), or by distance and line of sight. However, you can assign a delegate function to redefine how line of sight works. Love/Hate ships with a fairly robust example delegate script that models sharp forward vision, and less acute peripheral vision, using adjustable fields of view.
dwmitch wrote: Thu Aug 13, 2020 11:02 pm...would it be possible that if no one witnesses it the mayor could be notified when you turn the quest in and be the only one to know about it until the gossip system kicks in?
Yes, that's how it would work.
dwmitch wrote: Thu Aug 13, 2020 11:02 pmFrom what I understand of the gossip system it only spreads if the people interacting have a positive relationship. In theory it's possible that someone could overhear someone they hate talking about someone, so is it possible to set a chance for gossip to spread between characters who don't like each other?
In those cases, you can manually call the gossip method. Also, you can hook into an event when characters gossip. You could hook into the event and call the gossip method on all other characters within a certain radius of the gossipers.
dwmitch wrote: Thu Aug 13, 2020 11:02 pmAnd let's say winter rolls around in-game. The player can equip a sweatshirt that has +2 cold resistance, but it has an offensive phrase or image on it. Could I set a trait on the player while the shirt is equipped that agents could have a one time reaction to or would I have to broadcast a deed every frame while it's equipped? And if I have to broadcast every frame is it possible to make sure that agents who have already "seen" the shirt only have their opinion changed once?
Love/Hate's default functionality is to report discrete deeds (e.g., kicked a beggar, slew a dragon, etc.).

However, agents have memories. Whenever the player gets near an agent, the player (or his sweatshirt even) could check if the agent has the memory that it saw the sweatshirt. If the agent doesn't have the memory, it can report the deed to the agent.

Please feel free to try the evaluation versions of Love/Hate and/or Quest Machine. The evaluation download links are in the Description sections of their Asset Store pages. If you're trying them in a project that has the paid version of the Dialogue System, a note on the evaluation download pages explains how to get them all to work together.