I have a Gigabyte Z-87 HD3 Motherboard Intel i5 4670K 16 GB 1600mhz ram and GTX 660oem heavily overclocked and i still have problem for playing that games in ultra settings
900p is somewhat standard in current gen consoles and they are approx. equal to gtx 670 which is far more better than GTX 660 your processor is good enough but these are highly demanding games a card upgrade is the only solution ram is somewhat less required in 900p gaming but it is good to have 8gb for some future proofing
and also shadows then you can make it but then it is not ultra it became custom settings and it not looks so good you can get that result by going to high from ultra and nothing turned off you got about 40-45 frames average on this rig on 900p