Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I'm having this issue too. I want to use Steam, and get a SteamOS machine and use my 4K iMac as a monitor for it. It sucks that the 4K and 5K iMacs cannot be used as a display. Does anyone know a way around this? Could I hookup a Steam Link to my iMac and stream it from my SteamOS machine to my iMac?

PS. Does anyone else think the Steam app may be the worst app ever written? Its so clunky and slow.
 
I can promise you antonis that porting software is not a trivial process. I have done it bringing a complex graphical application from Windows to a UNIX variant in the past and there was nothing simple about it even with a porting library that eliminated a lot of the work for me.

I'll try to give just one simple example that I hope will illustrate the complexity inherent in software development tasks of even a simple nature. Let's say I am given the task of fixing a known bug. This example bug is easily reproducible fortunately and I am therefore able to find and step through the relevent code to exactly where it is in a debugger without a lot of difficulty. Let's just say I only need to change one line of code to fix some simple logic error that was causing a serious problem.

You could fairly enough call that trivial I suppose. The thing is that is only one step of a process that has to happen whenever code is changed in any way. After I check in my change(s) to a source control system having tested myself that what I did seems to fix the issue without breaking anything else I then let a build engineer know the code can be built now for QA to test it. They do a full build which takes an afternoon (this might be worse with many video games but I wouldn't know firsthand) and let QA know where to get it when it is done and they have verified that it at least starts up normally. QA then installs and tests this build to ensure that what I claim to have fixed really is fixed but that is not all. They also have to do a broad sweep minimally in an effort to ensure that I did not unintentionally introduce some other error into the application. If they find one and it happens often when code gets changed, the process repeats itself until we reach a point that QA is satisfied the code is stable and they are unable to find any problems to prevent a release. After all that someone has to create a patch install. QA then has to verify this works correctly. If QA finds this suitable for release we're golden and finally the fix goes out. As you can see a fair number of people are involved and a good number of hours just to deal with one best case scenario simple bug fix. Too bad most of them are a lot worse and therefore a lot more involved than that.

Porting the likes of a video game involves quite a lot more than one engineer loading up the code and assets for something and within a development environment opening up an options dialog box and selecting a flavor of build they want and then pressing an OK button to initiate a version build for another platform which is then good to go once it is done building. Even with a tool like Unity or something similar it is not that simple. I know that much without ever having used it because I know the process that has to happen no matter what you use or how easy it is to use.

The software development process is not simple at all and nothing about it is trivial including porting from one platform to another. It is labor intensive, time consuming and highly error prone. I didn't even touch on other topics such as optimization of code. Another significant issue is whether or not libraries a given game relies on even exist on all desired target platforms. Sometimes they don't. I am sure there are other issues that don't even occur to me where porting games is not something I did for a living.

It is also safe to say that you can forget all about the idealistic view of a world in which everything is platform agnostic. That's not happening. Competing standards are not going away anytime soon and while there are negatives associated with that the big positive is that this competition drives innovation and that's great. I know efforts are being made and will continue to be made to facilitate efficiency in porting between platforms but that does not mean it is or will be trivial anytime soon.

I say these things not to be negative but hopefully just to illustrate a little of what is involved as I understand it and that again is not fully where this was not an area of development I ever worked in. Part of what motivates me here is that I think the people who do this work deserve a lot of credit for what they do because it is not easy at all and because I believe that the work they do should not be dismissed as trivial when I know better from experience even outside their area of expertise. I don't think anyone does that meaning to be unkind. I think people just don't fully understand what is truly involved is all.

Beyond that I won't debate this or anything but I just did want to toss that out for your consideration.
 
Last edited:
Regards DirtyHarry50,

You have of course plenty of valid points in general, but things do change eventually (or per case). It would be a total masochism to try and port a pure-C complex code from one platform to another. But code is already much easier to port now than it was a few years back thanks to APIs. Outside the gaming context, such a thing is already happening for plenty of years now. Java does that on an enterprise level and developers don't even have to move their little finger to port from one platform to another (e.g. they develop on windows, they deploy on linux). I would know, since I design such enterprise topologies for a living. I know of course that this is possible thanks to the jvm that becomes a layer over the OS, but the same principle (of a layer above OS) stands for other cases as well. Of course java falls way far from gaming (or is it ? android devs might disagree), but it is the same principle. Apple also ports from iOS to OS X and vise versa, while the hardware is not compatible between arm and intel. On that context, how many differences are there between an xbox and a pc from a compatibility point of view ? They are both directx-based.

I understand, of course, that things are way more difficult when discussion turns to mac, since porting from DX to OpenGL is a different story, especially when additionally considering all of the Mac's h/w handicaps and OS X limitations like old OpenGL implementations & feature-lacking metal. The developers that post here have a much harder work to do than their PC-oriented colleagues. That is also why "the best way to play games on mac" (I'm just making a pathetic effort to stay on topic ;) ) is undoubtedly bootcamp. You don't have to take my word on this, just look how much better the games run on the very same machine between OS X and bootcamp-Windows (twice the fps in most cases).

