5 ms·
I guess this is turning into another "visual programming" post. On my side I'd like to ask your opinion about Blueprint. It really turned me off back in the da
by markus_zhang 5y ago
I guess this is turning into another "visual programming" post.
On my side I'd like to ask your opinion about Blueprint. It really turned me off back in the day and I always wonder why they couldn't optimize UnrealScript further instead of getting something totally new.
Yeah for sure eventually everyone get used to it and it becomes the new standard ("How can I NOT do Blueprint? It's so splendid" type of posts will show up) because UE is an extremely competetent engine.
But why did we bring it forward in the first place? Is there enough reason to do so aside from that some teams get to have their own marks in the world and some managers can grab more power?
- dharmab 5y agoThis presentation might enlighten why visual programming is in demand for gamedev. It's about a similar system developed in-house for The Division series: https://www.gdcvault.com/play/1023382/AI-Behavior-Editing-and-Debugging https://www.gdcvault.com/play/1023382/AI-Behavior-Editing-an... In short: There are many game designers and artists who prefer visual scripting tools over traditional code.
- markus_zhang 5y agoBut I also see some hate this style. This guy is an artist/programmer. https://forums.unrealengine.com/t/blueprints-are-a-toy-which-serious-unity-dev-would-use-ue4-without-c-f-or-unrealscript/71045/5 https://forums.unrealengine.com/t/blueprints-are-a-toy-which... BTW I do agree visual programming makes sense in certain area, but to use it for a general scripting language? Hell no...
- jcelerier 5y agoThe ratio of people I know in gamedev who love vs hate visual programming is on the order of 10:1
- username90 5y agoI assume you work in unreal? Unity is more popular though and doesn't have visual scripting. Unreal Engine just having visual scripting and C++ with nothing in between is probably its biggest weakness, people prefer C# over those.
- gridspy 5y agoIf you cannot access the vault, here is a YT link to the same talk: https://www.youtube.com/watch?v=rYQQRIY_zcM https://www.youtube.com/watch?v=rYQQRIY_zcM
- ironmagma 5y agoIt’s nice for asynchronous programming. Promises or callbacks take some getting used to, but a block diagram is as transparent of an abstraction for asynchronous flow as it gets.
- koolhaas 5y ago> But why did we bring it forward in the first place? Speculation: visual programming is a bit more beginner friendly, and more compatible with the brains of people designing stuff in UE. I wish blueprint was around when I was 13, messing around in UT’s version of UE and having no idea what unreal script could do. Visual language can break out all possible components into UI menus, just like everything else in UE. Visual oriented people really click with tools like visual programming. Personally I think it’s cynical / arbitrary to pin the decision to corporate power struggles. Sometimes people propose new things out of interest or as a side project and then it grows from there.
- markus_zhang 5y agoYeah let's ignore the cynical part. Whatever, it's already done and text scripting language is not coming back for UE.
- spywaregorilla 5y agoYes it is https://twitter.com/saji8k/status/1339709691564179464?s=20 https://twitter.com/saji8k/status/1339709691564179464?s=20
- spywaregorilla 5y agoI'm a programmer who does hobbyist gamedev and is a big fan of blueprints despite writing in text all day, for a few reasons. * A lot of game engine functionality is extremely helpful but not discoverable. Visual scripting languages make the full spectrum of the engine's API more easily discovered * Games are very stateful, and I find it is much easier to conceptualize this with blueprints than with code, which is better for functional stuff * Collapsing nodes in blueprints is much more powerful as a documentation tool than collapsable lines of code. When you collapse nodes, you can show the execution running through long text high level descriptors of what hidden blocks are doing, and without needing to create a function for that task specifically. e.g. code might do something like def update_target(): target = find_new_target() # set target to nearest enemy unit attack_pattern = choose_attack_pattern() # choose next attack pattern execute_attack() # perform attack montage and execute effects ____________________ whereas the bp would be Set next target to nearest enemy -> Choose next attack pattern -> Perform attack montage and execute effects It becomes pseudocode that is bright and on the forefront of your attention, vs. most code editors which will highlight code and lowlight comments.