Spatterlight, now with AI slop

Release 1.5.2 is out. Download it here:
https://github.com/angstsmurf/spatterlight/releases/download/v1.5.2/Spatterlight.zip

Zork Zero support is now on par with the other Infocom graphical games. When VoiceOver is active, all graphical puzzles can be skipped.

New interpreter: Scarier, basically a C++ port of SCARE with improved compatibility and performance, smushed together with a C++ port of FrankenDrift. Plays any Adrift game from version 3.8 and up. Supports the Adrift 3.9 and 4.0 battle systems. Sound, graphics, and maps.

Geas has been updated as well, and can now play most Quest games up to and including version 5 (EDIT: by smushing it together with a C++ port of Quest Viva).

The Comprehend interpreter has been ported from ScummVM and polished a bit. Plays the Apple II and PC versions of Transylvania, Crimson Crown, Oo-Topos, The Coveted Mirror, and Talisman.

Release notes:
https://github.com/angstsmurf/spatterlight/blob/master/CHANGELOG.md

Promotional video:

Very cool, and it looks like your automated Quest testing has found some regressions in Quest Viva - I’ve added those as issues to the main Quest repo.

Great! I probably should have credited you and mentioned that the Quest 5 part of the updated Geas is basically a C++/Glk port of Quest Viva.

At first I thought the announcement in the changelog was a joke. Then I saw how Claude has nearly as many commits as you have, and it seems plausible now.

Yes. I have been committing to this repository for over nine years, and it has done nearly as much in less than two months.

Hello, hey, I had a quick question. I really don’t know how it all works, I am just curious. For this update:

  • Magnetic got the same image resizing functionality as Level9.

Do you take the Magnetic interpreter and make the changes yourself and make that part of Splatterlight? I ask only because it does not seem like such a change is on the Magnetic repo itself. But I could be looking in the wrong spot. I love the image resizing feature that Level9 has, so I am just curious.

Thank you for the continued updates! :slight_smile:

It is done in this commit, Spatterlight only for now: Automatically resize graphics in Magnetic and Level9 · angstsmurf/spatterlight@ad3123d · GitHub. The commit accidentally includes some unrelated stuff. Sorry for the mess!

By the way, Gargoyle has its own image scaling code for Magnetic, which lets the user give exact pixel dimensions. That is probably a better idea. The Spatterlight code simply scales automatically to the largest integer that fits the window, for both interpreters.

Really cool - thanks!

Was Scarier an update of the SCARE code, or did you get the original ADRIFT VB code?

The pre-Adrift 5 part of Scarier is based on the SCARE code, but also on decompilation of the Adrift runners, and on lots of tests comparing the output of Scarier to the output of the runners.

I’ve updated this code quite a bit already since the Spatterlight 1.5.2 release, so I’ll try to get a new one out soon.

More that Campbell sent me the 4.0 source a few years ago and I still have it.

Please upload what you have to the IF Archive! Original source code is the best resource we have for ensuring that old games continue to work on modern systems.

That would be interesting to take a look at.

One constructive criticism to the excellent Scare interpreter: Disable glk abbreviations by default. E.g the game The PK Girl is not fully compatible. At some point choosing an option C is not apparrently possible as typing c gets translated to “close”.

Oh no! The Glk abbreviations are supposed to always be overruled by any game-specific one-letter commands. I thought I tested this with The PK Girl specifically. Would you mind providing steps to reproduce?

EDIT: I tried it just now and it seems to be working.

I was referring to the “normal” Scare interpreter in Parchment etc. Haven’t tried Spatterlight. Glad to hear you improved it! Sorry for the confusion :slight_smile:

What is the licensing status of the earlier Adrift runners? Are they not open source? If Scarier is based in part on the decompilation of proprietary code then I don’t think it will be able to be brought into open source projects like Gargoyle or Parchment.

Silly quibble, but if you’re basing it off SCARE, wouldn’t it make more sense to have a name start with T? (SCARE == Secondary Clone …, with the original clone being jAsea.)

Wouldn’t the same apply to Frotz, Inform 6, Level9, and Magnetic, among others (as well as most of ScummVM and MAME)?

There’s a difference between decompiling in order to document a format and incorporating decompiled code directly in another project. I don’t think we need pure clean room projects in IF, but we still should be clear and careful with code provenance.

(To be fair I don’t know the history of Scare or jAsea either.)