How do you prevent IFDB's Play On-line button to Z-code games hosted on itch.io?

Hosting on GitHub works with IFDBs play-online.

2 Likes

Yes, providing you give a link to the z-code file. There was one Play On-line link that didn’t work because it linked to the GitHub project for both the source code and the z-code file.

1 Like

This would be a reasonable criteria to have, because Parchment won’t load a file with the wrong extension anyway.

Posted it as a suggestion: Only show the play online button when a URL has a valid file extension · Issue #380 · iftechfoundation/ifdb-suggestion-tracker · GitHub

3 Likes

I’m extremely confused about what we’re talking about here. I suspect that the solution here is just more documentation.

Brian there identifies three things, which I’ll number:

  1. IFDB links to the itch page
  2. No “Play Online” button appears
  3. IFDB specifies that the link is Z-code and uses a Z-code icon

#1 and #2 can be trivially done. You’ve done it yourself on Submarine Sabotage at least today as of version 13. And the way to do it is exactly what Nils said:

The “Download” box for Submarine Sabotage now looks like this:

The only thing it’s missing is #3, a Z-code icon, but I don’t understand why you’d want that in this case. To my eye, Submarine Sabotage is correctly configured, and IFDB is (now) doing the right thing.

The key thing to understand is that IFDB’s “Edit link” page is about the link itself. https://warrigal.itch.io/submarine-sabotage isn’t a link to a .z3 file; it’s a link to a page where you can download a .z3 file. (I sometime call this an “indirect” download link, as opposed to a “direct” download link, where you click it, and your browser immediately starts downloading the file.)

Thus, there are three kinds of web links we’re interested in:

  1. Directly downloadable: This applies to any game on ifarchive.org, but also any game where the author’s website makes the game file directly available, e.g. Github links like https://github.com/daelsepara/over-blood-dark-sea/releases/download/2022072901/bloodsea.z5. In those cases, we should check the “playable game” box, and set the file type to Z-Code (or Gblorb, or whatever the file type actually is). Directly downloadable games will enable the “Play On-line” button. No games on itch.io are directly downloadable.
  2. Playable on the author’s web page: Games where the author released the game with an embedded website (e.g. using Inform 7’s “release with a website” feature). For example, After the Accident. If you visit https://amanda-walker.itch.io/after-the-accident, you can play the game right there on itch.io. In that case, the link should have the “playable game” box checked, and the file type should be HTML. The icon has a globe document, overlaid with a chess pawn, to indicate that this is an HTML game, not just an HTML page. This will enable the “Play On-line” button.
  3. Indirectly downloadable but not playable online: Games like Submarine Sabotage, where you can’t play the game on itch.io, but instead you have to download the Z3/Z5 file from itch.io. In that case, the link should not have the “playable game” box checked, and, again, the file type should be HTML. If this is the only link to the game, the game will not have a “Play On-line” button.

I claim that any link to itch.io should have file type “HTML,” and never file type “Z-code,” even if that’s what, ultimately, itch.io will provide.

IFDB will always have to wrestle with old 404 links (“broken” links). But you’ve also noticed that many links to web pages are misconfigured, e.g. we’ve set metadata on them claiming that they’re “Z-code,” when, in fact, they’re just indirect download links.

That’s unsurprising, because everything I’ve said here is confusing and almost entirely undocumented!

And that’s not even considering ZIP files! For ZIP files, you’re supposed to check the “playable game” box, but then type in the path to the game file inside the ZIP. (And if you don’t type the path to the game file exactly right, the Play On-line button will be enabled but broken.) Oh, and if the ZIP file happens to be hosted on ifarchive.org, then the Play On-line button will appear, but if the ZIP is hosted on another website like Github, it won’t. :exploding_head:

I don’t have a very clear idea of how to make this clearer to end users. I think I can write out a long documentation page on IFDB explaining how it all works… and maybe that’s all I can do?

4 Likes

When you edit a game, there is a link called “link policy”. In addition you could have a big button (so people notice it) saying Link Recommandations. Here you can read about the intended use.

However, I think it is fine if there is some user freedom. For instance, my game Grandma’s Flying Saucer is an Adrift 5 game but not very playable with the WebRunner for some reason, so I have uploaded it as a zip-file so the Play Online button won’t appear.

Further more, I link three times to the same Frankendrift release page, one time per platform so we get the right icons. I believe that players are often looking at the icons instead of trying to read all the text. So to me it makes sense that Garry prefers to have a z-code icon even though the link only takes you closer to the download link on itch. If this requires that the file is incorrectly set to be a zip-file, I don’t think it is a big problem. So overall, I think IFDB works pretty well.

1 Like

I’ve filed a PR on this.

When it merges, the “Edit Link” dialog will tell you whether the link will trigger a “Play On-line” button or not, and, if not, explain why not, with reasons like these:

  • The “playable game file” option is not checked
  • the “File Type” is blank
  • We don’t have a way to play $WEIRD_FORMAT game files online (we can only do HTML, Z-Code, Glulx, TADS, Hugo, and ADRIFT, including ZIP files containing those formats)
  • We can only play ZIP files online when they’re hosted on ifarchive.org
  • The “Main File” is blank (when compression is enabled)
5 Likes

It’s live now on ifdb.org.

3 Likes

Does this help? https://intfiction.org/t/a-script-to-create-ifdb-pages-for-itch-io-games/57461?u=someone2