Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic properties on node instances are really necessary? #12

Open
renatopp opened this issue Oct 13, 2015 · 3 comments
Open

Dynamic properties on node instances are really necessary? #12

renatopp opened this issue Oct 13, 2015 · 3 comments

Comments

@renatopp
Copy link
Member

renatopp commented Oct 13, 2015

So, there is a real need for dynamic properties on node instances? (i.e., user should be able to add or remove properties of any given node instance?). Seems irrelevant to me, if you want to add a property, just add onto the node definition. The same is valid for removing a property.

This would simplify a lot the properties panel.

Notice that, this is related to issue #6, so it is a high priority.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27362699-dynamic-properties-on-node-instances-are-really-necessary?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github).
@closeratio
Copy link

Based on our user's feedback from using this editor, it sounds as though they do find the dynamic properties pretty useful. An example of a downside (from our point of view) is something like the following:

  • You have a function, something like enemyWithinRadius, which takes some sort of radius parameter.
  • If you want to check this multiple times with different values (say 100, then 50, then 10, for different combat routines), you need a different custom node defined for each unique radius.
  • This may mean that the number of custom nodes used in a project could become pretty substantial, to the point where it may become difficult to manage. It also takes slightly longer to modify the properties when you're experimenting with the behaviors (which is a minor issue, to be fair).

Ultimately I think our users will still be happy to use the editor if it doesn't have dynamic properties, but it would be nice to be able to modify these properties directly for each node.

@renatopp
Copy link
Member Author

@closeratio, actually, I don't want to remove the ability to set the property values in node instances. I'm thinking in revoking the ability to add and remove custom properties in node instances. The user would still be able to configure which properties a node will have, but in instances only be able to change values.

For our libraries in javascript and python, which are pretty flexible languages, dynamic properties are ok. However, for languages like C++, dynamic props are not that easy to implement.

@closeratio
Copy link

Ah I see what you mean now @renatopp, sorry about that. That actually sounds really useful from our point of view, as it'll mean developers defining custom nodes can define the properties that are required, and the designers creating the trees can set and experiment with these values.

Sounds good!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants