Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"figure out what it’s going to take to port their games to the Mac"

By running them on a DX12 translation layer that they can't utilise? What would be the use case then?



Since they use their own Direct3D on top of Metal (D3DMetal), you can immediately start investigating performance while not much of the game is ported yet. Even while running the game in Wine, you can already analyze graphics performance with Instruments.app.

At least this was the messaging in their talk about this: first you had to work months on a port to see how well a game would work on Mac hardware, now you can immediately run it, investigate bottlenecks and see where a port would land performance-wise before putting in any of the work.

I wonder if they will make the D3DMetal usable from native code as well, I can imagine that would make porting much easier:

- First you run on Wine + D3DMetal to get idea if your game would run well enough on Apple hardware at all.

- Then you start building the game natively, still using D3DMetal, so that you don't have to immediately port the graphics stuff.

- Once you have a running game on top of D3DMetal, you start porting it over to Metal with their shader converters, etc.


There is so much more to a modern engine than just 3D graphics. Sound, input, windowing integration, high-speed disk streaming IO, networking, robust OS integration (where to store save files, etc), just compiling it. Problem is that testing most of this depends on having a working renderer to display the game. This tool allows getting something on the screen faster so you can test everything all at once instead of having a bunch of sound, networking and platform engineers waiting around for the rendering team to get their part working.


Dunno about Apple's version but with Wine you can linnk native code against winelib, allowing you to test what you have already ported before you got everything up and running.

Of course if Vulkan was a suppoted API on macOS, developers could just port to Vulkan on Windows and then implement the rest on macOS.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: