Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

diamond.g

macrumors G4
Mar 20, 2007
11,438
2,665
OBX
Kronos did mess up a lot of things, so much for design by committee. But I think that Nvidia played a pivotal role in the demise of OpenCL — they refused to provide a more modern implementation for years, instead promoting CUDA. And since they practically owned the high-performance GPU market back then, it was easy for them to convince the users to rely on their proprietary APIs instead.
You are saying Nvidia refused to support newer versions of OpenCL? If so I bet that was pretty irritating for the folks using Nvidia hardware, but wanting to use OpenCL.
 

JMacHack

Suspended
Mar 16, 2017
1,965
2,424
I think they’re all the same: their main purpose is to entertain, to literally waste your time.
Worse than that. Television and Movies are set cost and set time.

Video games are made to keep a player occupied for hours on end and constantly spending. They’re a greater waste of time and greater waste of money.
 
  • Love
Reactions: rafark

JMacHack

Suspended
Mar 16, 2017
1,965
2,424
ITT:

b-b-b-but muh overwatch, muh cyberpunk, muh gta, phone gamers not real gamers like me!

Apple bad because no games! How am I supposed to consoom the latest gambling sim or buggy garbage if Apple doesn’t build gaming PCs! They should continue to support ancient libraries because muh GAMES!

If you stop and take a look at the arguments it sounds like the whining of entitled children or addicts looking for a fix and bitching when they can’t get it.
 

GrumpyCoder

macrumors 68020
Nov 15, 2016
2,126
2,706
Software development is only a small part of game development. Most expenses are platform-independent: design, writing, scripting, textures, 3d models, animations, voice acting, sound effects, music, marketing, administration...
The numbers include everything, full Windows vs macOS costs.
An indie studio can support Mac easily if the game engine they are using already supports it.
That’s what I said. Well, in reality its not that easy (see below).
Same for big studios and their proprietary engines. Supporting Mac is also cheap if you are writing a new engine.
Define cheap. You need a full team of developers supporting it. This isn’t the 80s anymore when we made games alone or a team of 3-5. Back then things were simple and porting stuff was also somewhat simple compared to today. Don’t get me wrong, I miss those days and looking at what we could do back then vs now is an eye opener. But you know what they say, things were always better in the old days. ;)
What's your source for that $50M?
$50M isn’t a fixed value, it was an example. Porting to macOS with a high degree of customization is usually more in the 60-75% range. I’ve seen titles where this got way higher from large publishers like Ubi, EA, etc. So the source is myself and others I’ve worked with. I’m not a financial guy tho, my background is graphics and image processing, I took a dive into AI at some point and left the industry a long time ago to teach at a university. I do still consult for the industry though, but mostly non game related. We still have students there that went into the industry. Some to Apple, others went to EA, Ubi, Activision, Capcom, Nintendo, etc. (when it comes to games).
LOL at 50% increased cost to port the game to MacOS. Unreal Engine and Unity comes with MacOS/iOS support out of the box.
And every game is based on those engines… you can go from one end to the other and be done with a flip of a switch. 50% is actually cheap for a highly customized game. How many games have you developed with Unreal Engine, how many with Unity. I recently had to give up macOS support on a smaller Unity based project which utilized ml-agents, because the proxy communication API in Unity in combination with macOS is broken (has been for years). It’s not so black and white as people are led to believe. Depending on what you want to do, Unreal/Unity may work fine on macOS or they’re broken beyond repair. It’s not my job to fix this stuff, I’m looking for a tool to use and when I macOS is giving me trouble and I need to hire too many people to fix stuff, I just drop support.

Well , your example is not set in reality , there is a poster in ArsTechinca on the Mac forum who works for Feral , and he stated the a full port for AAA game is between 3M to 5M USD and Feral is a big porting SW house , so no where NEAR the crazy numbers you put forward.
Ah, so my example based on actual projects with Ubi, EA, Valve & Co. is not set in reality? Maybe you should let them know about it. ;) I’m also not talking about a bad 3rd party port of a decade old game, but actual in house development of new titles.
 

diamond.g

macrumors G4
Mar 20, 2007
11,438
2,665
OBX
ITT:

