Scroll Thief full release

[spoiler]I would definitely prefer a stack myself. I’m not sure you should worry too much about memory, since my instinct is that it wouldn’t take up too much – the entire game, in a late-game save, running in Gargoyle (which I suspect is far from an efficient interpreter), takes up a negligible 26 MB at the moment. I suspect that the implementation time and possible bugs it could cause should be more of a concern than memory usage.

But on the other hand, while I’d find it valuable, the way I interact with the game is probably not typical, since I was deliberately poking and prodding at everything to see what I could do – and probably part of the reason I prefer a stack is that it’d enable cool tricks.

On the other other hand, you might want to consider whether this behavior will be preserved for the next chapter, and if you could require players to learn it to solve a puzzle (or at least as one possible solution to a puzzle). Cool mechanics make cool puzzles.[/spoiler]

Alright then. New release with that one feature added. Let’s see how this goes.

Do you have a set of regression tests for play variations and recently-fixed bugs? If so, skein or external script?

I have the Skein set up to test a full playthrough, with other branches for the alternate solutions to certain problems. Recently-fixed bugs are mostly tested by hand. It’s not an optimal system, but it lets me make sure I didn’t break anything critical before releasing. (E.g. in this most recent release I forgot a “make no decision” in an Effect rule, making it impossible to get rid of the Adventurer, so the game got stuck at that point and couldn’t continue.)

More testing. I found a particularly serious one this time, caused by the achievement changes.

[spoiler]The game seems to crash on loading any existing achievement file (which meant it crashed as soon as I started a new game.) Deleting my old achievements file fixed this temporarily, but if you get any achievements, the game will crash the next time you type ‘achievements.’

You can give things to the librarian, and though she doesn’t react, it will end up in her inventory. (This includes palantiri, but you can’t summon her again because she’s immune to spells.) You could also give her a palantiri and another object, wait until she’s gone, then blorple the other object and try to leave it.

You can give items to the adventurer after summoning them for the first time and before seraging them, and they’ll thank you politely.

Also, you can give away your magic compass.

lleps frotz sphere on any of the spheres, after frotzing them, doesn’t extinguish their paired twin, even though normal frotz affects both.

You can’t see a distant sphere through itself; this makes logical sense. But if you have unpaired two spheres in a room, and both their paired twins in your inventory, you can’t see or target either of the distant spheres with spells, even though you should be able to see each one from the other. (Granted, this hardly matters, so it’s not worth changing if it would be a bother. And maybe it’s just some oddity of scrying devices that they don’t let you see other scrying devices. But I noticed it while trying to darken the Clean Room in various ways after having dropped a frotzed sphere down there.)

If you order someone to ‘follow me’, then order them to ‘go to [room]’ (for a room more than one move distant), they will repeatedly move towards their destination, then move back to you.

‘nitfol adventurer’ gives the generic “the adventure isn’t very talkative” failure message, even when they’re friendly (and therefore talking.)

It’s possible to get the golden box via the following method:
First, drop a sphere into the Clean Room.
Then, put its corresponding sphere somewhere where you can’t see it (in another room, in a closed container, blorb it, etc.)
Order the adventurer to go to the Clean Room and get the golden box. (I actually had the golden box inside the bag at the moment – I was experimenting with different tricks – but I don’t think that matters.)
Access the sphere on your side (by going to it, opening the container, or whatever), and without giving the Adventurer any orders, immediately zifmia them. They’ll have the box and can give it to you.
Since you never gave the Adventurer an order while they were visible in the Clean Room, they won’t rebel.
Granted that it seems unlikely that anyone could stumble across this procedure by accident.

I didn’t test quite as much as usual this time because the achievement bug is particularly nasty (it makes using lleps zifmia me tricky because the game will always crash the second time you do it unless you delete your achievement file); I’ll hold off on testing that until it’s fixed.

