At Apple’s Worldwide Developer Conference (WWDC) keynote on Monday, Tim Sweeney, the chief executive of Epic Games, and lead platform engineer Josh Adams showed off Unreal Engine 4 running on iOS 8, the new version of Apple’s mobile operating system.
The Unreal “Zen Garden” demo showed a beautiful Japanese garden with lots of koi, butterflies, and cherry blossoms — all moving like individual objects. Sweeney said the demo had 5,000 cherry blossoms floating on the screen. Such cool 3D graphics will soon be available on Apple’s mobile devices thanks to Metal.
The demo took advantage of a new low-level rendering applications programming interface, Metal, which gets rid of the aging and code-bloated OpenGL ES API. Instead, game developers can use game engines from Unity, Epic Games, and Crytek to create games that can be 10 times more efficient in rendering via Metal. Epic’s demo (here at 99:30) will be available free for developers after iOS 8 comes out.
We talked with Sweeney after the speech. Here’s an edited transcript of our interview.
GamesBeat: If I understand correctly, now a developer can write directly to Metal, and the game engines do the work of translating that so you can run on something else besides that hardware.
Tim Sweeney: That’s right. Metal is a low-level rendering API, which means it provides the absolute minimum layer of software needed to support multiple versions of different graphics chips. It shields developers from the very low-level implementation details. It replaces OpenGL ES, which is an ancient relic of the Silicon Graphics era.
GamesBeat: In what way was that showing its age?
Sweeney: There’s just a huge amount of overhead introduced by OpenGL into the graphics pipeline. It has a very high-level view of the scene. It doesn’t let developers to the low-level management of resources that they need to achieve efficiency. Metal achieves about a tenfold decrease in driver overhead. It’s an order of magnitude improvement.
The great thing is, developers using a game engine, they’re writing very high-level code for their game logic anyway. The game engine is doing all the work of translating it to a graphics API. We’ll see an immediate, significant improvement in the number of objects and the complexity of the scenes they can build without having to do constant work themselves.
GamesBeat: Do you see this as something like AMD’s Mantle, a similar effort to what they’ve done? Or is it different in some way?
Sweeney: Yes, Mantle is another low-level API. Microsoft and Sony have similar low-level APIs on their consoles. DirectX 12 is an attempt to create a low-level rendering API for the next version of Windows. It’s a general trend in the market. We’re happy to see Apple leading the way with mobile devices. OpenGL ES is the bane of our existence there, because it not only has a lot of overhead, but it has all that overhead on the platform where you can least afford it. You have these small devices which are limited by their power consumption and heat generation. The more efficiency you can get out of the graphics API, the more you can do as far as immediate improvements in graphics quality.
GamesBeat: How long has this effort been going on? Did you guys get involved awhile ago?
Sweeney: We’ve been working with Metal for some time. I can’t share any details of the timeline, though.
The Zen Garden demo we showed here, it’s a proof of concept, showing what’s possible. It was developed over a period of time that allowed us to provide valuable feedback for both Epic and Apple on guiding the API’s authorization efforts. It’s an example that developers can follow when looking at building high-end content that can run on these mobile devices now.
GamesBeat: How does this proliferate into the market? Is it when iOS 8 comes out?
Sweeney: Yes. It’ll be available then. Any game that’s written on a game engine like Unreal Engine 4 will be able to download the new version of that engine after iOS 8 is available, and then they can take advantage of all the features and performance levels in Metal.