I've spent some time working on these colliding nodes some more, and they are better now.
I've tweaked some of the collision variables so that the bumps aren't as harsh, and made them more prone to being pushed around a bit by others.
Each node is a simple state machine right now, where one state is idle (the node appears orange) and the other is actively moving towards a randomly chosen target (the red dots, which are unique to each node).
Oh, and the nodes can bump up against the water surface now too, and leave a little ripple!