The game companies simply don't make games for Mac or Linux because there isn't much demand for it.
Its a chicken and the egg problem which Microsoft also had with Windows. The buy in price for Windows was quite high originally. Not only was there the learning curve but you had to buy the Windows environment, the mouse AND the application you wanted to run.
People who don't remember those days won't think the mouse a serious issue. At the time they were expensive and included an add in card that needed to be installed and not that many people were comfortable about installing cards back then so they often paid to have them installed.
It wasn't until I was able to get Windows, the mouse and Application all on sale at the same time that I made the jump to Windows, the first among my circle of friends, before my employers did. Back then no one made games for Windows and applications were rare. Once there was a critical mass of people who had Windows then Microsoft could get computer manufacturers to bundle Windows and mice with the computer solving the egg problem. The IBM PS/2 port also made the mouse cheaper and easier to add in.
Right now Linux has two bad perceptions that keep games off them. The belief that gamers don't want Linux games and that Linux users won't
buy software. The fact that Redhat and several other sellers of Linux distributions make a profit should convince companies that people will buy Linux programs but they still don't believe. No games keeps gamers off Linux. No gamers and the cheap perception keep gaming companies off Linux.
The chicken and the egg. If games are made for Linux gamers will come. If gamers come to Linux the games will come.
The problem is how to get the chicken or the egg on Linux? I can see two ways it could happen.
1/ Corporate take up of Linux followed by people using Linux at home because its what they use at work.
2/ Microsoft driving people to Linux as they have me by their increasingly totalitarian behaviour.
It could easily be a mixture of both.