Code Monkey home page Code Monkey logo

Comments (8)

steffendx avatar steffendx commented on May 22, 2024

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!

from gonorth.

ArcticRaven avatar ArcticRaven commented on May 22, 2024

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.

from gonorth.

steffendx avatar steffendx commented on May 22, 2024

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.

from gonorth.

ArcticRaven avatar ArcticRaven commented on May 22, 2024

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.

from gonorth.

steffendx avatar steffendx commented on May 22, 2024

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?

from gonorth.

ArcticRaven avatar ArcticRaven commented on May 22, 2024

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.

from gonorth.

steffendx avatar steffendx commented on May 22, 2024

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?

from gonorth.

steffendx avatar steffendx commented on May 22, 2024

Closed due to inactivity.

from gonorth.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.