Hi
You can find the basics to program your microcontroller and to independently drive two motors using the hardware PWM generator **broken link removed**. It explains everything you need to know to drive a motor and shows a simple example of a robot tracking the light. The motor driver used on this board is also a L293D.
Note that programming a soccer robot is significantly more difficult, and requires much more sensory information which you have to provide: you need to know where the ball is, the location of the target, ... Things become even more complicated if robots have to form a team. This already requires the implementation of strategies, and a communication mechanism. Such programs are usually developed by professional software programming teams. In order for the robot to be fast and very mobile, these teams often use omni-wheels, which require at least 3 independent motors.
I suggest that you start with programming a simple robot task, such as a line follower/sumo robot, ..., and gradually add more complexity/intelligence to your design.