Suggestion, though, since I assume the fact that a second lleps zifmia me triggers the achivement crash means the game checks the achievement file every time an achievement condition is met: The game still saves the achievements it knows you have in memory, not just in the file, right? So it doesn’t need to check the disk when you earn an achievement it knows you already have; if an achievement is in memory, it should definitely already be in the file.

Aside: Is the fact that the game uses the ‘topics’ command in conversations mentioned anywhere? I only discovered it by noticing it used in the autopilot.[/spoiler]

[spoiler]

Fixed. It was an infinite recursion problem: when it loads the achievements from the file, it uses the ‘award…’ phrase to mark them as achieved…but that now makes it load achievements from the file again.

This is a strange in-universe feature of scrying devices. There’s a book in the library called ‘Recent Experiments in Networked Scrying’ which mentions this. (Handwave handwave handwave. I don’t want to deal with the headache of recursive scrying, where one mirror shows another which shows another and so on. The scoping for palantiri has caused enough trouble as it is, and sometimes causes a noticeable lag.)

…wow. Okay. Fixed.

I rearranged the rule for this. It’s not as elegant now but loading the external file is not an instantaneous operation, especially because the achievement file is shared between games which use this extension (so it can in theory contain lots and lots of achievements).

Not explicitly, but TALK TO and similar give the same effect. I’ll mention it in the verb list or something.[/spoiler]

New version released.

Where are you releasing these? The gblorb at meadstelzer.com/daniel/if/scroll … ief.gblorb still says release 2…

I haven’t been changing the major release number except for extensive changes–v1 was the introduction, v2 the full release, v3 with the first part of Spirals, etc. The current version is v2/150815, which is the one you linked.

Gotcha, so the serial number is where to look for versions, and meadstelzer.com/daniel/if/scroll … ief.gblorb is where to download. Thanks!

Yeah. There doesn’t seem to be a good way to do major/minor version numbers in Inform unfortunately, so I’m using the serial number for that purpose. (None of the fixes so far have been serious enough in my opinion to warrant a new major version number, they’re mostly just fixing little bugs here and there.)

Oh thanks, Erik, I’ve been wishing for a handy download link in this thread for a while now. Reading that there’s a new version, going back to the first page for the IFDB link, downloading from there… sure, it’s a minor hassle and nothing else, but your link is now much closer. Cheers.

BTW, I find this back-and-forth between the eager testers/players and a commited author fascinating and motivating.

Thanks! I don’t know how long I’ll be able to keep it up but I’m really enjoying trying to keep up with all the bug reports, and I am very grateful to all the players keeping them coming after who knows how many new versions.

Right now the only issue still outstanding* is the Field Guide showing up in strange places during disambiguation. I haven’t been able to reproduce this one; if anyone can make it appear again, a partial transcript would be very informative. I’m guessing this is buried deep in I6 and I’m not looking forward to dealing with it but knowing the exact circumstances of its appearance will help a lot.

  • I finally reimplemented the rope to deal sensibly with other actors dragging things around, so that one’s settled.

Another round![spoiler]Clapping three times in the Secret Tunnel while it’s dark has no response at all on the third clap (not even a “You clap loudly.”)

Additionally, doing it once you have a light is missing a space after the ellipses in “You clap loudly…but nothing out of the ordinary happens.”

The first time I try to give an item to the just-summoned, not-yet-seraged adventurer now, I get them saying “Oh, hello, [playername]” brightly, followed by staring at me in terror. The same thing happens when they’re hostile in the caves.

When I order the seraged adventurer to give something to the librarian, I get no response at all, but they succeed in transferring the item.

Attempting to examine the buttons on the scroll dispenser when it’s not present produces messages like this: “The last time you saw the red button, it was .”

The snake in the Misty Cavern is described as “slithering across the rocks in front of the eastern passage”, but there’s no eastern passage there; the snake is guarding the passage down.

