BG3 on the Mac

If you regularly read this blog, you know that I’ve posted a lot about Baldur’s Gate 3.

You also may remember my long discursive posts on using a Macintosh desktop.

Therefore, here’s the post you’ve been waiting for: A lengthy description of my problems running BG3 on my Mac.

(If I could, I would have added “… while taking a road trip as I left the Ren Faire as I controlled my 3D printer using HomeKit.” Someday, perhaps.)

Why?

I’ve been playing BG3 on my PS5. Why do I want to play it on my Mac?

I’ve gotten a couple of hints from friends that they might interested in playing BG3 with me. However, cross-platform BG3 games between consoles and desktops is not yet possible. Larian says they’ll work on this for the future, but there are technical hurdles they have to get through.

Cross-platform play between PCs and Macs is possible… or was until the PC version was recently patched. When the Mac version is patched next month, it will become possible again.

If I can set up BG3 on my Mac, it opens the door to playing with my friends who don’t have a console.

What’s the problem?

I purchased BG3 on Steam, a platform that many companies use to distribute their games.

I’m not fond of Steam. I often find its games are sub-par and the user experience to be problematic. As we’ll see, this turned out to be the case for BG3. But if I wanted to play BG3 with friends who didn’t have a PS5, it was (pardon the pun) the only game in town.

(You can play BG3 multiplayer using a different game service, GOG, but that requires a special network set-up among all participants; it’s not much better than saying that everyone has to use a PS5 to play with each other.)

I started up the Steam version of BG3 and immediately encountered problems.

The interface

I use a standard PS5 controller to play BG3 on my console. The interface is somewhat clunky. I accepted that, and anticipated that the desktop version of the game, using a keyboard, would be better.

It’s not. I was surprised that a game that’s so popular had such a poor non-standard keyboard+mouse interface.

Using a controller, you have to select which Action (green sector) or Bonus Action (orange sector) you want to do by navigating between radial options menus with controller buttons and using a joystick to select an individual sector.

As you continue to play the name, the number of possible actions can get quite large, so you have to scroll through lots of wheels. Fortunately, you can organize the sectors and the wheels so the actions you most commonly use are near the beginning.

The character inventory display on the desktop. The funky symbol in the middle of many of the item icons in the middle indicates that Astarion plans to sell the item when he next visits a vendor. Note the action icons near the bottom of the screen; those are equivalent to the “action sectors” in a radial menu on the console. To me, it’s not as clear which icons represent Actions and which represent Bonus Actions, but I suppose that’s just a matter of practice.

A multiple-character view using keyboard+mouse. This is not possible using the controller; you have to view each character individually, and use buttons to switch between characters.

Here’s the equivalent inventory screen on the console. Note that in this particular game instance, Astarion has already sold the items that the desktop Astarion still has in his inventory.

In coming to this conclusion, I acknowledge that my desktop game-playing habits have been shaped by playing World of Warcraft for 15 years, and other games like Portal and Hades. In those games, there was some way of moving your character using the keyboard. Perhaps you could use the mouse as an option, or it was the mouse that controlled the camera.

In BG3, the keyboard solely controls the motion of the camera, not the character. The only way to move your character is using the mouse. You click on a location on the screen, and your character moves there.

Here I’m trying to move Lae’zel by clicking on the side of the hill. Note that the path goes off to the side, partly because I’m trying to move her at the same time I’m typing Cmd-Shift-3 to take a screenshot on the Mac.

Does this sound like a minor complaint? Well, it depends. If you click on a spot that’s a short distance from your character, I suppose it doesn’t matter. But if you click on a spot that the character can’t move to in a straight line, the character may take some twisted path to get there.

This is not good in a game like BG3. While a character won’t normally fall into a chasm while “pathing” to a destination, they might walk through fire or acid and take damage. If the character should walk past an enemy you did not anticipate, you have a problem; combat depends heavily on the precise position of your character with respect to terrain and opponents.

The controller

I play Portal and Hades using a controller. Can’t I use a controller to play BG3 as well?

Eventually, I could. But not at first.

When I first attached a PS4 controller to my Mac while playing BG3, there was a pop-up with the notification that someone else was trying to join the game. I was puzzled, since I hadn’t turned on the multiplayer option. I dismissed the warning.

After a few seconds, I got the same warning. It turned out that the warning would show every time I hit the X button on the controller.

I restarted the game. This time I got a split screen, with the game trying to get me to create a new character while playing with the old one.

After some web searches, I understood what was happening: The game treated having both a keyboard+mouse and a controller attached to the same computer as having two players.

I can understand why this might be desirable in some circumstances. Certainly the console version supports multiplayer games when multiple controllers are connected to the same console.

In the desktop version of BG3, there seemed no way to turn this behavior off. Web searches suggested setting “Disable Steam Input” in the Controller Properties for the game. No effect.

Finally, I found the solution, at least for the Mac: Go into the Terminal program and type:

rm ~/Library/Application\ Support/Steam/steamapps/common/Baldurs\ Gate\ 3/Baldur\'s\ Gate\ 3.app/Contents/Resources/GamePadDefinitions.plist

That’s obvious, isn’t it? (Sigh.)

Was this a problem in BG3? Or was it a problem with Steam (all programs purchased through Steam run within its framework)? I don’t know.

At least when the game was set to use the controller, all the various displays (actions, inventory, etc.) shifted to the console versions.

Program crashes

With the user-interface issues no longer an outstanding problem, I started playing the game. I noticed that the game would hang frequently. The screen would freeze, and the cursor would turn into the classic “Spinning Pizza of Death” (aka SPOD) that every Mac user has encountered.

The program could be stopped, either via the Steam app or via “Force-quit“. This had no lasting harm I could see, except for being annoying and losing whatever progress I’d made since I last saved the game.

