visual programming gone wrong: <https://twitter.co...
# linking-together
w
🤦🏻‍♂️ 1
❤️ 2
s
An interesting discussion for this group is how you make this better. Lets assume we don't want to write this graph in C++ or a higher level text based scripting language (C#\Lua,etc.). We want a behavior tree like DSL. Solutions could be better UX (zoomable hierarchical UI, node auto-layout, etc.) or maybe using a different model for AI. Could training a neural network with designer based examples be better? Utility AI in a spreadsheet. GOAP so the designers only specific goals and actions and the imperative parts of the graph go away?
w
goap is certainly very expressive 🙂
but yeah, the more domain specific you make it, potentially you can make it a lot clearer
there's general things you can improve about dataflow though, with grouping, cable bundling, auto layout etc
a
Yeah, put everything into groups and show only one group at a time (locus + nearby context). Looking at the whole thing makes me anxious. Any manipulation you could make at that level would have mostly unintended consequences.
a
Isn’t this just bad programming? @alltom suggestion of breaking up into groups or modules applies here and to traditional programming too.
j
surely there is a way to visually organize things. boxes or automatic layout. something to show just slices of the program like: only show me things which affect ammo
s
Is this 'gone wrong' though? I suspect the data flow graph of a text program of similar size has similar structure. But we just never see the graph in text because we are always only zoomed into one 'node' and jump from node to node. There is no way to zoom out and see the overall structure. Here I'm getting some sense of upstream/downstream nodes, able to quickly locate key junction nodes and groups, etc.
And yes, there is a lot of room for improvement too.
g
Is it possible a non-programmer would basically find it extremely hard to break it up? That seems like it's leading to abstractions which by some people's measure is exactly what makes programming hard for non-programmers. Followong that graph is hard but figuring out how a bunch of unconnected more abstract parts fit together would probably be even harder?
w
@gman yes that's a good point, up until a certain size (which might include that example graph) having it all repeated might be easier for non-programmers to follow. But clearly it doesn't scale. "gentle" abstraction methods like still showing the implementation inline can help I think
also, automating abstraction like in one of my projects: http://strlen.com/restructor/