behavior3 / behavior3editor

An awesome online visual editor for Behavior3 (Behavior Trees Visual Editor)
MIT License
646 stars 264 forks source link

Dynamic properties on node instances are really necessary? #12

Open renatopp opened 9 years ago

renatopp commented 9 years ago

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 commented 9 years ago

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:

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 commented 9 years ago

@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 commented 9 years ago

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!