release process - Poobslag/turbofat GitHub Wiki
It would be nice to automate more of this. But, we don't want to waste time automating a process while it's still in flux.
Ensure all Gut tests pass. Most importantly, the backwards compatibility tests for save data, but the other tests are important too.
Apply any community monster updates.
Update the PO templates and message files:
- Run
ReleaseToolkit.tscn
and clickRun All
- Run
./pybabel-extract.sh
Quit the Godot editor, and run ./generate-export-presets.sh
to update the version number.
Add and push the resulting changes to GitHub with a comment like Update version to 0.4300
.
In the Export Presets Dialog select Export All -> Release
Run the package.sh
script to assemble the export results into artifacts suitable for uploading to GitHub and itch.io.
Navigate to the Turbo Fat releases page and Draft a new release.
Set the fields appropriately:
Field | Value |
---|---|
Tag Version | v?.???? |
Target | main |
Release title | ?.???? |
Description | A few paragraphs about what changed in this release |
Upload the Windows, Linux, Android and HTML5 releases to GitHub.
Announce the release on Discord.
Monthly releases are less frequent and involve some extra steps.
-
Create a development diary for YouTube.
- When uploading the video, make sure to set its keywords:
Godot, Turbo Fat, Gamedev
- Make sure to link to Steam, itch.io, Github and Discord in the video description.
Turbo Fat is an open-source game made with Godot. It is available for free on itch.io and GitHub. Steam: https://store.steampowered.com/app/2213410/Turbo_Fat/ itch.io: https://poobslag.itch.io/turbo-fat GitHub: https://github.com/Poobslag/turbofat Twitter: https://twitter.com/poobslag/ Discord: https://discord.gg/yU6aurT
- Make the video easier to find:
- Add the video to the 'Turbo Fat Development Diary' playlist
- Post Youtube link to Bluesky, Twitter, Discord, Reddit
- When uploading the video, make sure to set its keywords:
-
Test out the HTML5 release locally; Waterfox works OK (Chrome and FireFox can not run HTML5 games locally.)
-
Perform a 'Weekly Release', as described above.
-
Upload the Windows, Linux, Android and HTML5 releases to itch.io.
-
Create an itch.io development log.
-
Update the Steam page describing what you did this month
- Steamworks -> Community & Moderation -> Post/Manage Events & Announcements
- Create a 'news' item
- Create an 800x450 image
- Publish
Announce the release on Discord, Bluesky and Twitter.
This process is still new, and these instructions will change.
- Quit the Godot editor (to avoid
project.godot
conflicts.) - Change to the steam branch, by running
git checkout steam
. - Merge the steam branch with the main branch, by running
git merge main
. - Test the game:
- Run the Release Toolkit.
- Run the Gut tests.
- Launch and play the game.
- Quit the Godot editor, and run
./generate-export-presets.sh
to update the version number. - Add and push the resulting changes to GitHub with a comment like
Update version to 0.1100
. - In the Export Presets Dialog select Export All -> Release
- Run the
package.sh
script to assemble the export results into artifacts suitable for uploading to Steam. - extract the
<turbofat-dir>\project\export\windows-steam\turbofat-win-v0.1100.zip
file to<sdk-dir>\tools\ContentBuilder\content\turbofat-win
- rename the
.exe
,.pck
and.bat
files toturbofat.exe
,turbofat.pck
andturbofat-troubleshoot.bat
- edit
turbofat-troubleshoot.bat
to point toturbofat.exe
- extract the
<turbofat-dir>\project\export\linux-x11-steam\turbofat-linux-v0.8500.zip
file to<sdk-dir>\tools\ContentBuilder\content\turbofat-linux
- rename the
.pck
and.x86_64
files toturbofat.pck
andturbofat.x86_64
- Test the exported game before uploading it:
- Run the
<sdk-dir>\tools\ContentBuilder\content\turbofat-troubleshoot.bat
file. - Examine the
<home>\AppData\Roaming\Godot\app_userdata\Turbo Fat\logs\godot.log
file to make sure Steam did not return any errors.
- Run the
- Launch SteamPipeGUI and uploading the resulting build to Steam.
- In SteamWorks, navigate to SteamPipe -> Builds and assign the new builds to a branch.
Milestone releases are less frequent and involve some extra steps.
- Before the release, try out the game on different target platforms.
- Perform a 'Monthly Release', as described above. Use a round version number like 'v0.1100'
- Update the screenshots in the
/img
folder. - Update the screenshots and cover image on Steam and itch.io.
- Back up the code (.zip) and resources to google drive.
- Back up the code and resources to a thumb drive.
- Back up the lore and design docs.
- Spend the following week refactoring.