To be sure, the console version of BG3 is hardly bug-free. It can start developing glitches, making it desirable to restart the program. There are also infrequent crashes, perhaps once a month or so. But the Mac version was crashing on the order of every five minutes.

Finally I started approaching the problem like a sysadmin. I had a particular game save (just before the start of the first goblin raid, for those who care) that would “crash reliably.” I restarted my Mac (in the end, many times!) with and without different programs running. I tracked the problem down: BG3 would crash (most of the time) if VPN was running, and was stable without VPN.

VPN (for “Virtual Private Network”) is a way of encrypting network traffic. Lots of people use it to protect their privacy. I use it for work: I’ve set up VPN at the workplace so that users with an account at the lab can remotely access systems protected by our firewall.

I use my home desktop both for work and personal stuff. Turning VPN on and off all the time is a pain; the transition resets network connections and many programs have to be restarted if you turn VPN on/off. So I normally keep VPN running all the time, often for weeks.

A quick web search showed that lots of folks play BG3 while using a VPN. There’s nothing intrinsic in the design of the game, nor in the VPN server’s configuration, that should cause a problem like this. I’m certain of the latter, because I’m the one who configured VPN for my workplace’s network.

I went all-out sysadmin. I used Wireshark to examine the network traffic when the game crashed versus when it didn’t.

I didn’t find anything conclusive. On the other hand, I’m not facile with interpreting network traffic.

Maybe this is a sign of the problem. The mass of black “TCP Dup Ack” messages occurred roughly at the time the game crashed. But not all crashes that I tested left a “fingerprint” like this, and there are instances of the same error in runs in which there’s no crash.

If you’re curious, the IP address 10.44.47.2 is the network-translated address of my Mac while running VPN. 23.52.161.177 is the IP address of a system that belongs to Akamai, a cloud computing provider.

By using Wireshark, I identified that while BG3 is running my computer accesses cloud systems at Apple, Akamai, Amazon and Google. Does this have anything to do with my problem? Is it because I use Dropbox? Is any of this related to the crashes? Is it BG3 or Steam that’s the source of the crash? I don’t know.

From a practical standpoint, this means that if I have a friend who’d like to play BG3 with me on their desktop, I’ll have to turn off VPN. Mildly annoying, but a small price to pay for friendship.

Benefits of the desktop version

Before I make it sound like the entire BG3 desktop experience is inferior to the console experience, there’s a few things I should note.

Image

This is probably a function of my sitting closer to my computer’s monitor (an Apple Studio Display, or of the gamma corrections I’ve set up on the different systems, but the graphics on the desktop look better to me than the graphics on the PS5.

Shadowheart from a screen capture I made on the PS5. Some of the points of comparison I make in the next picture caption are due to image changes caused by the PS5 screen-capture and file-transfer process; in other words, the images looks better on the console than this picture shows.

Shadowheart from a screen capture I made on my Mac. Note how the colors seem richer in this picture. Also, it’s easier to make out the scar under Shadowheart’s right eye. Again, this may have to do more with the brightness, contrast, and gamma corrections in my device settings.

The difference in the text captions is entirely due to the accessibility settings I selected. I found it harder to read small text at a distance on the PS5.

Speed

File operations such as loading games and transitioning between scenes are definitely faster on my M1-series Mac than they are on the PS5.

Game Saves

The number of available slots for game saves is much larger on the Mac than it is on the PS5. XBox users have reported the same thing: The console version of the game is limited to perhaps 25 slots while the desktop version allows for dozens.

This may not sound like much of a difference; isn’t 25 slots enough? Not if you’re trying to preserve at least a few game moments from previous playthroughs. I’m at playthrough 10 right now, and I’d like to keep around 10 slots just for that playthrough. I’d also like to keep at least one or two saves from each of my previous playthroughs. I’ve become accustomed to the message “You’re running out of storage space” and having to make some tough decisions.

This isn’t an issue on the Mac. I don’t know what the limit is, but I’m nowhere close to it.

It’s not a matter of physical drive space. Both systems have at least 1TB of free storage, according to their operating systems. This is a limit that Larian has assigned for some reason.

On a positive note…

One nice thing I discovered through this process is that Larian supports cross-saves between the desktop and console versions of BG3.

The terminology can be confusing:

  • “Cross-play” means that players on different kinds of systems (e.g., one person on a console, another on a desktop) can both play in the same multiplayer instance of the game. Larian does not yet support this.
  • “Cross-save” means that you can save a game instance on one system, and continue it on another. This is done by saving the game’s file on servers maintained by Larian.

I confirmed that this works. I was able to continue games on the Mac that I started on the PS5, and vice versa.

There may be a limit to the number of game instances you can store on Larian’s servers; I haven’t reached it yet.

There are a couple of minor issues with BG3 cross-saves:

  • When you save a game, the delay becomes longer because the instance has to be transmitted to Larian.
  • On a PS5, if I put the console to sleep without quitting the game, it cuts the network connection. When I wake the PS5 from sleep, I get an initial message about the network not being available, followed by a message about being unable to save the game remotely every time I do a save.

    This may not seem like a problem, but one of the things you quickly learn when playing games of this sort is “save early, save often.” The “can’t save” error becomes repetitive and annoying.

Conclusion

In general, I still prefer to play games on the PS5 than I do on my Mac. If I want to relax with a game, it’s more comfortable to sit in the easy chair before the TV.

Also, when I sit in the easy chair, it’s more likely the cats will jump into my lap and snuggle for a while. Whether this is a benefit or a hindrance in the midst of a complex game battle I leave for you to decide.

And now I have the option to play with friends. We’ll see if any of them are interested.

This Post Has One Comment

Leave a Reply