I’ve set up a free hosting service for IF games at Borogove.io. It’s a companion to the Borogove.app online editor but is a separate entity (uploading directly from the editor is coming later.)
You can upload Z-Machine, Glulx, TADS 2 and 3, Hugo, Dialog, Texture and Ink game files as well as single-page HTML files which includes Twine and other formats that export to HTML. It sets up an online interpreter and you then get a shareable link that leads to a page to play the game online.
Uploaded games can be set public, which makes them appear on the public gallery on the front page, or private, which gives you just the link. The game can be played by following the link but private games aren’t listed on the front page or anywhere else on the site.
You need to log in with a Google account to upload games. No account is needed for playing.
The service is produced in cooperation with IFTF and it’s meant as a lightweight alternative to Itch.io and a replacement for the old philome.la site that hosted Twine games but has now been read-only for a couple of years.
Have fun and let me know if you have any questions.
The interpreters themselves can’t be customized, they’re always the same. Also should be noted that the TADS interpreter is for “normal” TADS games, there’s no WebUI support.
Nice! I always appreciate attempts to build community-specific infrastructure. I know that itch.io tends not to be excellent for finding IF amidst the ocean of indie games content. Hopefully this provides a nice place to keep up a thrum of activity outside of competitions or IFDB delving.
One question though: does Borogrove auto-record transcripts like IFComp? I always find it unnerving to feel like the author is looking over my shoulder as I play.
Weird thing: I put up my game The Job there, in z5 format. The statusline is printed correctly when the game starts, showing location name and time. After that, the location name is updated as I move around, but the time doesn’t change. Even weirder: If I enter a menu the statusline is replaced with menu stuff. When I exit the menu, the statusline is printed again, and still the time shown is the time that was shown before. And it all works perfectly in Frotz etc.
Someone tried hte z3 version on borogove, and it works fine. Of course, that’s to be expected since the terp handles the statusline.
The z5 version of The Job uses PunyInform’s standard statusline for z5, which uses a few special tricks to do its job:
It reads the width of the screen in the Z-code header.
After printing one of the statusline fields, it reads the current cursor position to determine whether to back up, move forward or stay where it is, before printing the next part of the statusline
It uses the @print_table opcode to print up to ten spaces at a time, to make it faster.
(1) is also done by the standard library, wheras (2) and (3) are not.
I’m that “someone”. Funny thing! During a time at work I also was known as “someone”. As in the sentence: “Someone should make coffee.”
Isn’t this an indication that the culprit is Lectrote? My understanding is that Lectrote is the backend of Parchment.
I also tried a couple of Zilf-compiled games that have issues in the version of Parchment used on IFDB, but they work fine as far as I can see on Borogove.
I’m debugging it now. It doesn’t seem to be print_table or get_cursor. I’m getting some very strange results now, but I’m sure I’ll get to the bottom of this.
Found it. The interpreter clears bit 1 of byte 1 in the header. This bit bears the meaning “Should the statusline show time?”. For z3 its value is read and used by the intpreter. For z4, z5, z7 and z8 the interpreter should just leave the bit alone, since both Inform 6 and PunyInform games use it to remember whether to show time or not. PunyInform will show the time anyway, but it won’t increase the time if this flag is clear.
It doesn’t count the plays yet, but when it does it’s a good idea to show it to the author. The count probably won’t be shown publicly because I’m a bit concerned it would encourage trying to artificially increase the number.
Hmmm. I didn’t know they used it after version 3. I kind of don’t like that, but it must have been like it for decades by now. I’ll fix it in ZVM, and also raise a ticket for the Z-Machine spec saying it should be noted that Inform uses it so don’t reset it.
The standard v1.1 leaves the bit undefined for v4,v5,v7,v8 really, and just like with bytes in the header that are undefined, the interpreter should never change them. The bits and bytes marked with * in the Int column are the only parts of the header that the interpreter may alter.
I noted a little issue with the site. This is run on Chrome under Windows 7.
If you, as in this case, use the fixed font in the game. It works correct from the start but reverts to the default font for session 2 onward. I don’t know how the site remembers where I was in the game but it doesn’t remember the font preference. The game sets the font when starting and don’t touch the settings anymore. See screenshot.
Update: It’s the same in Lectrote so I guess that it’s a ZVM problem.