Setting a jump target node from an instruction

Mon 15. Jul 2019, 10:24

Hi guys,

Can I do something like the following in an instruction node?
Code: Select all
setProp(getObj("Jmp_911DEBCC"), "targetNode", "Hub_251D5848");


If not here's what I'm trying to do:

Let's say I have 100 npc's, and there's a chunk of conversation data that is shared between them,
something like:
Q "Do you know when the sun is supposed to come up today?"
A "Yes 6 am" / "No"

So what I want to do, instead of repeating myself 100 times, is create a jump node to dialogue nodes that are repeated, and then jump back from whence i came.
To facilitate this process, I need to be able to return to the NPC that I jumped from, so what I want to do is before the jump, set the return destination.

also I saw this post which was semi-relevant but it had no response:
https://www.nevigo.com/forum/viewtopic. ... ump#p22339
Drowning Monkeys
 
Posts: 11
Joined: Wed 3. Apr 2019, 15:14

Re: Setting a jump target node from an instruction

Mon 15. Jul 2019, 13:58

Sadly I have no answer. Just posting, because I want to second that request. I'd like to have my quests in separate flows in order to have a better overview, so I'd like to jump from the dialogue flow into the quest flow and for example pass a "start quest" or "advance quest" flow fragment and return to the dialogue where I left off. That way I could have a neat overview over the flow of the quest even if it's advancement is made from a bunch of different dialogue flows. Does that make any sense?
JCDescy
 
Posts: 14
Joined: Tue 7. May 2019, 17:28

Re: Setting a jump target node from an instruction

Tue 16. Jul 2019, 11:29

Hi Drowning Monkeys,

no you can't change the flow like that via jump. In genreal you can't change connections at runtime (Jump is just a proxy connection).
But what you can do is reference to objects via template, maybe add a list of dialogues to a node containing all the general questions this npc could answer, and mix it with your flow. Or you could store the jump back id everytime you pass over a jump, and on the correct time you jump back to the stored node.

But this is something that must be done in your game, not in articy.

Hope that helps

Best regards

Nico
Nico Probst
Senior Software Engineer | Articy | LinkedIn
User avatar
[Articy] Nico Probst
Articy Staff
Articy Staff
 
Posts: 217
Joined: Wed 23. Nov 2011, 09:45
Location: Bochum

Re: Setting a jump target node from an instruction

Tue 16. Jul 2019, 11:30

Sadly I have no answer. Just posting, because I want to second that request. I'd like to have my quests in separate flows in order to have a better overview, so I'd like to jump from the dialogue flow into the quest flow and for example pass a "start quest" or "advance quest" flow fragment and return to the dialogue where I left off. That way I could have a neat overview over the flow of the quest even if it's advancement is made from a bunch of different dialogue flows. Does that make any sense?


This is very easy to do, but just not in the simulation mode in articy. It wasn't meant as a "from-start-to-finish" solution. In unit for example you would just set a new starton for your FlowPlayer.

Hope that helps

Best regards

Nico
Nico Probst
Senior Software Engineer | Articy | LinkedIn
User avatar
[Articy] Nico Probst
Articy Staff
Articy Staff
 
Posts: 217
Joined: Wed 23. Nov 2011, 09:45
Location: Bochum

Re: Setting a jump target node from an instruction

Wed 17. Jul 2019, 12:52

Hi Nico,

This is kind of a massive problem for me. Can you guys help me with a proper solution? Why would a connection not be modifiable?
Drowning Monkeys
 
Posts: 11
Joined: Wed 3. Apr 2019, 15:14

Re: Setting a jump target node from an instruction

Wed 17. Jul 2019, 13:21

Could you please elaborate what exactly the problem is. Because i don't see a reason to modify the flow in such a way inside articy:draft. For testing purposes you can just start from another node your simulation; Sure not ideal but again, changing a jump isn't a feature, because in engines you would do almost the same thing, changing the flow player to another node by hand if necessary.

Best regards