TL;DR , why would a game ported from PS4 to PC would be more buggy than a game ported from PS4 to xbox ?
 
Of course java falls way far from gaming (or is it ? android devs might disagree), but it is the same principle. Apple also ports from iOS to OS X and vise versa, while the hardware is not compatible between arm and intel. On that context, how many differences are there between an xbox and a pc from a compatibility point of view ? They are both directx-based.
Problem with Java becomes performance - and even then Java has a lot of platform specific issues. For example, Java sockets don't work properly on OSX, and theres bound to be other issues as well I've simply not dealt with. Compare the W10 version of Minecraft vs the Java variant. The performance difference between the two is massive. A laptop using the W10 version in a VM will get better frame rates than a top-end desktop PC running the Java version - since Java doesn't ideally handle the types of scenarios that games use.

As for Android; it uses the Java language - but not a JVM (so a lot of custom APIs). And even then - most games are built using a pre-fab game engine - and most use C/C++. The mobile games market is far more reliant on pre-made game engines than the AAA Console and PC games market (which more frequently uses in-house engines).
 
  • Like
Reactions: Dirtyharry50
You going to buy him all the Mac software he needs ?

If he games on OS X he buys whatever game he wants to play.

If he plays via Bootcamp, he's got to buy a copy of Windows (about $80 more). That's $80 he could be spending on games! :)
 
  • Like
Reactions: Dirtyharry50
If he games on OS X he buys whatever game he wants to play.

If he plays via Bootcamp, he's got to buy a copy of Windows (about $80 more). That's $80 he could be spending on games! :)

Therefore there are 2 options:
1. Keep his $80 to spend on more games
2. Invest them on a copy of W10 that will allow him to choose from larger number of triple-A titles that will also run on double the fps compared to OS X.

Both valid options. I'd go with the 2nd.
 
Problem with Java becomes performance - and even then Java has a lot of platform specific issues. For example, Java sockets don't work properly on OSX, and theres bound to be other issues as well I've simply not dealt with. Compare the W10 version of Minecraft vs the Java variant. The performance difference between the two is massive. A laptop using the W10 version in a VM will get better frame rates than a top-end desktop PC running the Java version - since Java doesn't ideally handle the types of scenarios that games use.

As for Android; it uses the Java language - but not a JVM (so a lot of custom APIs). And even then - most games are built using a pre-fab game engine - and most use C/C++. The mobile games market is far more reliant on pre-made game engines than the AAA Console and PC games market (which more frequently uses in-house engines).

Performance is of course the reason we'll never see Java running triple-A titles on the desktop & consoles. But it is a good example of effortless code porting. Android doesn't have your typical jvm but it does have a process VM for runtime responsible for code translation. Another good example of how easily a code can be ported between similar platforms. But the point is, all these are more or less transparent for the devs.

With a custom in-house engine or publicly available commercial engine, the point remains the same; There's not so much effort needed to bring a game from xbox to pc or vise versa. Both rely on directx. Maybe playstation is a different story, and so is Mac for the well known reasons.

The bottom line is that it is a false impression that games on PC are buggy and problematic and the devs are struggling to port them from consoles where they are super-fine-tuned and bug-free. Latest windows versions are also helping a lot towards this. Hate to say it, but windows 10 give the impression of being more stable than the latest OS X releases.
 
