steffendx / GoNorth

GoNorth is a story and content planning tool for RPGs and other open world games.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Enhancement] Additional Nodes

ArcticRaven opened this issue · comments

Looking to see if it would be possible to add more actions that are player oriented.

1: Player speak to NPC - enables the ability to view NPC data as well as get the outcome of the interaction, whether it be conversation, updating objectives, or quest completion.

2: Player Interact - enables the ability to target a location or item objective.

Additionally - It would be nice to have smarter Location, NPC, and Item nodes to be used in the Node editors as referencing objects/items/npcs feels overly nested and difficult to follow when replicating into non-importable sources.

Hi,

new actions are always great. I am just not sure I fully understand your suggestion yet. Would these actions be added in a quest? or in a dialog?

With player interact you mean pulling a lever for example? Do you think it makes sense to connect this with a map location?

Can you eleborate on the smarter locations? What are the main things that are complicated? Any ideas / suggestions on what a smarter node could look like?

Thanks for the feedback!

I think partially this stems from being inexperienced with the platform - I've only recently been playing with it so if there are other processes for doing things then please let me know!

I was building a quest just to bring players from the starting location to the first 2 npcs that they needed to speak to to the point where they would be able to select from the first set of quests. When establishing the first "objective" in this track - it would have been to locate the NPCs within 'x' location; however there are no reach location objectives or ability to reference objectives within the nodes. So I skipped ahead to see if the NPC had a setting I could use - but you can't just pull an npc into the map, you have to use either an action or condition to do so. However once you do that (I'm now chapter > detail panel > new quest > condition > npc) there was no clear way to go about pulling the choices and selections made within that npc all the way back to the quest level.

While nesting is cool and helps to make sure things make sense - too many nests becomes confusing. None of the options I have come across in this basic objective were directly for the players actions - but they were more focused on the events that happen around the player and sequencing everything else. In reality - its the player who chooses the direction that a quest or objective takes through their choices and direct approaches to every situation. The current system doesn't allow the flexibility to input what the player's inputs and interactions may be.

As for smarter nodes - I personally would like to see a node system similar to Unreal where you have the objective and then input the values for it. For example - If I have a "Speak to NPC" objective, I need an input for the player's interaction, a jumper for the NPC input, so we can traceback to which NPC(s) is/are involved with the interaction, then the ability to set the dialogues and potential outcomes.

A system like this (I feel) would be beneficial since it allows information to be accessed at all levels which still makes use of the "nesting" mechanics that GoNorth utilizes, while allowing information to be accessed at the highest relevant location.

=====

For the specific questions that you asked - these nodes should be available at all levels to allow users to build quests much more free-form and in a way that is intuitive for them.

Interactions can be far reaching in nature - and interaction can be with another player or npc, it can be interaction with a location or building, or it could be interactions with a specific item - such as the Holy Sword Excalibur.

In my personal opinion - a smarter nodes would probably be pretty ambitious for this resource - but In the concept of OOP - there would be 3 major node types - Actions, Nouns, and Conditions.

Smarter Nodes would build quests around the player's interactions with the Quest. The flow of the arrows of course still follows the directions the quest can take - but adding descriptor nodes that can be placed on these arrow would be good - essentially specialized text nodes.
Actions would be the Quest interactions - Player Objectives (Reach location, Interact here, etc.), NPC Objectives (Path here, NPC do this), and Scriptor Nodes (Spawn Enemy, Remove NPC, Unlock Door, Enable Objective, etc.)
Nouns would be nodes that jump to NPCs, Items, Locations, Etc. that have smarter references in the nodes.
And Conditions would be used to track the outcomes of multiple interactions or states of quests - ie open ended booleans that do not need to be nested, etc.

If I understand correctly you would also benefit from a generic linking to other npcs, items and so on as proposed in issue #48 ?
This way you could link to an Npc using this node and then add a description like "locate".

Your proposed smart nodes is an interesting approach, but at the moment it would require a lot of work to redesign it like this, which is why I would refrain from implementing something like this at this moment. But I will make sure to check out the Unreal Node System in more detail and in the future I might work on a redesign for the node system in general. Moving closer to something like Unreal will probably make it easier for new users which are expierenced in Unreal to use the system.

Now that I've re-read it, it does seem like issue #48 does speak a little of what I was looking to see just a different approach to it - I certainly agree that linking to NPCs via "jumpers" or similar would be vastly beneficial - but there is still the issue that the player interactions with quests seems to be lacking as well - so If nothing else then my request would be to add nodes to represent the players interactions within the quests better.

The interactions would be mainly the onces you specifed above right? So that you are able to add a player objective node and so on.

I will take a look into this in one of the upcoming releases, but will not be able to include something like this in the next release since I am currently in the step of finalizing it and these nodes would be a lot of work to implement.

In the meantime, would the text node already help you to notify the required steps in a more textual way?

That's how we are currently doing it - just adding text nodes with context in various locations to signify player objectives/interactions - though many interactions are player-based so lots of those text nodes.

I have implemented a reference node with the latest release.

Maybe this can already help you by linking to markers and so on and write the objective in the text?

Closed due to inactivity.