Adding some infos:
I use LDR for two purposes:
1) gather random bits in order to affect motor speed (PWM)
2) determine if the robot is stuk. Comparing subsequent readings i got a delta. If the delta i always near 0 then the robot is stuck in a corner so I reverse the motor to bouce off the wall.
That's all, no much complexity. Great differences in the drawings can be obtained changhing legs lenght and material and sliding the motor position a bit forward or backward on the body.