b-b-b-but muh overwatch, muh cyberpunk, muh gta, phone gamers not real gamers like me!

Apple bad because no games! How am I supposed to consoom the latest gambling sim or buggy garbage if Apple doesn’t build gaming PCs! They should continue to support ancient libraries because muh GAMES!

If you stop and take a look at the arguments it sounds like the whining of entitled children or addicts looking for a fix and bitching when they can’t get it.
What is the point of having powerful hardware if there is nothing to push it?
 

GrumpyCoder

macrumors 68020
Nov 15, 2016
2,126
2,706
You are saying Nvidia refused to support newer versions of OpenCL? If so I bet that was pretty irritating for the folks using Nvidia hardware, but wanting to use OpenCL.
openCL support on Nvidia hardware is subpar. I used to be a big OpenCL fan, because it’s so much more friendly for newcomers, which was nice as I’m teaching this HPC related to students. CUDA has a much steeper learning curve. I’m trying to avoid OpenCL these days. Not because it’s bad, but because Nvidia tools are excellent and there’s a tool for pretty much everything. Genetics, autonomous driving, robotics, medical, you name it, they have it. Anyone not going for Nvidia hardware + software these days is either bored to almost death or nuts.

I spoke to someone from Codemasters during GTC, they’re all in for Nvidia. Same can be said for the Nvidia/MS collaborating on lighting technology for Minecraft. They had a very interesting talk about it. Unfortunately I didn’t get to speak to Jakusb Boksansky and Oli Wright about it. Was really cool and cutting edge stuff.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,399
Lard
I wouldn't say Apple is hostile to gaming, but rather are unwilling to prioritize it over other concerns. But as others have mentioned, AAA gaming is a bit of mess. The cost to produce a AAA title are considerable. Game studios are understandably cautious about trying new things, since they need blockbuster titles to make up for the underperforming ones. Sadly though, games haven't really evolved too much beyond better graphics for some time. So we get lots of remastered nostalgia titles and endless franchise sequels. The ability for many consumers to buy the latest and greatest hardware to run them well is constrained at the moment. I can see why Nvidia is looking to leverage their offerings beyond gaming. Let's not even get into the working conditions and culture in many game studios.

I like checking out indie titles from time to time. They may not have the latest ray traced graphics, but might actually rely on a compelling story, or maybe even some interesting mechanics.
Even when Apple isn't hostile toward gaming, they do something very weak and give up quickly.

Apple had Game Sprockets and when every developer didn't jump right away, they didn't try to do better, they stopped. They supported force feedback, but there was a scandal about that.

Apple did a decent job with OpenGL, but didn't provide input or audio support that would help gaming.

Had Apple supported gaming in the early 1990s when WinG arrived, Windows might not have had the majority. Had Commodore and Atari done their jobs, they might have kept Windows gaming at bay. Oh, there is that word "might" again.
 

GrumpyCoder

macrumors 68020
Nov 15, 2016
2,126
2,706
Even when Apple isn't hostile toward gaming, they do something very weak and give up quickly.

Apple had Game Sprockets and when every developer didn't jump right away, they didn't try to do better, they stopped. They supported force feedback, but there was a scandal about that.

Apple did a decent job with OpenGL, but didn't provide input or audio support that would help gaming.

Had Apple supported gaming in the early 1990s when WinG arrived, Windows might not have had the majority. Had Commodore and Atari done their jobs, they might have kept Windows gaming at bay. Oh, there is that word "might" again.
Apple is supporting their ideas, nothing else. This used to be different a decade or two ago. I remember the old days when I could pick up the phone and call someone at Apple for support. For larger projects, even go to Cupertino for support. Try that today, it’s not going to happen. They make enough profit as it is and supporting others in their work is at the very bottom of their to-do list. This all started when they became mainstream and/or successful.

Look at Nvidia on the other hand. If I have a problem, I give them a call. For commercial projects, they send out people to support the teams, free of charge. I still get regular invites to Nvidia and I’m asked to bring students along so they can support them on their projects (which are not even commercial). Their support and effort is top notch. Apple isn’t even in the same universe unless they need you for a prestige project they can show off to the press.

