Game Devs Express New Fears Over Future of Mac Gaming as Apple Deprecates OpenGL and OpenCL in macOS Mojave
Yesterday at WWDC 2018, Apple revealed macOS Mojave, which is set to bring users a Dark Mode, redesigned Mac App Store, organizable Stacks, streamlined screenshots, and more when it launches wide in the fall. Alongside the new features, Apple has confirmed that it is deprecating OpenGL (Open Graphics Library) and OpenCL (Open Computing Language) in favor of Metal.
This means that apps built using OpenGL and OpenCL will still run in Mojave, but they will no longer be updated after macOS 10.14 launches. Apple encourages games and "graphics-intensive apps" built with OpenGL to adopt Metal ahead of Mojave's launch, and apps that use OpenCL for computational tasks "should now adopt Metal and Metal Performance Shaders."
Launched four years ago, Metal is Apple's own 3D graphic and programming interface that combines the functions of OpenGL and OpenCL under a singular API. In explaining the move of deprecating the "legacy technologies" of OpenGL and OpenCL, Apple said that "Metal avoids the overhead inherent in legacy technologies and exposes the latest graphics processing functionality" of GPUs found in devices across iOS, macOS, and tvOS.
Although Apple's decision to deprecate the older technology in favor of its own graphics API may not be surprising, some game developers have begun criticizing Apple for the move, particularly how it affects the future of gaming on Mac. Notably, OpenGL is an open-source, cross-platform solution that made it simple for developers to build games on both Mac and PC at the same time, providing some parity to a platform that many have agreed is lacking as a gaming hub.
Since "many games and apps continue to use OpenGL," particularly those that released prior to Metal in 2014, the shift to Metal-focused development is leaving Mac developers worried about any potential to grow as a gaming platform (via PC Gamer). Game developer Sam Loeschen tweeted that he feels "conflicted" about the decision, calling Metal a "really, really good" graphics API but admitting that "this decision alienates macOS further as a gaming platform."
Speaking with PC Gamer, game designer Rami Ismail said that while "it's not doomsday," it appears that Apple is preparing for such an occasion in regards to fully terminating OpenGL/OpenCL on Mac. He explained that for now, "the worst that's going to happen" is that parts of old apps will "break," and pointed out that lacking a single cross-platform graphics API is a "pain" and "not very good for developer confidence" in Apple.
"With deprecation, abandonment can vary from 'soon' to 'never', so until we have information on that, we can't really say," he said. "All we know is Apple seems to have shown intent to rid itself of OpenGL in favor of its own graphics API, Metal. The problem with Metal is very similar to the problem with DirectX: it's not cross-platform.
"It's not doomsday, it's more like Apple building a giant EMP machine and saying 'we might or might not use this.' The worst that's going to happen is old stuff will break, and our engines and libraries will grow a bit to support both Direct3D and Metal. Not having a clear guideline for future actions Apple might take in this regard isn't very good for developer confidence, I'd guess, and not having a single cross-platform graphics API is just a pain."
More developers and programmers chimed in on the news to PC Gamer, including Alex Austin, who ultimately said that while he likes to develop on Mac to "support fans if I can," he's most likely "not going to spend any time on Metal because Macs are a pretty small percentage of the market and really probably not worth it even now."