Page 7 of 8

Re: articy instructions not converted into groups?

Posted: Sun Jun 16, 2024 4:04 pm
by _marc
I see, this is quite obvious...too bad! I'm trying to find a way around it, but it looks quite unsolvable.

I'll have to keep that in mind in articy and to change some nodes configuration because it's a pattern I use quite often.

Many thanks for your help on this topic and for your time!

Re: articy instructions not converted into groups?

Posted: Sun Jun 16, 2024 5:04 pm
by Tony Li
If a good approach occurs to you, let me know and I'll implement it.

Re: articy instructions not converted into groups?

Posted: Mon Jun 17, 2024 4:37 am
by _marc
Tony Li wrote: Sun Jun 16, 2024 5:04 pm If a good approach occurs to you, let me know and I'll implement it.
I will, thank you!

Just a last thing: I've found a case when group[10] is not disabled. Based on the same setup as my last example (no condition involved, just a high priority link):
2024-06-17.png
2024-06-17.png (146.49 KiB) Viewed 118 times
I just switched the links order, without changing the priority.

On the image on the left, it works as expected (group[10] disabled).
On the right, group[10] is not disabled, and if later on the path the dialogue system blocks on something, it tries to evaluate group[10] again (potential infinite loop, should not happen with linear mode).

Have a good day!

Re: articy instructions not converted into groups?

Posted: Mon Jun 17, 2024 8:33 am
by Tony Li
That's a bug. Consider it fixed in the next release.

Re: articy instructions not converted into groups?

Posted: Mon Jun 17, 2024 8:48 am
by _marc
Thank you. I've checked our previous example (with the random int), the same happens: the stack overflow exception is back when the "try again" group is not set to the last link.
Good luck! :|

Re: articy instructions not converted into groups?

Posted: Tue Jun 18, 2024 6:38 am
by _marc
Just sharing a few thoughts here for when you'll tackle our problem for the next release of the Dialogue System.
To get back to this example:
2024_06_13.png
2024_06_13.png (59.86 KiB) Viewed 83 times
I guess that if you fix this last bug, making all other sibling nodes disabled whatever-the-link-order, the piece of dialogue above won't work anymore.
Because if "try again" is played, groups [6] and [7] will be disabled and won't be re-evaluated after a new random int is generated.

To fix this issue, we could:

- always add manually a regular node in the loop. If I understand well, it will "reset" disabled nodes. Quite easy, but it increases the risk of error when authoring dialogues, if you forget this step.
- allow the dialogue system to ignore disabled sibling groups in the case of a voluntary return.

I don't know if it's something feasible. If not, I'll stick to the first workaround.

Re: articy instructions not converted into groups?

Posted: Tue Jun 18, 2024 1:39 pm
by Tony Li
I think the most common use case by far is this one:

Image

In this case, if the child group node [9] links to a group node [10] that its parent [4] also links to, when it gets to the child group node [9] it will unblock [10]. This is technically a special case, but it probably covers the majority of actual uses in practice.

Re: articy instructions not converted into groups?

Posted: Tue Jun 18, 2024 3:10 pm
by Tony Li
This is the latest update to group link evaluation if you want to give it a try:

DS_EvaluateGroupsPatch_2024-06-18.unitypackage

Re: articy instructions not converted into groups?

Posted: Wed Jun 19, 2024 4:17 am
by _marc
Hi Tony! What does the last update do? It doesn't seem to work, group[10] is played twice in my test scene :?

Re: articy instructions not converted into groups?

Posted: Wed Jun 19, 2024 10:09 am
by Tony Li
Hi,

In Linear Group Mode, when evaluation finds a link to a valid group node, it blocks all links to group nodes that appear later in the "Links To:" list and all links to lower priority group nodes even if they appear earlier in the "Links To:" list.

However, if the child group node ([9]) links to a group that the parent ([4]) also links to -- that is, [10] in the example above -- then it unblocks [10].