Give someone the choice of almost non existing support or someone sitting right next to you, for a game where any delay costs millions… sit back and watch what happens.
 

diamond.g

macrumors G4
Mar 20, 2007
11,438
2,665
OBX
Of course. But more and more have and will. Even custom engines are pretty platform agnostic nowadays.
From what I have seen "platform agnostic" usually means runs on PC/Consoles/Switch and not anything else.
We are missing CryEngine support in iOS/macOS and it's forks (Dunia, Lumberyard). It appears macOS/iOS support for idTech got dropped with version 6 (about the time Apple deprecated OpenGL and decided to not support Vulkan). Creation Engine doesn't appear to support macOS/iOS either (since MS owns it now whole lot less likely for that to happen).
 

GrumpyCoder

macrumors 68020
Nov 15, 2016
2,126
2,706
Many engines don’t support macOS/iOS. The latest and most prominent example is the new Blizzard engine created exclusively for D4 (no Mac support). Don’t think there’s a name for it yet, but it’s finally a full 3D engine with proper UV mapping and not using hideous projection mapping for assets.
 

senttoschool

macrumors 68030
Original poster
Nov 2, 2017
2,626
5,482
From what I have seen "platform agnostic" usually means runs on PC/Consoles/Switch and not anything else.
We are missing CryEngine support in iOS/macOS and it's forks (Dunia, Lumberyard). It appears macOS/iOS support for idTech got dropped with version 6 (about the time Apple deprecated OpenGL and decided to not support Vulkan). Creation Engine doesn't appear to support macOS/iOS either (since MS owns it now whole lot less likely for that to happen).
Next major CryEngine release will support iOS and MacOS. lumberyard supports iOS already.

IdTech engine isn’t wide used outisde of id software.

You can list 1000 game engines and most of them don’t support iOS or macOS. But it doesn’t really matter. Most developers do use engines that support iOS and macOS out of the box. And with more hardware sales, macOS will be better supported.

Let’s project a bit into the future. We all know macOS gaming sucks right now.
 

diamond.g

macrumors G4
Mar 20, 2007
11,438
2,665
OBX
Next major CryEngine release will support iOS and MacOS. lumberyard supports iOS already.

IdTech engine isn’t wide used outisde of id software.

You can list 1000 game engines and most of them don’t support iOS or macOS. But it doesn’t really matter. Most developers do use engines that support iOS and macOS out of the box. And with more hardware sales, macOS will be better supported.

Let’s project a bit into the future. We all know macOS gaming sucks right now.
Yeah their (Crytek) roadmap says at risk. I forgot Lumberyard supported iOS/macOS but that could be cause support was still in preview last I looked.

It would be cool for more game engines to support iOS/macOS in the future. It seems like they should be working on that support now versus waiting till later to add it in. Maybe doing so would help Apple support things in hardware faster for parity reasons.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,399
Lard
Many engines don’t support macOS/iOS. The latest and most prominent example is the new Blizzard engine created exclusively for D4 (no Mac support). Don’t think there’s a name for it yet, but it’s finally a full 3D engine with proper UV mapping and not using hideous projection mapping for assets.
I'm hoping that Valve would port their Windows/DirectX layer that they're going to use on SteamDeck, but it would definitely add a performance hit. However, how much fun is it to play a game that doesn't run at all?
 

JMacHack

Suspended
Mar 16, 2017
1,965
2,424
What is the point of having powerful hardware if there is nothing to push it?
There’s certainly other things that push hardware than just games. Many people in here work professionally with Macs and have hardware needs separate from gaming. If there were not, the PC market would be driven by only gaming instead of other factors.

Again, this is a myopic view to take. As if the PC market revolves around gaming, it does not, and while gaming is a significant factor, it is hardly the single most important.

If giant gaming companies cannot be bothered to port their games to MacOS, that’s their perogative. If your buying needs revolve around gaming, that’s your choice.

Apple has made an ide, specific libraries that work cross platform with their major gaming market (iOS) and their minor one (MacOS), they’ve even made processors that top performance charts in mobile, and punch well above their weight in desktop, all with the libraries to take the most advantage of their custom hardware.

