So I want to work on a "IF launcher" that integrates with IFDB and allows to download and play games easily

But I want to know if IFDB has any sort of API or would I need to basically scrape the website. Anyone knows anything about that? The launcher would allow for display and search of IFDB and then allowing to play IF games directly if the game in question has associated download link via Gargoyle (as it has the best compatibility range). Think of it as sort of Steam for IF games. Anyone interested in such thing?

IFDB does have an api:

It does say this:

The APIs are designed primarily for low-volume, user-driven applications, rather than big batches of automated requests. They’re not really meant for constantly crawling the database, high-speed mirroring, etc. The servers that IFDB runs on are from a shared hosting service marketed for personal and small business sites, so they’re not set up for high scalability. Please use the APIs with this in mind. If you’re contemplating a usage that might put a lot of load on the servers, please consider technical measures that would minimize the impact, such as adding artificial delays while generating requests to throttle the rate.

I recently used the IFDB api for a large project and I realized that I probably should have used the offline IFDB dataset (updated quarterly). But that wouldn’t work well for what you’re describing.

The main ‘competitor’ (or predecessor?) for what you’re describing would be iplayif, which is what IFDB currently uses to run the ‘play online’ button for most parser games.

So the two main things you launcher would need to acheive are:
1-Don’t overwhelm IFDB’s servers, and
2-Be more useful than iplayif for parser or ‘play online’ for html

4 Likes

It won’t be automatic at all and would be largely user-driven (i.e. it would only make requests if the user clicks something in the app, never on its own).

1 Like

Thank you, by the way. Wish it was JSON instead of XML, but I’ll adapt. And yes, this will be way more useful than ifplay thing as it will be able to run games that online interpreters such as Parchment can’t (again, it would be run games via gargoyle locally).

And again, think of what I am developing as a “Steam for IF”. I’ll also be doing as much locally as I can to not overwhelm the servers (which I were to do anyway whether or not I would need to scrape), such as caching, etc.

2 Likes

If you’re looking for a ‘killer feature’, a lot of TADS games in recent years (and past!) use features that are only in HTML TADS and not in Gargoyle or online, so if you can incorporate both interpreters that would likely be a big plus.

3 Likes

I was always a fan of the Grotesque project. Unfortunately, it didn’t get enough help.

2 Likes