Last edited:
Performance is of course the reason we'll never see Java running triple-A titles on the desktop & consoles. But it is a good example of effortless code porting. Android doesn't have your typical jvm but it does have a process VM for runtime responsible for code translation. Another good example of how easily a code can be ported between similar platforms. But the point is, all these are more or less transparent for the devs.

With a custom in-house engine or publicly available commercial engine, the point remains the same; There's not so much effort needed to bring a game from xbox to pc or vise versa. Both rely on directx. Maybe playstation is a different story, and so is Mac for the well known reasons.

I am not a professional in this area. However, I doubt if it's that easy. (To achieve a good result, but not just "able to do regardless how bad the performance or bugs")

Even the same platform, move from DX11 to DX12 seem has a lot of work and cause the developer so many trouble (e.g. lots of bug / performance issue reported by gamer in RoTR DX12 port). If even the same platform is not that easy, move to another similar platform can only be harder, but not easier.
 
If he games on OS X he buys whatever game he wants to play.

If he plays via Bootcamp, he's got to buy a copy of Windows (about $80 more). That's $80 he could be spending on games! :)

Clever accounting out of the way.

Why would you loose about 20% performance on the same hardware , on every game ?

For gamers to get 20% boost for all their games, spending $80 (u can get it much cheaper ) is a very simple choice.

Or you can save your $80 and join the other Mac users who ***** about the performance of them Mac version of the identical game as the driver developer does not care, nor does the game developer, as more than 90% of thier effort goes on the PC version.

Do you realise how bad video drivers are on the Mac side vrs the PC side for the same hardware when it comes to gaming ? PC drivers are tuned for performance , with profiles for specific games , Mac side, you get a very stable driver, sacrificing performance so to be stable.

Also, why would you spend $80 on Windows to get access to hundred more games?? When the Mac side run so many of the latest games out there.....owwww wait...., not even blizzard who support Mac, are releasing Overwatch on Mac now.... ;)

One thing Windows does well, is gaming.
 
I am not a professional in this area. However, I doubt if it's that easy. (To achieve a good result, but not just "able to do regardless how bad the performance or bugs")

Even the same platform, move from DX11 to DX12 seem has a lot of work and cause the developer so many trouble (e.g. lots of bug / performance issue reported by gamer in RoTR DX12 port). If even the same platform is not that easy, move to another similar platform can only be harder, but not easier.

