Optional Prologue

In my WIP, the player character is already extensively familiar with the game world, but the human player may not be. I’d like to add an optional prologue to the game, where the player can wander around the game world and familiarize herself with it before diving into the game proper.

I notice that this is somewhat similar to this post, though with some fundamental differences.

I was hoping to accomplish this using a combination of scenes and Jon Ingold’s Title Page extension.
In the title page part, I added lines “Start with prologue” and “Start without prologue”. My problem comes in with the scene bits.

Part - Prologue

StopPrologue is a truth state that varies;

Prologue is a scene.
Prologue begins when play begins.
Prologue ends thoroughly when the player is enclosed by the SpecificChair.
Prologue ends abruptly when StopPrologue is true;

This is the end prologue rule:
say “A bit of text to draw attention to impending scene change.”;

When Prologue ends:
follow the end prologue rule;

Part - HappyHappyFunTimes

HappyHappyFunTimes is a scene.
HappyHappyFunTimes begins when Prologue ends.

This is the initialize HappyHappyFunTimes rule:
clear the screen;
repeat with individual running through women:
now individual is in CertainRoom;
say “Surprise! They’re here!”;
say banner text;
try looking;

When HappyHappyFunTimes begins:
follow the initialize HappyHappyFunTimes rule;
[/code](Note that the real names have been changed)

The way I have it rigged up, the prologue is a scene that ends when the player decides they’re done exploring by sitting down in a specific chair, at which point the scenes change and certain events begin to transpire. That’s the easy part, and it works perfectly.

When I choose to skip the prologue at the title page, I have it set StopThePrologue to true, then fire off the end prologue rule and the begin HappyHappyFunTimes rule. It then looks visually similar to the proper way to do things, except that instead of printing the banner text, it prints the room description followed closely by the room description caused by the “try looking” line. Then, when I try doing anything, the scene change rules fire again, and this time it properly prints the banner text.

Why is this duplicating the scene changes? I just want it to seamlessly start at the HappyHappyFunTimes scene when I choose that in the title page. Is there any way to forcibly end a scene and begin another without any turns taking place?

No. Scene changes are checked as part of the end-of-turn sequence.

You could run that machinery yourself, but at the point it’s easier to forget the scenes and just write a “to end the prologue: …” function.