Feels like every few weeks we have to update the way we prepare Ren’Py builds for Mac.


Ren’Py Mac builds

Mac OSX post-Catalina version requires software to be completely 64-bit. It also requires code-signing, which you usually need to create a developer account to do. Ren’Py can get around this by being signed itself, so when we make Mac builds, we need to package the game together with the Ren’Py launcher. You will know if a game does not launch if you go to launch it and see the game icon bounce for a bit in the doc before disappearing.

It is not the greatest user experience to launch a game, see the Ren’Py launcher, then select the game and hit “Launch Game” to get it to run. We discovered that instead of packaging the entire Windows/Linux folder inside Ren’Py and bundling it all up, we can include just the relevant game folder and launcher icons.

folder structure of the mac dead mans rest game

Previously, all the items with red arrows by them were wrapped inside another subdirectory Dead-Mans-Rest. By removing this nested structure, launching the game now launches the game directly, no Ren’Py launcher in site.

How do you launch the game?

Steam

If you are playing on Steam, then the game launches via the renpy.app file. If you are building the game on a non-Mac computer, then you need to make sure the entire folder has the necessary read and/or executable permissions. We do this by running chmod -R 755 dead-mans-rest-mac-final, which runs the permissions changing command on all files in the folder. You could also do chmod +x dead-mans-rest-mac-final, possibly running it directly on renpy.app and/or renpy.app/Contents/MacOS/renpy.

Itch

Doing the above process doesn’t work for itch.io downloads. Steam downloads have some magical ability to run (maybe Steam is doing some additional signing or passing along certificates telling Mac that the file is safe to run). Itch (or other platforms, such as Google Drive) does not come with this magical ability. To get the game to run, we have to make a symlink to the direct Ren’Py executable file and give it special permissions. Probably.

We haven’t tried only doing the chmod +x renpy.app/Contents/MacOS/renpy command, uploading, downloading, and running the game. Maybe that is enough.

Anyway, the current method to get a Mac Ren’Py game to run (when downloaded from not-Steam):

ln -s renpy.app/Contents/MacOS/renpy <YourGame>.app
chmod -R 755 renpy-sdk-folder

IMPORTANT NOTE IF BUILDING ON NOT-MAC. On Windows, you can run the chmod and symlink commands by installing Windows Subsystem for Linux. You can also make a symlink with a native Windows command mklink SymlinkOutput.app PathToRealFile.app (pay attention to how the arguments are backwards from the symlink command). HOWEVER, if you try to upload the game to Steam/Itch via command line tools (Steam command line tool, itch’s butler tool), the upload will fail, claiming the symlink file is inaccessible. The current “workaround” is to…make the build on Windows and upload it to itch (or elsewhere), then move to a Mac, download the game, do all the symlink/permissions changing, and reupload the game.

Questions or Comments?

Feel free to send in questions about any AG games (or dev-related questions)! Our Ask Box is always open.