Following the adventurer after saying ‘yes’ to their request for help behaves weirdly. You can just hit enter to follow them, but if you enter a command, you’ll stop. A directional command that isn’t following the adventurer (like, say, ‘u’ right after saying ‘yes’) will get no reply and have no result, but will make you stop following them.

This is more of a suggestion for an easter egg or an alternate solution than a bug report, but I realized after following the adventurer that it made logical sense for me to send the bird down to investigate (even without a palantir, since I can talk to it.) Players who used the bird to solve the snake puzzle are likely to still have it following them at this point. Of course, the bird isn’t the most intelligent creature around, so its report might not be very useful (even assuming it understands what you want it to do), but it might be cool to have the bird report something on returning from the chasm. (Although if you want to send it down and then order it back separately, you need to either frotz it or give it a light source so you can see it in order to communicate with it.) Also, if nitfol wears off then the bird’s report might be less than useful.

The opposite window on the overlook has no description.

“throw [object] into chasm” gives the bizarre response of “That can’t contain things.” There’s a variety of reasons why a player might want to do this – throwing a palantir down in hopes of seeing the bottom, or throwing a frotzed piece of junk down when they see its description says that their light doesn’t penetrate. (Of course, there’s nothing to see, so I’m not sure how it would actually handle throwing a palantir down there… you can drop a palantir while hanging from the rope, anyway, and it falls and ends up destroyed / nowhere. They’re not invulnerable, perhaps, so if you throw or drop them into places like that, they might break and the corresponding palantir will then show nothing but darkness…)

The bird can be given objects, but can’t be ordered to ‘get’ small objects that it would be capable of receiving when given them.

I zifmiaed the bird to atop the dome. While there, I saw it hop to the sun, the Great Sea, the low hills, and the Borphee River. I would assume it can also hop to the moon.

(Bother, it occurs to me that there was probably a release where I could “lleps frotz sun”; now it just says that it’s too far away. That might be worth a humorous response, though.)

lleps izyuk bird doesn’t do anything special. I am pretty sure it had a special result in a previous version, so I assume it was broken somewhere.[/spoiler]

The thing about following after saying “yes” is because it uses the Hidden Prompt system, same as if you “go to” a place. One-letter commands are unfortunately not parseable immediately after breaking out of hidden prompt mode because of the switching input modes (though there should be a way to fix this at the I6 level). Would an indication that the game is in hidden-prompt mode be useful? The same thing happens at the end of Act I when the other characters are talking/ranting at you.

EDIT: Also, I was taught there should not be any space after an ellipsis. Is this incorrect? (“You say the magic word…but nothing happens.”)

Yes, there should be an indication. The first time I hit the end of Act I, I kept hitting space and waiting for a prompt to appear where I could type “yes”. The game ended first.

Hm, I’ll see what I can do about that. I’ve cleaned up the Hidden Prompt code quite a bit now in general (it now pre-loads the first letter typed into the input buffer rather than printing it as part of the prompt and splicing it in afterward, so it can be deleted or used as a single-letter command).

EDIT: One thought would be a close-bracket, for symmetry with the greater-than sign usually used as a prompt. I’m testing that out now to see how it looks.

EDIT2: I should also explain the first time what the bracket prompt means, maybe with a first time–only thing in the prompt text. That’s on the board for next version. (“The square prompt indicates that you can press (space) or (enter) to have the game continue automatically. If you want to do something different from what the game suggests, just start typing a command to bring back the usual > prompt.” Something like that, but a bit less verbose.)

New version is out. Tell me what you think about the new hidden-command hinting. LINK

Love the link. :slight_smile:

The ellipsis seem fine to me. Googling it a bit makes it look like a matter of editorial preference.

grammarbook.com/punctuation/ellipses.asp

Personally, I… pretty much always… do include… a space… after my ellipses. Why? I just do. :stuck_out_tongue:

In that case I’ll leave it as it. It just looks better to me that way. :stuck_out_tongue:

Though I believe Gargoyle lets you override that on the client side if you want, along with other style preferences such as the number of spaces after a period.