Comments (8)
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.
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.
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.
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.
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.
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.
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.
Closed due to inactivity.
from gonorth.
Related Issues (20)
- [Bug] Apostrophes not supported in choice nodes HOT 2
- Unsure how to enable Swagger UI / JSON when running from Docker HOT 4
- Can you customize action/condition list? HOT 1
- Blank screen HOT 2
- Feature: Autosave, save shortcut or local storage progress HOT 2
- Publish executable releases for installers and/or portable versions of the app (e.g., via GitHub Actions) HOT 2
- [Feature Request] Export a quest HOT 4
- [Feature Request] Hiding children nodes HOT 5
- [Feature Request] Map marker export with coordinates HOT 4
- [Mod help] All fields can have additionalScriptNames HOT 2
- Feature request: Being able to color notes on map views HOT 2
- Feature request: Export quests HOT 3
- JSON Export for NPC's HOT 7
- Feature Request: GoNorth Backup system HOT 3
- Feature Request: Ability to Export various modules all at once. HOT 1
- Feature Request: Export Scripts Settings - Import / Export HOT 1
- Dialog export: access npc object HOT 3
- Feature Request: Add ability to set custom fields on map npc markers HOT 1
- Feature Request - Tasks - Add ability to create and reorder statuses HOT 1
- Feature Request - Tasks - Match task width to category width HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gonorth.