Games will not benefit that much by having 4 cores instead of two. Here's why.
Basic Game Engine: 1 Thread
The problem with graphics API like DirectX and OpenGL is that it must be runned on one thread, and one thread only. So a basic game engine will run all of the logic and render logic into a single thread. These engines will often use a time delta to synchronize the updating of the game world accordingly to the render FPS.
Ex.: libGDX, SDL
Update and Render Loops Game Engines: 2 Threads
These engines pose a clear separation between the update of the game world and its rendering. They will sometimes separate these 2 logics into 2 threads to gain a small performance gain but mainly asynchronous rendering. This means that the game can render at 400 FPS and the logic will still update at 60 FPS.
Ex.: Most high-end game engines, like Unreal, CryEngine or Frostbite
Physics thread: +1 to X Thread
Some games will like to put physics calculation in another thread so it doesn't mess with the updating or the rendering.
Networking: +1 to X Thread
Game with online gameplay will often use a separate thread because most networking engines are blocking, which means the thread will block until data is received.
Disk IO operations: +1 to X Thread
File management on large files can block a thread for a small amount of time, so most game engine will put disk IO operations on another thread.
Basicaly, most game engines will use 1 or 2 threads for the game's frame and will add some threads for other operations. But mostly, a game will only use 1 or 2 cores. If the game has heavy physics, like Frostbite engine for the BattleField series, then the game will start using more than 2 cores.
CPU thread optimisation
Mostly, a CPU will run different threads on different cores. But that may not always be the case. Like Joe Swindell said in the comments, games are not actually written to use cores, but when you write threads, you hope that they will run so that the CPU will distribute them to different cores.
What matters in the end is chosing the right CPU for the games you want to play or make. For small to medium games like Minecraft, then it is useless to buy a 4, 6 or 8 cores CPU. For high-end games, then 4 cores becomes the better option. If you want to program games, the more cores the better for compiling (depends on the compiler) but for the actual game, 2 cores is more than enough.
Yes, 4MB cache on 2 cores will be better than 6MB cache on 4 cores. But this is not the most important thing to look for on a CPU. It really comes down to the clock speed.