I would say the most important thing is to get the simulation tools working. Once you have that, you can then begin to develop and test your ideas without needing a real robot. That is great for two big reasons: 1) you can develop and test your code from the comfort of your home, and 2) you don’t have to worry about breaking something if you make a mistake.
After you get the simulation running, there are a lot of ideas on chiefdelphi if you search. Here are a few things to try:
Shooter speed control: bang-bang vs. PID
Arm control: use an encoder or potentiometer with a PID controller to control an arm to pre-set posititions.
Autonomous: use wheel encoders and a gyro to keep track of distance and heading. Use PID to keep your robot driving straight and to drive a set distance.
Autonomous: control your autonomous routines through some sort of script
Your gyro tells you what your heading is. When you start driving straight, remember what the heading is. As you drive, if your heading drifts clockwise, steer a little bit counter-clockwise. And visa versa.
You could also use the difference between left and right encoder counts to figure out what direction you are driving, but the gyro has the nice property of not caring whether or not your wheels are slipping.