It has been some time since I got to sit down with Vuo, but today I got to work on it for a bit on some interesting aspects. The 1.2 sub comp has opened up for some really nice possibilities, both regarding reusable nodes, and less clutter in the workspace (and I clutter about a lot).
I've been pretty interested in the "Hold" node for quite some time, as it opens for some more complex motions than those obtained by the usual LFOs, Curves, Audio signals etc. Using the "Hold" node along with the logic operators can for instance open up for velocity, acceleration and border/object detection (latter is kind of crude). I've been trying to translate a simpler bit of Daniel Shiffmans code in "The Nature of Code" that I thought I'd share. It is by no means textbook examples, more poking around to see if the concepts work, but it might be of interest to some.
The thing I'm starting to get curious about though, is if Vuo now is nearing a relative completeness where custom coding of the nodes in QT isn't as crucial. Coming from Reaktor where most of the coding is done in nodes, and where it is (mostly) exposed for all to see down to direct access to memory and basic mathematical operations (core), I at least view it as a great advantage. Especially for learning and progressing.
Anyways, I'm uploading two main compositions. One is a "random walker" (RandomWalkerTest.vuo) which is easy to get a lot of content from with just a few tweaks. It contains two nodes that are necessary for it to work that should be placed in the user modules folder (4Options.vuo & limitToScreen.vuo). There is a logic bit which adds or subtracts from the x/y position based on a random number (or any number you want to feed it), and a utility to wrap around or stop at the window edges.
The other is (or rather was) a bouncing ball. Then I had to add som acceleration and bounds, and it suddenly turned into a blurry mess, but as an exercise it shouldn't be to hard to strip away all the unnecessary parts to get back to the basic. BouncingBall.vuo is the composition, the other files should be placed in the user modules folder as well. It sort of works. I might have wired it up a bit wrong somewhere, so it can look a bit wonky at times.