I am by no means a master, and there are likely better/cleaner ways to do this. This is how I got simple achievements for my game working on Steam.
Getting the Steam Support Library
Firstly, you will need to contact PyTom in order to get the Steam Support Library from him, for Ren’Py.
The code for your script.
Second, put this in your code as needed, numbered and titled how you want it in order to represent each achievement.
Code: Select all
$achievement.grant("Achievement01_Start")
init:
$achievement.register("Achievement01_Start")
$achievement.sync()
$achievement.sync()
Adding a txt to your game folder
Add a file called
steam_appid.txt
Into your game folder with your game’s .exe
Steam_appid.txt should contain your app id from Steam
Example of where to put the .txt file
Get the right Ren’Py
Make sure you have the latest version of Ren’Py, or at least version 6.99.14.3
Building your distributions.
Delete persistent data.
Build distributions for your project.
Once your distributions have been made, pull the game folder out of the .zip (I title mine with the date and a letter for how many builds I’ve made that day.)
Take the Steam Library Support folder you got and paste it into your build.
On to Steam!
From there, upload your build to Steam, set up your builds/depots if you haven’t. There’s a good amount of steam documentation on that process, so I won’t go into it here.
Find your Achievements page, and set them up using the same names as in your script.
Publish your build, and test!
I was able to unlock these achievements by progressing through the story, and getting to the point where the code for unlocking them is.
Hopefully this helps a few souls who are struggling with getting these working!