Twice now, as people have been beta-testing my game, I’ve encountered situations in transcripts that did not seem to be possible. In one case, it could not possibly have been my mistake. In the other case, it’s possible, but I’ve scrutinized my code (looking for = where I meant ==, for instance) and found nothing.

EDIT: I was wrong, of course. The second one was definitely my own bug.

The impossible error was, a tester did a RESTART, and after the restart one of the NPCs was not restored to the place where he starts the game. The NPC had left earlier in the play session, and when the restart happened he didn’t show up in his initial position.

My question is, has anyone else encountered anything like this? It could be an adv3Lite problem; it could be a T3 compiler problem; it could be an interpreter problem. I don’t see how it could be due to anything in my code; it could only be a T3 software issue or a malicious prank by a tester.

Comments? Suggestions?

you can replicate that bug ?

OTOH, I have noted in the diabolical source code the presence of a sort of post-game mechanism, but I haven’t much looked on it, but I can’t exclude that with TADS 3 is perhaps “possible the impossible” of having a modified/changed restart state ?

Best regards from Italy,
dott. Piergiorgio.

In other words the NPC is acting like a transient object? Is there any clause you could put in his preinit to ensure he’s always put in his starting location?