Quite the contrary. To continue on this good example you brought up, upgrading a game from DX11 to DX12 requires a lot of work since the new api has lots of new features that the devs want to take advantage of (and the differences are visible between the two versions. On the other hand, when a game is developed on DX11 level on xbox, it will be ported to the same DX11 when ported to the pc. Usually these ports do some injustice to the PC version since they don't take advantage of the much more powerful h/w. Again, DX to OpenGL and vise versa is of course more tricky.
 
Quite the contrary. To continue on this good example you brought up, upgrading a game from DX11 to DX12 requires a lot of work since the new api has lots of new features that the devs want to take advantage of (and the differences are visible between the two versions. On the other hand, when a game is developed on DX11 level on xbox, it will be ported to the same DX11 when ported to the pc. Usually these ports do some injustice to the PC version since they don't take advantage of the much more powerful h/w. Again, DX to OpenGL and vise versa is of course more tricky.

If porting is so effortless. Then I really couldn't understand why the manufacture seems not that willing to port the game between platforms. It's effortless anyway, even only able to sell 1000 extra copy, still able to make money.

Anyway, I don't know if they are building DX12 or DX11 on xbox, may be that non 100% DX12 XBOX platform cause the porting more complicated.
 
Regards DirtyHarry50,

TL;DR , why would a game ported from PS4 to PC would be more buggy than a game ported from PS4 to xbox ?

I'll be lazy and just respond to this part. I have not myself said that a port from any one system to any other system in particular would necessarily be more or less prone to bugs. What I would always expect as with any software development is that they are all prone to bugs just like code they are based on was to begin with, etc. All software is highly prone to bugs but i am guessing we'd be on the same page there.

I did make a case for writing to closed environments because that does eliminate a lot of potential variables which does make development and testing easier than trying to take into account a multitude of configurations and it being impossible to test on all of them before a release. Because of this, problems with any PC game, port or not are going to be more likely than any console game I'm sure. In one case you have one hardware/software environment to be concerned with. In the other, you have multiple operating system versions, all kinds of different hardware and associated drivers, all kinds of potential other software executing concurrently, etc. So naturally, it is easier to develop and test on the closed system. Therefore, it is also only natural that you are going to as a rule see less problems there.

Best point - you're right that we should get back to the subject at hand!

From a technical standpoint when it comes to demanding games rebooting to Windows wins the vast majority of the time to be sure. I don't think anyone can argue against that being true. However, a lot of games that are not so demanding will run great in OS X too so it does depend a lot on what somebody wants to play. I think it is perfectly valid also for someone to recognize there are performance trade-offs playing some titles in OS X but being okay with that for whatever their own personal reasons happen to be. Lastly a lot of less demanding games will run well on either platform. That's why I don't think it is always appropriate to tell someone that Windows is simply better when it might not be for them.
 
Last edited:
From a technical standpoint when it comes to demanding games rebooting to Windows wins the vast majority of the time to be sure. I don't think anyone can argue against that being true. However, a lot of games that are not so demanding will run great in OS X too so it does depend a lot on what somebody wants to play. I think it is perfectly valid also for someone to recognize there are performance trade-offs playing some titles in OS X but being okay with that for whatever their own personal reasons happen to be. Lastly a lot of less demanding games will run well on either platform. That's why I don't think it is always appropriate to tell someone that Windows is simply better when it might not be for them.

OS X can be a valid platform for some people, on some games, for sure. And by all means I'd have nothing against that (how could I ? I've played games on OS X-only side for plenty of years). But if I'd have to give one and single recommendation to someone asking what this thread's title does, in order to be future proof, I'd suggest to invest the amount of money for a windows license and go bootcamp without hesitation. Even if the current titles he's interested in are available for OS X, the future ones might not. Most probably, though, they will be available for windows.

Besides that, due to increased performance on windows side, going bootcamp works as an indirect h/w upgrade (something that his mac will most probably directly lacking) when the mac starts to show its age.
 
  • Like
Reactions: MH01
I've repeated this several times in this forum, if you 1) travel, 2) want to game while traveling, 3) prefer the MacOS, and 4) want to carry a single computer, the ideal solution is the expensive top of the line MacBookPro with dedicated graphics and a Bootcamp Install. My 2011 MBR plays games I like (such as World of Tanks, Sub Nutica) although with some new titles like ARK:Survival Evolved, it shows it's age. PS, go with the extended AppleCare.
 
So, to return to the point of this - "Best place for Mac games", not anything about Windows; If you're considering the Mac App Store, be aware that some features, like online multiplayer, may not be available on the Mac App Store version.
I play Civilisation with my brother, and he plays it on PC, I play it on Mac. When the versions are the same, we can play online over Steam together seamlessly. When they're not, I boot camp Windows... But still! Sometimes it just works. Mac App Store version can only do that over LAN, not the internet.
 
I recently upgraded to iMac 27" and I would like to try some mac games such as Dirt 3. I noticed that Dirt 3 is on both App Store and Steam. What is the best way to install games such as Dirt 3 on the mac? Which platform do you think is the most popular among mac users?
I use the nMP in my sig. Once Nvidia gets drivers sorted for High Sierra, the Supermicro box will be going away. I'll snag a work eGPU with something good in it and game on the nMP.

As for software, I use Steam and Battle.net (or whatever they're calling it now). I'll also be checking out the Steam MacOS VR beta. Titles are slim pickings at the moment.
 
Agree with BillyBobBongo. Games perform much better on Windows (Bootcamp) than on OS X.

Also, refund on Steam is very hassle-free, and they are not too strict about it either. I once returned a game 3 months after the purchase.

Then there is excellent community where people discuss various aspects of games (performance, bugs, etc).

Although Steam lacks rewards system, you can sell achievements/collectible cards on Steam

Last but not least, Steam does sales very often. Sales on Mac App Store are few and far between when it comes to games.


Have you ever played any of the Battlefield Series on Windows (Bootcamp), and if so how was that experience?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.