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?
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):
- Build Windows/Linux
- Move
res/
,icons/executable
files, andgame/
files into a freshrenpy-sdk
download - Make a symlink to the direct Ren’Py executable file
ln -s renpy.app/Contents/MacOS/renpy <YourGame>.app
- Change permissions
chmod -R 755 renpy-sdk-folder
- Rename
renpy-sdk-folder
to something friendlier such as<YourGame>
- 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.