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

Are specialized Visual Script nodes engine bloat? #28080

Closed
Jummit opened this issue Apr 16, 2019 · 4 comments
Closed

Are specialized Visual Script nodes engine bloat? #28080

Jummit opened this issue Apr 16, 2019 · 4 comments
Labels

Comments

@Jummit
Copy link
Contributor

Jummit commented Apr 16, 2019

I see Visual Script as an opportunity for beginners who can't code to get into Godot. To ensure it is as easy as possible specialized nodes have to be considered. The Action node is a great example. You could either see it as user input made easy, or as engine bloat, as it can be easily replaced by a Input Engine Singleton -> Is Action Pressed. I would like a Random Vector2 / Vector3 node and many others to make things simpler. What is your oppinion / is there already a statement?

I could also see a library of custom nodes as an addon as a solution, as that doesn't increase the Godot file size. For that the custom nodes would have to be made more accessible though. They should appear in the node search for example.

@Jummit Jummit changed the title [Discussion] Are specialized Visual Script nodes engine bloat? Are specialized Visual Script nodes engine bloat? Apr 16, 2019
@Ace-Dragon
Copy link

Ace-Dragon commented Apr 16, 2019

The truth is, even though GDscript is far easier than learn compared to C# and especially compared to C++, there are people out there who are quite visually oriented and have trouble following the structure of a language that is typed.

The visual scripts allow them to visualize the flow of the logic, which helps them actually code games. Many will probably graduate to writing scripts anyway, but it depends on how their brains are wired on the spectrum of creative thinking vs. analytical thinking.


Personally though, I don't use the visual scripting nodes and prefer writing scripts. I do use the visual shading nodes though so I do see the value of them, at least outside of scripting. My opinion anyway, others may differ.

@slapin
Copy link
Contributor

slapin commented Apr 16, 2019

Well, there are also some "coding monkey" haters among designer folk who accept visual editing but not any text-based programming, even though visual tools are generally harder to use for large code. These people try to avoid text programming at all costs in their project considering "coderless" environment more healthy (even though they just delude themselves). But these people are still relatively big number among designers, so having tools in proper shape will attract peopla and make Godot more popular which is good thing.

@fire
Copy link
Member

fire commented Apr 16, 2019

We should support both "default" nodes which are encoded into c++ and libraries which can be fetched from the asset library.

@swarnimarun has made an addon for additional nodes.

If some nodes are popular, they should be converted from gdscript to c++ and made default.

@mhilbrunner
Copy link
Member

Every feature is engine bloat.
There is always a tradeoff between additional complexity and usefulness of the feature.
There is no universal answer to this question in general, as it depends on the specifics.

As outlined by reduz:

Philosophy to me should be that something should be part of the engine only if ALL the criteria below are met:

  1. It's used relatively often
  2. It's difficult to do yourself
  3. There is only one way to do this feature

So the current process it to open an issue or pull request to discuss a specific addition (whether a new VS node or another feature).

This could be your random vector node example.

This is then discussed by the core contributors and the community.

Does it fit the above criteria? Is there enough demand compared to the added complexity and maintenance burden?

If in doubt, just open a suggestion. To me, having a random vector node for Visual Script sounds useful.

Thanks! - I'll close this, as again, this is a very general questions without any productive answer without discussing specifics. :)

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

No branches or pull requests

6 participants