It’s blatantly obvious who makes the most effort when laid out in plain speech.

Despite this, the companies that have the ability to port AAA games to less powerful and just as proprietary hardware simply ignore the Mac. (Which is okay, that’s their business)

Yet somehow gamers typically lay the blame on Apple for (common arguments) not using NVidia gpus, not using ancient libraries, or not giving money to these companies (despite the fact that they partnered with Valve, and Valve just decided to drop the vr plans).
 

JMacHack

Suspended
Mar 16, 2017
1,965
2,424
I'm hoping that Valve would port their Windows/DirectX layer that they're going to use on SteamDeck, but it would definitely add a performance hit. However, how much fun is it to play a game that doesn't run at all?
I wouldn’t trust Valve to do anything beyond minimum effort. That’s been their MO for awhile now. I think the entire reason for Protons existence is to drive adoption of their own OS and their hardware plans. This doesn’t jive with porting it to Mac.
 

GrumpyCoder

macrumors 68020
Nov 15, 2016
2,126
2,706
Yeah their (Crytek) roadmap says at risk. I forgot Lumberyard supported iOS/macOS but that could be cause support was still in preview last I looked.
Lumberyard is dead... just saying. Or are you guys talking about Open 3D Engine?
As far as support goes, it's a pain. Shaders still need to be compiled on another device and transferred back to the target system where they're cached. It's a toy engine so far.

CryEngine is a mess. It was among the first engines we licensed for out media/design students as a playground to test character and level design. The state of the engine is a disaster from a software engineering point of view, so is the documentation. I haven't looked at it in a while. We still have access to the beta versions, so maybe I should check it out if I find the time.

Unreal engine is the go-to engine when it comes to starting projects with off-the-shelf engines. Unity coming in second, but Unreal has a much steeper learning curve and some very simple things can take much more time than Unity. Choose your poison carefully.
 

GrumpyCoder

macrumors 68020
Nov 15, 2016
2,126
2,706
I'm hoping that Valve would port their Windows/DirectX layer that they're going to use on SteamDeck, but it would definitely add a performance hit.
I've not had a closer look at Proton. For SteamDeck, I guess it makes sense as an easy way got get everything running. I've heard good things and bad things. We'll see how successful SteamDeck will be in the end. I think they're more trying to buy into the Switch market with it.

For me personally, I have a dual boot Linux/Windows box, which is solving the problem.
 

JouniS

macrumors 6502a
Nov 22, 2020
638
399
Define cheap. You need a full team of developers supporting it. This isn’t the 80s anymore when we made games alone or a team of 3-5. Back then things were simple and porting stuff was also somewhat simple compared to today. Don’t get me wrong, I miss those days and looking at what we could do back then vs now is an eye opener. But you know what they say, things were always better in the old days.
Cross-platform development does not increase the costs significantly, if you plan for it from the beginning and follow reasonable software engineering practices. Porting existing software to a new platform can be far more expensive, especially if you are using platform-specific APIs.
 

diamond.g

macrumors G4
Mar 20, 2007
11,438
2,665
OBX
I've not had a closer look at Proton. For SteamDeck, I guess it makes sense as an easy way got get everything running. I've heard good things and bad things. We'll see how successful SteamDeck will be in the end. I think they're more trying to buy into the Switch market with it.

For me personally, I have a dual boot Linux/Windows box, which is solving the problem.
Isn't Proton just a fork of WINE?
 

GrumpyCoder

