The big problem is DirectX - WINE tries to convert the DirectX calls to the equivalent Linux video calls. It does an amazing job considering the complexity of some of the games. Go to http://www.winehq.com/ and look at the application database - users all over the place try to get different Windows apps to work and then write on their success. Search for some of the games you want to play.

As far as coding something to get it to work yourself, there isn't much of a chance of that - you had better be up for a challenge because it is some pretty interesting programming. DirectX is closed - that is, Microsoft tells game developers what functions do, but they don't give them the source. WINE and other projects like SAMBA have a difficult job because it is a continuous trial and error process to get things to work exactly as Windows works.