This seems like an interesting project. I am doing a similar project as well and have had some ideas.
First off, you will need a motor shield to provide power to the two motors you are using. If you plan to have DC motors, I would recommend the Pololu MC33926 Dual Motor Shield as it is designed to plug into an Arduino, but can be controlled separately.
As for the controller, that's another story. For my project I am using a wired xbox 360 controller. What you could try to do is see how the signals are sent from the controller to the console and see if that can be "hijacked" for your project. What I did for mine was to remove the microcontroller from the pcb on my controller, and solder wires from the different button pads, trigger potentiometers, and joystick potentiometers and routed those to the outside back of the controller where they plug into an Uno. I then take in that data, filter it, and then transmit using a 434MHz transmitter. The data is sent to a corresponding receiver that takes in the data and uses it, and some equations, to determine speed and direction.
Let me know what you think.