-
-
Notifications
You must be signed in to change notification settings - Fork 25
Re-implement VisualScript using a 'block and wire' system #29
Description
The system is very straightforward in concept:
Scratch-style puzzle-blocks with the flexibility of Blueprint-style node-wiring.
Visual scripting seems to be dominated by a node-wiring paradigm throughout the biggest game-engines, which is great for flexibility and seeing the flow of process logic, however it quickly becomes visually busy and unappealing to work with as scripts become larger and more complicated.
Partly, this complexity can be addressed with an abstraction feature which can encapsulate complicated logic into a simple new node, however, I feel an even more clean approach would be to embrace the verti-linear structure of code blocks as seen implemented with Scratch, and Googles 'Blockly' system. https://developers.google.com/blockly/
Essentially. Wiring would be limited to just the types of blocks necessary to implement the continuation of program flow. That is, most of the program would be written as vertical 'clusters' of code-blocks representing some portion of the necessary logic (ie. a step in whatever process is being achieved), and then wiring would connect that cluster to the next which represents the next step.
For example, when one finds the need to do some complicated process inside a loop or nested loop structure, but would otherwise complicate the present cluster, the wiring flow could break away to a cluster dedicated to the loop, and then come back from the loop to a new cluster which can be directly below the inital cluster before the break-away.
This allows for cleanly putting code aside, while also using the visual layout to describe continuity. It may even be preferable for the first and third cluster to reconnect in a distinct manner to explicitly describe the continuity.
EDIT:
This is a very rudimentary mockup that just shows how clusters of blocks can have verti-linear flow much like text-based scripting, but still benefit from wiring flow, allow for a more freeform organization of code.
note the verti-linear flow would also help visual scripters transition to text-based scripting
image