I'm all about the FX-6350, but you may want to think about getting the FX-6300 and overclocking it to meet the 6350's speed, because they are the same exact CPU minus some clock speed, and doing that should save you some money. I have the 6350 myself because it was only $2 USD more than the 6300 when I bought it and came with a bundle, and I love it, I get no bottlenecks with my GTX 770 and can max out any game, save for anti-aliasing. The only way the i5-3340 beats the FX-6300 is with single core performance, but even then its only by a little bit. Get the 6300 and save some money and get more out of it.
I'd go with the 6350 and then in the future when you want you have the option to overclock. That i5 is clocked rather low and is not unlocked for the future. Consoles are using AMD cpus 8 core so you'll be fine. In the future you could even upgrade to the 8 core AMD cpu if you desired
for only about 10-20more bucks than the 6350 goes for, you might as well get the 8 core 8320.
If you literally cannot spend anything more, I would really go with the 6350 over the 6300 just because you don't want to overclock right now. However, if you can, the 8 cores of the 8320 might be of benefit in the future. I personally went with the 6350 because it costed only $2 more than the 6300 and came with a bundle of RAM and a free game, and it works really well for me, providing very very little to no bottleneck in most games and applications to my GTX 770.