Enter the centipede. The animation for this sequence was created using max-script. First I built one pod with legs, and created a walk cycle by hand keyframing. Then I analyzed the animation and measured the extents of the ik skeleton. Then I wrote a script that would place the pod feet and body at the positions of a set of moving guide dummies (null objects), then loop the process every few frames until I had the pod walking where ever the guide dummies went. Even though the motion is scripted, it was derived from the animation I did by hand.
    The next chore was to make the guide dummies follow and align them selves to an arbitrary mesh surface (the tree). I created a spine on the tree by using 3d snap to face and drew it up along the length of the tree. I built a max-script gizmo that followed that line and did a ray_intersect on 3 parallel points on the surface of the tree in order to generate 3 more splines that would become the path splines for the guide dummies; left foot, body and right foot. Then the guide dummies were assigned to the 3 paths and yet another max-script was used to align the following rotational alignment of the dummies as they rolled about the tree.
    Next, I wrote a max-script that merged in and renamed multiple copies of the pod, there are 24.
    Once I had all the connecting hoses setup, I could write the script that walked all the pieces up the tree. This walking script has many variables which I can tweak and tweak . How fast does it walk, how long is the stride, how many steps, how high are the leg lifts and so on. Also there are starting steps and stopping steps, and secondary motion functions for when the centipede stops. The really cool thing is, with all these tools and scripts, I can animate this critter again and again by running the scripts on a new surface. That is of coarse, if I can remember all the little details.