Is it? You make a generalization giving just one example: Unreal Blueprints. As somebody not familiar with game programming but familiar with critical thiking I am unconvinced.
It is extremely popular. From Flowgraph in CryEngine to Godot's VisualScript. Even Unity bought the most popular visual scripting asset package, Bolt, and made it standard for all Unity plans. You could also critically think your way to googling "game dev visual scripting" which would tell you much of the same information.
Ask HN: Why is visual programming so popular for game programming?
61–70 of 155 posts
Re: Ask HN: Why is visual programming so popular for game programming?
#62Earlier quoted context omitted.
I think you are only a huge fan of blueprints because they is no alternatives in Unreal. I think if you could compare an Unreal Lua integration to Blueprints you would reach for Lua every time. Everything you wrote is just as true for a well written text program, and untrue for badly written blueprint spaghetti!
There certainly are alternatives in Unreal. You can implement everything (and far more) in C++ without ever needing to use blueprints.
Re: Ask HN: Why is visual programming so popular for game programming?
#63Just because Unreal does it doesn’t mean it’s “popular”. I’m not familiar with any other game engine that has something like this as a first class feature. The reason blueprints exist in UE is because they needed a way to allow non-expert programmers on the team to write code that isn’t C++, but they didn’t want to use a high level scripting language like Lua. IIRC, Sweeney said (on Twitter) that in the past, it was…
Re: Ask HN: Why is visual programming so popular for game programming?
#64Earlier quoted context omitted.
I think you are only a huge fan of blueprints because they is no alternatives in Unreal. I think if you could compare an Unreal Lua integration to Blueprints you would reach for Lua every time. Everything you wrote is just as true for a well written text program, and untrue for badly written blueprint spaghetti!
We used to have UnrealScript and 9/10 our designers still reached for Kismet instead. Lua is great and I'm a huge proponent of it but different tools are meant for different use cases.
Re: Ask HN: Why is visual programming so popular for game programming?
#65Just because Unreal does it doesn’t mean it’s “popular”. I’m not familiar with any other game engine that has something like this as a first class feature. The reason blueprints exist in UE is because they needed a way to allow non-expert programmers on the team to write code that isn’t C++, but they didn’t want to use a high level scripting language like Lua. IIRC, Sweeney said (on Twitter) that in the past, it was…
Why do you think that is? I mean essentially these are specialized DSLs which you have to maintain bindings for...I can't imagine its easier to test you haven't broken your visual language.
> "These are things that, even if they were available in a language like Lua, they would be intimidating and/or uncomfortable for the artists/non-programmers on a team. "
Ok I can agree that languages don't always provide for the easiest mental translations, but I will say if you are not an artist, i.e. you are a verbal not visual thinker, blocks with lines probably are more intimidating, not less...
In that same vein you probably shouldn't presume a non-programmer prefers visual metaphors - a lawyer or an accoutant probably finds a high level textual description more helpful (dsl, or config file).
There is probably a better middle ground, i.e. lua text blocks which can be visually represented as boxes or as code unit files.
The other supposed benefits you mention are more easily handled by a smart compiler - you can optimize what is inside the block but this will prove difficult to optimize across blocks - whereas code is arguably already broken down to its simplest form, so the whole thing can be optimized (plus, interpreters can do nifty runtime optimizations compiled languages just don't get)
Re: Ask HN: Why is visual programming so popular for game programming?
#66My speculation is that because game industry know to design better UI patterns, they simply made better visual programming languages.
Re: Ask HN: Why is visual programming so popular for game programming?
#67I’m a huge fan of blueprints. A few things it does well: * makes the engine api very discoverable, which is huge. It’s a step above intellisense and auto complete. The api is likely the reason it’s so dominate in games. It’s the bulk of game programming. Visual programming isn’t very good for coding new things from scratch. * let’s you read code and clearly follow execution from start to finish. * let’s you visually…
Super pedantic and unimportant nitpick: I think you mean to use "lets" instead of "let's", which is a contraction of "let us"
Re: Ask HN: Why is visual programming so popular for game programming?
#68I think its only because Unreal has one, and everybody wants to be like Unreal. I think Lua in Roblox, or the Godot's python like language, or Unity's C# is strictly better in every way. Visual Programming languages don't prevent "non programmers" from writing really weird code that makes no sense. You will find many first time programmers that like visaul programming because they created something cool in Unreal. I…
I guess you can argue stories are all written, but tech is not that way, neither is science, political discourse. So yes, visual artists may be at some disadvantage. Or at least, if they have discovered something, nobody knows about it.
Re: Ask HN: Why is visual programming so popular for game programming?
#69Earlier quoted context omitted.
We used to have UnrealScript and 9/10 our designers still reached for Kismet instead. Lua is great and I'm a huge proponent of it but different tools are meant for different use cases.
UnrealScript had problems, that why they dropped it 10 years ago.
I say that as someone who's worked on both sides and shipped production Lua, Unreal script and C++ during that era. Visual scripting/programming tools are for your designers/artists/animators or as glue code between content that is under high iteration cycles. You can do things such as "find all references to this actor" or realtime visualization of states that just aren't as streamlined as text based languages.
The tradeoff is there's a level of complexity where text based languages are better at expressing abstractions and structure, you use them in different contexts and for different parts of a project.
Re: Ask HN: Why is visual programming so popular for game programming?
#70I’m a huge fan of blueprints. A few things it does well: * makes the engine api very discoverable, which is huge. It’s a step above intellisense and auto complete. The api is likely the reason it’s so dominate in games. It’s the bulk of game programming. Visual programming isn’t very good for coding new things from scratch. * let’s you read code and clearly follow execution from start to finish. * let’s you visually…
I think you are only a huge fan of blueprints because they is no alternatives in Unreal. I think if you could compare an Unreal Lua integration to Blueprints you would reach for Lua every time. Everything you wrote is just as true for a well written text program, and untrue for badly written blueprint spaghetti!
Where blueprint shines is strictly limited to animation rigging (what animation to play when a character is doing what or response to user control) and visual effects (what the result would be if i mix certain elements, apply lighting, shader etc).
Outside of these two areas that are meant for content production, you won't find many studios employing professional blueprint programmers because it is far too slow and difficult to debug.
To illustrate this create a blueprint for a simple C++ loop with a dozen switch statements with conditionals inside each, that is a lot of mouse clicks, movements and typing. When you write code, you don't need to worry about how to organize nodes that is readable, there is no hand eye coordination of where to place your conditional node that will branch easily to a dozen or more wired connection.
In addition, for performance boosts and debugging, you are almost guaranteed to always use C++ and it is NOT the most user friendly experience especially for those who are not exposed to C++.
I just want to warn anybody from taking oneoff786's comment at face value without really realizing the full cost of using UE for its blueprint, you will be sorely disappointed and this is backed by up by many who have shipped games before.
Unity has visual programming, it isn't the the selling point of Unreal, and that isn't why large studios are using Unreal for. If you are an indie developer or a hobbyist interested in shipping games, Unreal will greatly delay and lead to frustrations.
I'm just warning anybody in case they think that blueprints are all that is needed to wire up a game in UE, that is NOT the case, you might be able to pull it off with purchased assets without much focus on novelty, but you could easily achieve the same far faster with Unity.
Game development is hard but its especially hard when relying on UE4's blueprint. Even more so when you are stuck with waiting for someone to reply to your forum questions and told to rely on Intellisense to figure out which API method to use because the document is out of date.
In fact I recall being told to just compile the UE engine to learn the inner workings, if I was a professional C++ developer at a game studio sure, but I'm a hobbyist shipping games on Steam, its a no go. C# is far far more accessible as many decisions are made for you as well as there are far bigger community and tutorials around Unity3d.
If you have the money and experience to use Unreal, go right ahead, you can absolutely make amazing games, but I guarantee you will end up using C++ and its 3rd party productivity tools since what's offered out of the box really is going to take ages for a shippable game compared to whats possible with Unity.
Finally consider the financial incentive of Epic, they need money from established studios that has a history of shipping games to cut them a royalty check, you can't do that by investing in hobbyists and indie game developers who are unlikely to ship a game ever!