Nico
Nico Probst
Senior Software Engineer | Articy | LinkedIn
User avatar
[Articy] Nico Probst
Articy Staff
Articy Staff
 
Posts: 217
Joined: Wed 23. Nov 2011, 09:45
Location: Bochum

Re: Setting a jump target node from an instruction

Wed 17. Jul 2019, 14:08

For reference, think back to how the original Elder Scrolls (Arena) would handle dialogue. NPC's were like an encyclopedia. Those that were in the town you were asking questions about knew what you were asking. If you asked questions about something far away, they'd be clueless.

Let's say you have 1000 Encylopedia-NPC's, each setup as an entity in Articy. They might have unique information in their dialogue flow, but they also all reference the same dialogue flow for Encyclopedic information. Where something is located, or information about a person of relevance.

So the flow would look like this:
NPC ->
NPC's Unique Dialogue ->
Origin Conversation Hub ->
* Unique dialogue
* Encyclopedic jump point

Let's say you ask an encyclopedic question, and then you get your answers and want to come back to the origin hub. Do you see the issue now?

The only solution i can think of is to simply not allow unique dialogue.

Also this leads to another question - can you use 1 dialogue flow for many NPC's? How would that work if the dialogue node is set to a specific npc?
Drowning Monkeys
 
Posts: 11
Joined: Wed 3. Apr 2019, 15:14

Re: Setting a jump target node from an instruction

Wed 17. Jul 2019, 14:46

Thats what i meant when i said, the flow and the simulation mode is no "from start to finish" solution. Or in other words, you can't play a complex game fully in articy without some shortcuts or manual editing like setting the next node by hand.

One way to handle your exmaple could be to create small unconnected "encyclopedia dialogues", place them on the different npcs and build the question wheel at runtime utilizing this data. Or add those entries to the location
and query this data at runtime to give every npc in the current location this knowledge.

But its difficult to give a solution as different use cases have many intricacies and there is no general right or wrong way.
So i can only say: You can't build the flow in articy dynamically and have it dynamically executed inside the simulation mode. You can manipulate the flow with instructions, conditions and obviously branches. Everything else
is out of the scope of the articy flow and simulation mode and should be handled by using templates to store data and "jumping" via runtime.
For example in Maniac Manfred every combined item stores a dialogue node that is used when the user combined two different items. The simulation mode doesn't have a clue what combining items means, this can only be done in the engine. What the simulation mode can do, is test those atomic combined item dialogues.

Best regards

Nico
Nico Probst
Senior Software Engineer | Articy | LinkedIn
User avatar
[Articy] Nico Probst
Articy Staff
Articy Staff
 
Posts: 217
Joined: Wed 23. Nov 2011, 09:45
Location: Bochum

Re: Setting a jump target node from an instruction

Wed 17. Jul 2019, 14:52

Drowning Monkeys wrote:Also this leads to another question - can you use 1 dialogue flow for many NPC's? How would that work if the dialogue node is set to a specific npc?


Just create a generic NPC and use that one.

Untested: Regarding NPCs and encyclopedic flows you could probably add a feature with a list of start nodes of topics the character knows about. You probably couldn't test these in simulation mode inside articy with every single character, but you could retrieve them and jump to those topical nodes in your game engine. I think that's not a bad solution. As these parts are pretty generic you would not need to test them every time in simulation mode. Maybe even more simple regarding your example about location based knowledge, you could even just add a feature with one start node for the location this char knows about and have all location specific flows under one dialogue flow container. Thus you could test the whole local knowledge part in simulation mode and just add these in your game engine. You could even do that with other topics, e.g race specific, profession specific, class specific, gender specific, you name it. Sounds interesting. I might use that myself. Thanks for the inspiration. :-) Hope it helps you as well.

Edit: OK, Nico was a little quicker. ;-) But that's basically what I meant.
JCDescy
 
Posts: 14
Joined: Tue 7. May 2019, 17:28

Return to Technical Discussion

Who is online

Users browsing this forum: No registered users and 10 guests

Who We Are
Contact Us
Social Links