Everything you listed except for BF3 and metro are an absolute breeze on any modern GPU, Diablo 3 beta for example uses ~40% of my GPU to maintain 60FPS maxed out at 1080p. BF3 on the other hand if you'd really like to come close to have it playable on the highest settings then you will want at least a 560ti 448 cores, but for all the other games that might be much more GPU power than you'd need and there is a new generation of cards on the horizon so it's best not to go overboard now when the same money could get you significantly better performance in a couple of months. So in my opinion you have two options, you can buy a cheap used card now that will be more than enough to max your games except BF3 and then resell and buy again when the new cards come out. If you went that route I would recommend something like a 460 1Gb 256-bit ideally or even possibly a 450 used from [URL=http://www.overclock.net/f/14779/video#page=0&Filter[type]=true&Filter[type]=true&Filter[type]=true&Filter[type]=true&Filter[state][Open]=true&Filter[state][Sold]=false&Filter[tag]=0&Filter[order_by]=Classified.bump_at
[/URL] for about $100-$130 and then seeing how the new cards perform in a couple of months and decide if you want an upgrade, in which case your used card shouldn't have lost very much value (most I would expect is $40). The second option is to buy a more powerful card now that will give you a good high quality experience in BF3 as well as easily max your older games same as a 460 would, in which case I would recommend something like the 560ti 448
which is about $300. Now with this option you should have a good playable experience with a near ultra quality BF3 but if you choose to try to resell this card when the new cards came out you might lose as much as half of it's value when new cards come out so the option to upgrade to a new card becomes less ideal.
Of those two options I would personally look for a 460 now and then assess whether or not you'd like to upgrade when the new cards come out in a few months. I have used a 460 to play BF3 and while it isn't playable on full ultra settings it still looks very good at the settings it can play it at, and at less than half the cost of what it takes to play on ultra.Edited by juano - 2/2/12 at 5:41pm