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.
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?
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
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/renpycommand, 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):
- Build Windows/Linux
game/files into a fresh
- Make a symlink to the direct Ren’Py executable file
bash ln -s renpy.app/Contents/MacOS/renpy <YourGame>.app
- Change permissions
bash chmod -R 755 renpy-sdk-folder
renpy-sdk-folderto something friendlier such as
- Upload the folder (zip it up if required) to your distribution platform of choice
- Download the game and try to run it to make sure it works
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.