- Category: News
- Published: Thursday, 10 October 2019 02:50
- Written by HiGuy
- Hits: 1891
macOS Catalina was released this Monday and has removed support for 32-bit applications. Marble Blast, and by extension, PlatinumQuest, will not run on macOS Catalina. If you want to continue playing Marble Blast on macOS, do not update past macOS Mojave.
Future builds of PlatinumQuest will continue to support the same versions of macOS (10.7 - 10.14) but if you update your computer there are a few alternative ways to play:
- Install a Windows Virtual Machine and play the Windows version of PlatinumQuest.
- Install a Linux Virtual Machine and play the Windows version via WinE or Proton.
- Hopefully in time, CodeWeavers will update WinE on macOS to support running 32-bit programs.
Thanks for playing with us for all these years. We'll let you know if we add support for running PlatinumQuest on macOS Catalina.
macOS Catalina removes support for applications to run in 32-bit mode. 32-bit mode is, effectively, a backwards compatibility layer that allows your processor to run as if it's an older version of the processor architecture. Most modern software has both 32-bit and 64-bit versions; often, both versions are bundled in the same package, essentially allowing the operating system to pick based on how old your computer is. From Catalina on, only the 64-bit version is supported by the operating system; it will refuse to run 32-bit software, and even if you managed to get it to, you would be missing the code that hooks it up to the operating system and lets it do things like open a window, read files, etc., which is obviously required for it to run. A 64-bit program is completely different from a 32-bit program, in the sense that the software speaks to the processor using a different form of language. So you can't really mod a game to add 64-bit support like you could mod it to add multiplayer--you would need to take all of the existing binary code and modify all of it.
So, that being said, if you want to play PQ on 64-bit macOS, you'll have to do one of the following:
- Simulate a 32-bit-compatible machine from within your 64-bit machine. This is what Virtualbox and VMware do: they effectively make a "fake computer" that exists inside your real computer. It's a bit more complicated than that in practice, but you can see why this would result in a performance drop: your computer, in addition to running itself, has to dedicate resources to also running a second computer within itself.
Translate the 32-bit code to 64-bit code on the fly. This is what CrossOver and Wineskin do. It still has a performance drop, but it's not as big. The problem with this approach is that operating systems and processors are complicated, so these approaches will always have occasional edge cases where parts of the 32-bit system are supposed to interact in ways that the translation software doesn't understand. It's a matter of luck whether any of these edge cases end up crashing your game or similar.EDIT: HiGuy informed me that this is technically inaccurate, and that translating 32-bit to 64-bit code on the fly is technically infeasible because it would be way too slow. Remember how I said "even if you managed to get it to [run code in 32-bit mode], you would be missing the code that hooks it up to the operating system and lets it do things like open a window, read files, etc., which is obviously required for it to run"? That's exactly what CrossOver and Wineskin do: they run the code in 32-bit mode and translate the missing 32-bit operating system calls to the corresponding 64-bit versions.
- Translate the 32-bit code to 64-bit code once, producing a native 64-bit version. This is theoretically possible, but as far as I know, such a technology doesn't exist yet. (And if it did, it would have the same issue with edge cases as the previous approach, and probably most of the performance issues as well.) If you want this technology to exist, then you should figure out how to sell it to investors so you can start a business. As someone with only a few months of experience working in the software industry, I'm pretty sure it'll be a flop.
- Get the source code to MBG and rebuild it as a 64-bit program. This has potential, but it would still be a significant development cost because everything would have to be examined and tweaked to make sure it works in 64-bit macOS. There's a much bigger problem here: we don't have the source code to MBG, as far as I know. If the code still exists somewhere (i.e. hasn't been deleted from the hard drives it was on), then we would likely have to get the rights to the game in order to get the source code, and IAC or whoever owns the rights right now will likely want a lot of money, to the point where everyone registered on these forums would have to contribute several hundred dollars for us to have a chance. I doubt you'll find one person in this community willing to pay several hundred dollars in order to get MB to run on 64-bit macOS.
- Reconstruct the game from scratch as a native macOS app. In other words, the last idea would be to take our knowledge of how the game works and use that knowledge to reprogram everything from scratch in a more modern engine. If you're going to put the effort into doing that, at that point you might as well just make a new, more modern marble game. And of course, the MB devs ended up doing just that, by making MIU.
So in conclusion: there is a massive hurdle in the way of getting MBG to run natively on Catalina and later, and it's a hurdle that can't be removed by throwing money at it unless it's the kind of money that most fundraising campaigns could barely dream of having.
One last thing I will say: this might not be financially viable for many people, but for those for whom it is, I would recommend just getting a copy of Windows to run on your Mac, or even buying a Windows PC. As someone who recently released a game on Steam that I'm totally going to take a few words of hyperlink to advertise, I've been told that Apple is getting less and less hospitable to game developers in the name of preserving a very strict amount of security and control, and I'll be surprised if there isn't an uptick in the number of Windows-only (or Windows-and-Linux-only) games in the next few years. So if you play a lot of video games, it's probably a good investment.
Running a Windows virtual machine in Virtualbox/VMware: www.virtualbox.org/ www.vmware.com/products/fusion.html
Note that all three of these options come with significant performance penalties and we are not planning to officially support them. If you want to play on macOS natively, use an older Mac that has not been updated past macOS Mojave.