Whoops, I did link to the root instructions. All you need is an on the go cable (mini to micro)I didn't think it was possible though, without rooting anyway.
http://www.hashtagandroid.com/tips-...3-controller-with-your-android-device-no-root
Apparently you'll have to root for wireless play tho.
There are probably pretty decent quality bluetooth controllers that would run with any android app that has gamepad support. I'm using the shield so I'm all set for controllers, for example