Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distribute to itch.io feature #1213

Closed
bob-the-hamster opened this issue Sep 14, 2021 · 9 comments
Closed

Distribute to itch.io feature #1213

bob-the-hamster opened this issue Sep 14, 2021 · 9 comments
Assignees
Labels
new feature Something new that we would like to add packaging Packaging/installing the engine or games (Distribute Game)
Milestone

Comments

@bob-the-hamster
Copy link
Collaborator

A new feature to be added to the "Distribute Game" menu.

Choosing "Distribute to itch.io" will export your game for all available platforms (except windows exe installer, itch.io recommends strongly against these)

  • use the butler command-line tool (downloading it if needed)
  • Spawn web browser for butler authentication (we will never touch the user's password)
  • Use appropriate channel name prefixes for platform
  • Allow the user to select the channel suffix such as "-stable" or "-demo" (Need to find most common practices for this on existing itch.io games)

The user is on their own for screenshots and formatting of the text of their page, butler doesn't do that.

@bob-the-hamster bob-the-hamster added this to the Ichorescent milestone Sep 14, 2021
@bob-the-hamster bob-the-hamster self-assigned this Sep 14, 2021
@rversteegen
Copy link
Contributor

rversteegen commented Sep 14, 2021

Cool!

We should also add the OHRRPGCE as a game engine which you can select in the game metadata when adding a game on itch.io. There's a form (previously linked on SS) where you can submit engines. AFAICT, all the info you fill out on the form isn't actually used on the website for anything, except for the link to the engine's itch.io page, if it has one.

On that note, we could also add the OHRRPGCE itself to itch.io. These day most indie game engines are there. Now that would be a lot of extra work for every stable release, which is why I didn't really want to suggest it, but if you're going to be scripting itch.io uploads with butler, then the work would reduce.

@rversteegen rversteegen added new feature Something new that we would like to add packaging Packaging/installing the engine or games (Distribute Game) labels Sep 16, 2021
@bob-the-hamster
Copy link
Collaborator Author

This feature works now. Try it out!

You can have it push to a game page that is still in "Draft" mode, if you are not ready to release yet

@rversteegen
Copy link
Contributor

Wow, nice! It works!
I notice it always downloads a x86_64 linux butler executable, though.

I see that you can upload other files and they don't get overwritten. I guess you can only have one file in each "channel"? It seems that butler has more capabilities than the web interface, I don't see anything to edit channels.

BTW, I notice something odd with the download filenames. Either butler or the website is renaming the files.
Using the distribmenu I uploaded lightingtest.zip, lightingtest-mac.zip, lightingtest-linux-x86_64.tar.gz, but they show on the game's page named lightning-test-windows.zip, lightning-test-mac.zip, lightingtest-linux-x86_64.tar.gz, and they show on the
Edit Game page named lightning-test-{windows,mac,linux}.zip. So it looks like it's renaming the Mac and Windows files but not the Linux one, probably because that one doesn't have a matching extension.

@bob-the-hamster
Copy link
Collaborator Author

Oops! Yes, I forgot to have it calculate the correct butler binary to download

Yes, one file per channel. I am just using "windows" "mac" and "linux" as the channels, but they are pretty free-form.

The renaming is an odd quirk, yes. Butler actually takes apart zip files, and uploads them piece by piece, only uploading the changed parts as an optimization. It does not do this for tar.bz2 files.

The butler docs claim that they take special care not to break the permissions on mac app bundles when they upload them, though I still want to do some verification to make sure this is true.

@rversteegen
Copy link
Contributor

The butler docs claim that they take special care not to break the permissions on mac app bundles when they upload them, though I still want to do some verification to make sure this is true.

But when distributing from Windows we don't actually set file permissions correctly on .app bundle contents. We exploit the fact that the Mac builtin unzip just marks all files +x if they're marked as from a Windows FS. So it's possible something does go wrong!

@rversteegen
Copy link
Contributor

Should this be closed now? Was there anything else to do?

@bob-the-hamster
Copy link
Collaborator Author

I think the only reason I have not marked it closed yet was that I have not had time to test/verify the mac apps yet

@bob-the-hamster
Copy link
Collaborator Author

I tested on Mac, and yes, the permissions are correct on the mac app after butler rezips it.

Marking this issue as complete

@rversteegen
Copy link
Contributor

You didn't actually, though I didn't notice either!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature Something new that we would like to add packaging Packaging/installing the engine or games (Distribute Game)
Projects
None yet
Development

No branches or pull requests

2 participants