macrumors 68020
Nov 15, 2016
2,126
2,706
Cross-platform development does not increase the costs significantly, if you plan for it from the beginning and follow reasonable software engineering practices. Porting existing software to a new platform can be far more expensive, especially if you are using platform-specific APIs.
Well, that's a textbook quote and sure works for many Office type applications, but not so much on games. Look at the D3 engine by Blizzard which was planned as multi-platform from the beginning. How did that turn out for them cost wise? Cross-platform relies on a subset of features available for all platforms. The more different the platforms are, the more difficult and more expensive it gets.
Isn't Proton just a fork of WINE?
Yes, WINE + whatever they threw into the mix (I don't know). It's on GitHub, but doesn't seem too active, except for the 3000+ open issues. ?
 

JouniS

macrumors 6502a
Nov 22, 2020
638
399
Well, that's a textbook quote and sure works for many Office type applications, but not so much on games. Look at the D3 engine by Blizzard which was planned as multi-platform from the beginning. How did that turn out for them cost wise? Cross-platform relies on a subset of features available for all platforms. The more different the platforms are, the more difficult and more expensive it gets.
Cross-platform development depends on good software engineering practices such as abstractions and keeping the code readable and maintainable. Game developers used to be notorious for chasing maximal performance at the expense of such practices, but I guess things are better these days.

Anyway, my point was that cross-platform development is cheap, because you are aware of the features and the limitations of the platforms and make your design choices based on them. Porting the software to a platform you originally did not plan to support can be expensive, because you may have made choices that are fundamentally incompatible with the new platform.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678
Cross-platform development depends on good software engineering practices such as abstractions and keeping the code readable and maintainable. Game developers used to be notorious for chasing maximal performance at the expense of such practices, but I guess things are better these days.

Yep, it’s all about planning and good design practices.

Anyway, my point was that cross-platform development is cheap, because you are aware of the features and the limitations of the platforms and make your design choices based on them. Porting the software to a platform you originally did not plan to support can be expensive, because you may have made choices that are fundamentally incompatible with the new platform.

There is a great example: Civilization 6. The details are a bit h y, but from what the devs have explained in the support forums, it seems that the original game dev studio used a random number generator facility that was somehow dependent on their development OS (Windows). When they later gave the game to Firaxis to port, there was a huge issue keeping multiplayer games in sync, since different clients would generate different sequences of random numbers. It took Firaxis months to build the Mac port that could closely follow the Windows behavior and even then it would desync frequently. A problem trivially solvable if the lead architects took multiplatform support into account and chose basic building blocks that produce the same result on various systems (it’s not that difficult).
 

GrumpyCoder

macrumors 68020
Nov 15, 2016
2,126
2,706
Anyway, my point was that cross-platform development is cheap, because you are aware of the features and the limitations of the platforms and make your design choices based on them.
If you're only working within those feature sets, sure. But games are really not a good example for this, as they're so different for this and usually don't work on a subset of features.
There is a great example: Civilization 6. The details are a bit h y, but from what the devs have explained in the support forums, it seems that the original game dev studio used a random number generator facility that was somehow dependent on their development OS (Windows). When they later gave the game to Firaxis to port, there was a huge issue keeping multiplayer games in sync, since different clients would generate different sequences of random numbers.
Yes and no, I think it's a bad example. It's not really that difficult to have a random number generator do its job on different platforms. The problem with Civilization is that it drags around years and years of obsolete design/code. The problem isn't really the number generator, but the way they implemented sync and async code, which came from old dialup days to save bandwidth. They could not do it on one machine, so they had to do it in parallel on each machine, but with the same results. The issues they had from desync (why do I feel like in an Assassins Creed game?) was largely not from the RNG, but systems becoming out of sync for various reasons. They have also moved async code to sync by utilizing network messages.

It was initially a bad design to port to a different system. From what I remember all that was baked into a DLL.
 

JMacHack

Suspended
Mar 16, 2017
1,965
2,424
If you're only working within those feature sets, sure. But games are really not a good example for this, as they're so different for this and usually don't work on a subset of features.

Yes and no, I think it's a bad example. It's not really that difficult to have a random number generator do its job on different platforms. The problem with Civilization is that it drags around years and years of obsolete design/code. The problem isn't really the number generator, but the way they implemented sync and async code, which came from old dialup days to save bandwidth. They could not do it on one machine, so they had to do it in parallel on each machine, but with the same results. The issues they had from desync (why do I feel like in an Assassins Creed game?) was largely not from the RNG, but systems becoming out of sync for various reasons. They have also moved async code to sync by utilizing network messages.

It was initially a bad design to port to a different system. From what I remember all that was baked into a DLL.
Does civ6 still use unreal3 like civ5? I think I remember hearing that it did.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.