Sunday 8 January 2017

Why Do Macs Suck at Gaming?

This here is an article I wrote last month for a school project. I covered the ever interesting topic, Mac gaming. I wanted to develop a deeper understanding of why this is such a big issue. It had to be written assuming the readers had no understanding of the topic, so please excuse any over simplifications and the like.

“For years, Mac gaming has almost been an oxymoron” states TechRadar in a post from 2015, writing about how there was being in explosion in the Mac Gaming scene. As someone who’s lived and worked with Windows and Mac computers all my life, I decided to dig deeper in the truth of this claim, having heard it countlessly myself. In this article, I’m going to present my findings, running over why exactly Mac has such a bad reputation as a platform for gaming as well as why that might be about to change!
So why are Macs renowned for being so bad at gaming compared to their Windows counterparts? It's a topic which has plagued the computer communities for years. There is a list of problems, both with the software and developers themselves that contribute to it.
The biggest issue is simply the number of Mac gamers, or the lack thereof. If you look at the Steam statistics, out of all their users, Apple users only make up about 8% (which, I admit, has probably increased since the time the survey was taken) of their total users. If you think about it, this is a very niche group of people, and game developers aren’t people with a lot of time on their hands. Porting their games to Mac OS would simply be too much trouble for too little. While stats show that Apple users are more likely to pay more for products than other users, for developers, there simply wouldn’t be enough revenue to be made from the effort they’d have to put in. It’s also worth reporting that many developers also say that Mac is much harder to programme for than its counterparts, because of its API.. Time is money, the initial cost to the final income is simply not enough to fund the development of these games.
The next key issue is that MacOS uses a different Application Programming Interface to Windows. While Windows uses Direct3D, a subset of DirectX, Apple uses OpenGL. What is an Application Programming Interface? An API is a tool that applications use to render 2D and 3D computer graphics. The key difference between them in general is Direct3D is a proprietary API created by Microsoft for Windows. On the other hand, OpenGL is an open standard API, which comes from MacOS’s roots as Unix based operating system, that provides the same or similar functions to Direct3D.  This doesn’t mean however, that Direct3D is superior to OpenGL, a topic which I will get onto again.
The problem lies in the fact that many PC developers write their rendering engines implementing only DirectX APIs and don’t really concern themselves with the OpenGL side of things, so therefore leaving behind the Mac gamers. The problem with creating a DirectX game into an OpenGL game is translating them from one API to the other API, an issue which is only now slowly being fixed through OpenSource translators.
There are functional differences in how these two APIs actually function. For example, while Direct3D expects the Application to handle hardware resources, OpenGL expects, in essence, the computer to handle it.  This makes developers rethink the foundations of the software when porting a game from Windows to Mac, which again links back to my previous point where it simply takes too much effort to actually make games for MacOS.  
Apple themselves haven’t been very helpful in getting developers interested in bringing games to Mac. They have always been slow in bringing updates to their APIs, and even then, they fail to deliver the latest possible. Apple hasn’t shown much interest in pushing the gaming capabilities of MacOS primarily because if they focused on that, they would undermine their professional market. That said, if you don’t consider the price tag, Mac’s do have respectable specifications, with usually pretty capable graphics and processing power.
So rounding up, why do suck at gaming?
1. It’s due to the lack of gamers on their operating system,
2. The fundamental difference between Windows and MacOs
3. And finally, the fact that Apple themselves haven’t been interested in catering to gamers or game developers.
Lately, however, developers have begun to take steps to make MacOS a better place for gamers. The number of ordinary people using Apple computers has been steadily increasing, and developers are finally seeing a market big enough for them to invest in. This means that they can finally focus on bringing out new games that work on Apple’s OpenGL API. There has been a noticeably high number of new games hitting both the Steam and Apple library of games, and while they are generally just Indie Games, the future looks bright for bigger and more capable games to make themselves onto MacOS.
Apple has also recently put in effort in bringing the latest versions of OpenGL to all their new operating systems, and as they showed in their new MacBook Pro presentation, they have started to think about how games perform on their computers. Given, they don’t have the best graphics or the fairest price, but the fact is, they too have begun to transition from catering primarily to just professionals to a more general market.

This brings with it the challenge of catering to all types of people, and these people may need good gaming performance, today and in the future. For developers, open source DirectX to OpenGL translators are becoming increasingly widely available so it’s only a matter of making sure they optimise this so that performance will be similar on both platforms, which is currently not the case. It is still noticeably more efficient to dual boot Windows onto an Apple computer through BootCamp to get better performance in gaming.

So there we go. Mac's are inherently bad at gaming because of the fact that people simply haven't bothered with gaming on a Mac. Because, at the end of the day, who buys a Mac to game?

No comments:

Post a Comment