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

Add blorbs for Sherlock and Lurking Horror that contain story + sound #15

Closed
wants to merge 1 commit into from

Conversation

dfabulich
Copy link
Contributor

@dfabulich dfabulich commented Aug 23, 2024

I'm not sure this is the right place to file this PR, but I think there may be no better place to file it.

The six games on Infocom Frotz are all tricky to play offline because they require two separate files: a Z-code file, acquired from Zarf's site, and a blorb file, from IF Archive. It requires finicky work to set up interpreters to run a game with two files; many interpreters simply don't support that.

On IFDB, for each of these games, we have at least these four external links:

  1. Infocom Frotz
  2. The story file on Zarf's site
  3. The blorb file on IF Archive
  4. IFWiki, which explains how to play a game that comes in two files in various interpreters

It would be much simpler if we could link to a single blorb file containing everything the user needs. Then, users could just open the file in their favorite interpreter, and it would Just Work.™

But, where would we host it?

  • Not on IF Archive, which won't host Infocom games
  • Not on Zarf's site, because he only hosts files generated by Infocom. (Otherwise, where would it end? Is he supposed to link to or host "updated" versions that fix bugs? Is a hunger puzzle a bug?? What about limited inventory management…???)

I think the answer might be to host the "story blorbs" here, so that's what I'm doing.

I used https://github.com/cspiegel/snavig to generate these blorbs, like this:

snavig -s lurkinghorror-r221-s870918.z3 -o lurkinghorror-r221-s870918-sound.blb Lurking.blb
snavig -s sherlock-r26-s880127.z5 -o sherlock-r26-s880127-sound.z5 Sherlock.blb

They work fine in sfrotz, and I think they would work fine in Infocom Frotz, if I bothered to wire them up, but I didn't.

I didn't wire them up because I'm only doing these two games for now, the ones with sound and not graphics, and it would be a hassle to change the template just for two games out of the six.

I didn't do the four graphical games because when I tried to use snavig to create a blorb with graphics, the resulting blorb didn't work in Frotz. cspiegel/snavig#2 That bug appears to be due to bugs in Frotz, which may or may not get fixed any time soon.

But, if we merge this PR, I can at least link to these two files from IFDB, and this, I claim, will make it much easier to play these games.

@cspiegel
Copy link

Just a note on the Frotz issue: if you don't recompress the images with -c, then the resulting Blorb should work fine on Frotz. So even if it's a Frotz bug, it's able to be worked around by simply not recompressing the original PNG images. And in the end that's probably what needs to be done, since even if it is a Frotz bug and gets fixed, there will likely be people running older Frotz versions for years to come.

I added compression support for BPal images since there's a bit of a combinatorial explosion in BPal images: there are 1710 new images for Zork Zero, for example. I added "general" compression as more of an afterthought than anything, since it was effectively no work, given that the compression code already existed. But for the Infocom Blorbs, it's not a huge savings:

  • Arthur: 13333 bytes saved
  • Beyond Zork: 1394 bytes saved
  • Journey: 37616 bytes saved
  • Shogun: 17405 bytes saved
  • Zork Zero: 11767 bytes saved

The BPal images are always compressed, even in the absence of -c, since it's a new chunk, and I can simply define it as accepting any valid PNG (and, I guess, I hereby do).

@curiousdannii
Copy link
Owner

Yeah I don't mind hosting the files here. I think my preference for the filenames would be "lurkinghorror-r221-s870918.zblorb" though.

I haven't been following any of the discussions of the new image options, but just adding the Zcode into the existing image blorbs should work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants