Abstract We present an optimal timing control formulation for the problem of controlling autonomous puppets. In particular, by appropriately timing the different movements, entire plays can be performed. Such plays are produced by concatenating sequences of motion primitives and a compiler optimizes these sequences, using recent results in optimal switch-time control. Additionally, we apply saddle-point techniques to approach the problem of timing constraints among interconnected puppets. Experimental results illustrate the operation of the proposed methods.