BallisticNG

BallisticNG

View Stats:
DoomBot[Q] Jul 1, 2024 @ 4:22pm
Swapping to METAL API
Are there any plans to update the mac version to run on the Metal API? As it sits, with it running on the OpenGL API, Vsync is completely unusable in it's current state on Apple silicon systems, so it would be amazing for the Metal API to be supported.

That being said, performance is quite good on this game, ranging from 60-80 fps at 1440p on an M2 Mini base model, so I really can't complain from a performance perspective.
< >
Showing 1-3 of 3 comments
Aidan  [developer] Jul 6, 2024 @ 4:08am 
There aren't any plans for Metal enabled Mac builds I'm afraid. I've had the game running on Metal as an experiment and while there were a few technical issues with it the big issue is custom content.
Very little custom content will work as stuff like shaders are only packaged for DirectX and OpenGL. Modding tools could be updated to start producing metal variants but then mod authours would need to rebuild all of their content. This is something we've already gone through once years ago to get the Mac and Linux versions official in the first place, and it was a painful process.
Mac users account for a tiny fraction of the player base so unfortunately it isn't worth all the work required.
DoomBot[Q] Jul 6, 2024 @ 2:38pm 
Originally posted by Aidan:
There aren't any plans for Metal enabled Mac builds I'm afraid. I've had the game running on Metal as an experiment and while there were a few technical issues with it the big issue is custom content.
Very little custom content will work as stuff like shaders are only packaged for DirectX and OpenGL. Modding tools could be updated to start producing metal variants but then mod authours would need to rebuild all of their content. This is something we've already gone through once years ago to get the Mac and Linux versions official in the first place, and it was a painful process.
Mac users account for a tiny fraction of the player base so unfortunately it isn't worth all the work required.

It's nice to hear directly from a dev on the issue, pity it isn't good news. However, I will say that the fact that the Mac port does work as well as it does is quite nice, and I appreciate you taking the time out of the day to respond. My only overall gripe is the lack of Vsync on Apple silicon devices for OpenGl, but that's a minor one at best, and from what I understand, is a common problem with the current OpenGL implementation on Apple Silicon systems, what with the OpenGLES wrapper to metal that MacOS implements, though some devs seems to have resolved that problem. As long as the content and the Mac version continue to work through all the updates you all are adding in, I'm content. Having played this from very early access, I'm impressed with everything that has happened so far.

That being said, last I looked, MacOS and Linux are just a tiny fraction against Windows, but that may be changing in the future, what with the major stumbles that Microsoft has been doing here lately. I'm hoping that more MacOS gaming goodness comes in the future, but at least BallisticNG is in my library and working for the time being. (I also play this on my linux box, but I prefer MacOS overall for quite a few reasons, none of which are related to the surface level.)
Tony Pond Sep 15, 2024 @ 10:08am 
Have you tried running the Windows version of BallisticNG via PortingKit or Whisky? That may enable v-sync functionality on your mac.

Both are versions of WINE used to run Windows software under Linux:
* https://www.portingkit.com/
* https://getwhisky.app/

Whisky is very similar to Bottles on Linux if your familiar with that (it simplifies the Windows Prefix management).

These 2 convert the DX calls to Vulkan (DXVK) and will then convert the Vulkan to Metal.

There are also command line options for Unity to force Vulkan/Metal/DX rendering (platform specific):
* https://docs.unity3d.com/Manual/PlayerCommandLineArguments.html

-force-vulkan -force-metal (macOS only) -force-d3d11 (Windows only) -force-glcore

On Linux there are also tools like libstrangle which are used to limit the frame rate of software, perhaps there is the equivalent version (or modify libstrangle) on the mac:
* https://gitlab.com/torkel104/libstrangle

Ultimately this is a re-occurrence of a old issue on the mac and your best bet is to report and hassle Apple to fix it:
* https://github.com/libsdl-org/SDL/issues/4918
* https://github.com/glfw/glfw/issues/2249
< >
Showing 1-3 of 3 comments
Per page: 1530 50