The basis for many useful hydraulic drive mechanisms is a variable displacement pump. I thought it would be fun to design and build one in Solidworks with a Dimension 1200SST rapid prototyping machine. If you want to build your own, here is the STL file for it. It should be about 3" diameter. Please don't remove the included attribution if you do build it, and please don't resell it or use it for other commercial purposes without contacting me first.
It works by attaching a constantly spinning power source to the vertical shaft. Then, when you change the angle of the horizontal shaft, the vertical throw of the pistons changes, which in turn changes the flow rate. Turning the horizontal shaft in the opposite direction can even reverse the flow.