During its annual Worldwide Developers Conference Monday, Apple announced that it will deprecate OpenGL, a common graphics tool used by game developers.
"Apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but these legacy technologies are deprecated in macOS 10.14," Apple said. "Games and graphics-intensive apps that use OpenGL should now adopt Metal [Apple's supported graphics API]."
It wasn't the most attention-grabbing news of the day for most people, but for indie game developers it caused immediate alarm.
"It's an incredibly 'Apple' move"
Put simply, OpenGL is a middleman that takes instructions from a program and tells a graphics card what to do with it. It basically does the same job as DirectX for Microsoft programs. OpenGL, though, is open-source and cross-platform compatible. This is especially important for independent developers with limited time and resources. If you're an indie dev making a game that you'd like to release on Windows, Mac, iOS, and Android, you can do the work once by using OpenGL and know that your game will work correctly on those platforms.
At least, that was the case until yesterday. "A problem with game development is projects can be very long and teams are often in a financially perilous situation," Andi McClure, an independent game developer and the founder of Mermaid Heavy Industries, told me in an online chat. Because OpenGL had been around for a long time and supported by so many different platforms, she said, it was a technology that developers could rely on and plan around. "When you start working with a technology, you really want to be certain that it will still be around in three years when it's time to release."
Rami Ismail, who makes up half of the Dutch indie games studio Vlambeer, told me in a Twitter message that Apple's decision will create an "additional obstruction to writing custom [game] engines, additional chances for bugs, and just additional headache for what—to most developers—is a secondary platform."
McClure said that depending on how the rest of the industry reacts and adapts, this news could be a big deal or not. There are already programs that can make up for the lack of official support by translating OpenGL into Metal. "At some hypothetical point in the future, there might exist an open source library which allows you to emulate OpenGL on Metal," McClure said, "[but] it doesn't exist now... What this does is introduce a cloud of uncertainty."
"It's an incredibly 'Apple' move to indicate this intent, but while they offer overwhelming financial opportunity on mobile platforms, they simply don't on computer platforms," Ismail said. "The uncertainty as to a future timeline definitely doesn't help here, and the lack of financial impetus might mean a lot of developers can not justify the cost/benefit of adjusting old code to new standards. It's often not a trivial task."
The change probably won't affect larger companies like Electronic Arts or Ubisoft, which use their own in-house code to talk to different platforms. This also won't affect small teams that use established game-making engines like Unity or Unreal, which also have their own ways of calling down to different platforms. But for small developers who don't want to commit themselves to a single platform or a proprietary ecosystem like Unity or Unreal, they'll might have a choice to make in the future: do a lot more work to make games cross-compatible, or simply ignore the Mac market.