Child's Play

An interactive fiction by Stephen Granade (2007) - the Inform 7 source text

Chapter 7 - Costumetime
Costumetime is a scene. Costumetime begins when Picturetime ends. Costumetime ends when Cooperationtime ends.
When Costumetime begins:
   move your favorite toy to the bookcase;
   now your favorite toy is not handled;
   remove the footstool from play;
   remove the folded paper from play;
   change cry count of the player to 0;
   [Get the parents and the kids in their new places]
   now Parry is in the North End of Loveseat;
   now Lisa is in the West End of Couch;
   now Becca is in the By the Rocking Chair;
   now Marion is in the East End of Couch;
   now the mom is in the Middle of Couch;
   now Zoe is in the TKBUG Open Area;
   now Cassie is in the West End of Couch;
   now Watson is in the South End of Loveseat;
   now Jemison is in the Middle of Couch;
   [Set up the blocks for Zoe]
   now the short plastic block is in the TV Room;
   now the bugish plastic block is in the TKBUG Open Area;
   now the tall plastic block is in the North End of Loveseat;
   [Change Zoe's state machine]
   choose row with a baby name of Zoe in the Table of Baby State Machines;
   change machine entry to ZK Climbing Rules;
   change the base act percentage of Zoe to 100;
   change the act percentage of Zoe to 100;
   [Set up the swing puzzle]
   now the remote control is in the North End of Loveseat; [i.e. next to Parry]
   [Set up Watson and his pile of brix]
   choose row with a baby name of Watson in the Table of Baby State Machines;
   change machine entry to WM Building Rules;
   move the brix blox bucket to the Middle of Couch;
   [Move unused conversations into the table of costumetime chatter]
   copy rows from the Table of Snacktime-Chatter to the Table of Costumetime-Chatter;
   change the chatter list table to the Table of Costumetime-Chatter;
   restart chatter;
   now every playmate is active;
   move the player to the Middle of the Living Room.
Table of Costumetime-Chatter
Convo
Table of Kids-Are-Like-Pets-Chatter
Table of Biting-Chatter
Table of TV-Chatter
Table of Spoiling-Grandparents-Chatter
with 10 blank rows
Table of Kids-Are-Like-Pets-Chatter
Chatter
"The mom says, 'The other day when we were out, I saw a mom with her toddler on her leash.'"
"'What?' Becca says, and the mom is all, 'I know! The toddler was wearing this monkey backpack and the tail unspooled into a leash that the mom held.'"
"Parry says, 'I don't know, that sounds like a clever idea.'"
"The mom is indignant, 'My child is not a dog to be on a leash!' Good for her, there is no way you'd wear a leash."
"Lisa says, 'When you get down to it, babies are about as smart as pets. Cassie might as well be a hyperactive Yorkie.'"
"'Lisa!' Marion says. 'That's horrible!'"
"'It's true!' Lisa says. 'They make messes on the floor and can't talk and you can classically condition them.'"
"'You know,' Parry says, 'A combination playpen and Skinner box might sell really well[note favorite-conversation].'"
"Becca says, 'That is the kind of thing people call Child Protective Services about.'"
"'I'm not sure Child Services gets called that often to rescue kids from Skinner boxes,' Parry says."
"The mom is still all huffy, 'Kids aren't pets.'"
Table of Biting-Chatter
Chatter
"'Oh my God, you guys,' Lisa says, 'I almost forgot to tell you! This kid in Cassie's class bit her yesterday!'"
"Becca says, 'I was always worried that Jemison would be--' and here her voice gets real quiet, 'a biter.' Then she gets loud again, 'But he never was.'"
"'Mine was a biter for a little while,' the mom says, that was so three months ago, and besides, those kids totally deserved it."
"Parry is all, 'What do you do if your child does bite other children?'"
"'At this age, there's not much you can do,' Marion says, 'other than removing them from the situation.' The moms are all silent for a moment, they're probably thinking of Allan. He used to be in the playgroup but then he started biting people and now he is an unperson like Nikolai Yezhov."
"'Can you keep them from even biting in the first place?' Lisa asks, and Parry follows up with, 'It would be nice if the parents were controlling their child better.'"
"'It's not a matter of control,' Marion says, 'you can't really control a ten-month old.'"
"The mom says, 'I'm just glad we aren't still dealing with this problem.'"
Table of TV-Chatter
Chatter
"'Did anyone see last night's episode of 'Beat'?' Parry says."
"'Is that the Boston cop show?' Becca asks."
"'Oh my God, who has time for TV?' Lisa asks. 'Besides, I can't watch something that violent when Cassie's up, even if she'd let me leave her alone.'"
"The mom says, 'I don't have a lot of time for TV either. Besides Sesame Street, that is,' and the parents all laugh, why are they dissing the Street?"
"Becca sighs. 'I always feel guilty when I set Jemison in front of the TV so I can get some work done.'"
"'I don't allow Zoe to watch much television,' Marion says, 'though she does watch some.'"
"Parry says, 'We did consider not letting Watson see any TV until he's two or so.'"
"'You're not one of those no-TV nuts, are you?' Lisa says all sharpishly."
"'They're not nuts,' Parry says, you can tell he's annoyed. 'In fact, they make a lot of sense.'"
"'Whatever,' Lisa sniffs, and the mom says, 'Remember, watch what you say about religion, politics, and TV.'"
Table of Spoiling-Grandparents-Chatter
Chatter
"'Hey, Parry,' Lisa says, 'Watson seems a little out-of-sorts today. I saw you had to put him in the swing when he was crying.'"
"Parry sighs. 'Shari's parents were here this weekend.'"
"'Let me guess,' says the mom, 'they carried Watson everywhere and played with him and wouldn't leave him alone, and now he's upset you're not doing the same.'"
"'Exactly!' Parry exclaims. 'How'd you know?'"
"'Detox!' Lisa and Becca and Marion chorus."
"'You must not talk to many other parents,' Becca says. 'It's nice when the grandparents visit and give you a break, but when they leave, oh boy!'"
"Parry says, 'I can't believe the same thing happens to all of you! How do you keep it from happening?'"
"'You can keep your parents from visiting Watson,' Marion says. 'Otherwise, no, there's no real prevention.'"
"The mom says, 'Be glad they love Watson as much as they do.'"
"'Yeah. Yeah!' Parry says."
The remote control is a small thing. "Shoved half-under the loveseat is a remote control." The remote control is not noticeable by playmates. The description is "This is the remote control that lets parents turn on the TV as if they have big stretchy arms that can reach the television from anywhere in the room. You could use it to turn on the TV if you were ancient, like three years old or something." Instead of pushing or switching on or switching off the remote control, say "The remote control is too advanced for you, it is the kind of thing adults use." Understand "button" or "buttons" as the remote control. Before showing the remote control to a parent person, instead try giving the remote control to the second noun. Instead of giving the remote control to a parent person (called victim) during Costumetime:    let flag be 0;    if the player is not gnawing the remote control begin;    change flag to 1;    silently try the player chewing the remote control;    if the player is not gnawing the remote control, instead say "The way to do that is to put it in your mouth and pull up on [the victim] but your mouth is all full right now.";    say "You put the remote control in your mouth and ";    end if;    say "[if flag is 0]You [end if]go to pull up on [the victim] to get [its-their of the victim] attention. [run paragraph on]";    try upstanding using victim. Instead of upstanding using a parent person (called victim) when the player is gnawing the remote control (this is the parents take the remote control rule):    abide by the check upstanding using rulebook;    if victim is Parry begin;    say "Parry looks down and sees you with the remote in your mouth and his eyes get a little wide. 'Where'd you get that?' he asks, taking it out of your mouth. Then he murmurs, 'That reminds me.' He looks up and is all, 'Say, Farina, ";    otherwise if the victim is the mom;    say "The mom laughs and says, 'Where did you find that?' as she pulls the remote out of your mouth. Then Parry sees you and her with the remote and says, 'That reminds me, ";    otherwise;    say "[The victim] looks down at you and gently pries the remote control out of your mouth. 'Hey, Farina,' [the victim] says, 'look what I found in someone's mouth.' Farina sees and laughs. Parry sees it too and says, 'That reminds me, ";    end if;    say "I'd like to put in a Baby Feynman video for Watson.' There is then this big pregnant pause before Parry says, 'Uh, if that's okay.' The mom is quiet, she is probably communicating with the other moms using only her eyes and mom-telepathy[note mom-telepathy] because wasn't Parry anti-TV for kids before? And then she says, 'Sure!' So Parry heads over to the TV and drags the baby swing out of the way of the TV and over by the bookcase and turns the TV on.";    now the remote control is not gnawed by the player;    remove the remote control from play;    now the television is on;    now the baby-swing is in TKBUG Open Area. The brix blox bucket is a container. The description is "It is a tall cube that is open on top only the corners are all rounded so no babies are harmed in the extracting of the blox from the bucket and it is also wider at the top than at the bottom. It is [if the brix blox bucket is tipped over]lying on its side[otherwise]full of these lame faker Lego blocks[end if]." The brix blox bucket can be upright or tipped over. The brix blox bucket is upright. Rule for printing room description details of the brix blox bucket: stop. Understand "bricks" as the brix blox bucket. Rule for deciding the concealed possessions of the brix blox bucket:    if the brix blox bucket is tipped over, no;    otherwise yes. Rule for printing the name of the brix blox bucket when the brix blox bucket is upright:    omit contents in listing;    continue the action. Before pushing the brix blox bucket to a direction, instead try pushing the brix blox bucket. Instead of opening the brix blox bucket, say "The bucket doesn't have its lid on so it is already open." Instead of searching the brix blox bucket when the bucket is upright, say "The bucket's opening is too high to look into." Instead of pushing or pulling or turning the brix blox bucket when the brix blox bucket is tipped over, say "It has already fallen over, it cannot fall over any more than it already has." Instead of inserting something into the brix blox bucket when the brix blox bucket is upright, say "The bucket is [if the player is pulled up on the brix blox bucket]still [end if]too tall for you to put stuff into it." Instead of upstanding using the brix blox bucket when the brix blox bucket is tipped over, say "It is made of this slick plastic and you are no gecko[if the player is wearing the squid costume], you are a squid with no suckers[end if]." Instead of upstanding using the brix blox bucket, try pushing the brix blox bucket. Instead of pushing or pulling or turning the brix blox bucket:    say "You put your [if the player is wearing the squid costume]tentacles[otherwise]hands[end if] on the bucket and it wobbles and then it wobbles more and look out! it comes crashing down, spilling these dayglo blox everywhere and dumping an instruction booklet out[note instruction-book].";    now the brix blox bucket is tipped over;    move the pile of dayglo blox to the location of the brix blox bucket;    move the booklet to the location of the brix blox bucket. The pile of dayglo blox are in the brix blox bucket. The description is "A big pile of dayglo blox from the brix blox bucket. Some are one hand wide and some are two hands wide and some are three hands wide and I guess they go together in various ways but whatever, you are no engineer." The pile of dayglo blox are fixed in place and ambiguously plural. Understand "blocks" as the pile of dayglo blox. [Make the player refer to the pile of blox by default.] Does the player mean doing something with the pile of dayglo blox: it is very likely. Instead of searching the pile of dayglo blox, say "It is a big pile of random blox, it's not like you're going to find something unexpected. It's how they all go together that's important." Instead of taking the pile of dayglo blox, say "You would take a blox or two but they are annoying to deal with and their edges are just sharp enough to be annoying and besides, the mom might see you with them and then she'd expect you to play with them. And blox are boring." The building instructions booklet is in the brix blox bucket. The booklet can be open or closed. The booklet is closed and medium and not noticeable by playmates. The description is "The booklet tells you how to build stuff out of the blox, you've never really used it. It is [if the booklet is open]flopped open right now and is showing this [current booklet page] on the page[otherwise]closed[end if]." Understand "page" or "pages" as the booklet. [Conditional "understand"s for the booklet] Understand "helicopter" as the booklet when the page-index is 1 and the booklet is open and the helicopter is not in play. Understand "rolly" or "car" or "thing" as the booklet when the page-index is 2 and the booklet is open and the rolly car is not in play. Understand "nuclear" or "reactor" or "model" as the booklet when the page-index is 3 and the booklet is open and the nuclear reactor model is not in play. Understand "wall" as the booklet when the page-index is 4 and the booklet is open and the wall is not in play. Understand "poosh" or "stick" as the booklet when the page-index is 5 and the booklet is open and the poosh stick is not in play. [Since the building action can apply to non-visible things, it bypasses the visibility check for the booklet. Re-do that check by hand.] Before building the booklet when the booklet is closed:    if the booklet is not visible, instead say "You can't see any such thing.";    say "(opening the booklet)";    silently try opening the booklet;    if the booklet is closed, stop the action. Instead of building the booklet, say "You look at the instructions but man, they are way complex. This is the kind of thing you hire people to do instead of bothering yourself." Instead of following the booklet, try building the booklet. To say current booklet page:    choose row page-index in the Table of Instruction Pages;    say "[page entry]. [description entry]". The page-index is a number that varies. The page-index is 1. [NB: if you alter this table, alter the conditional understand statements above.] Table of Instruction Pages
Page   Description   Associated Object
"helicopter"   "It involves these complex blades and gears and stuff"   helicopter
"rolly car thing"   "It is all wheels and roundy bits"   rolly car
"nuclear reactor model"   "This probably needs special expensive uranium and graphite blox to work and the parents are too cheap to buy that kind of stuff"   nuclear reactor model
"wall"   "Sweet Christmas but this thing is so easy even you could build it though then the parents would make you play with the blox all the time, no thank you"   wall
"poosh stick"   "I guess they think kids need to build things to push things around with"   poosh stick
After printing the name of the booklet when the booklet is open:    say " (open to some [page in row page-index of the Table of Instruction Pages] instructions)". After an actor taking the booklet when the booklet is open:    now the booklet is closed;    if the actor is the player begin;    say "You scoop up the booklet and it flops all closed.";    otherwise if the actor and the player are co-located;    say "[The actor] scoop[s] up the booklet and it flops all closed.";    end if;    stop the action. Instead of an actor opening the booklet when the booklet is open, if the actor is the player, say "It is already open, maybe you want to turn the page instead?" Instead of an actor opening the booklet when the booklet is carried, if the actor is the player, say "You cannot open the booklet as long as it's being carried." Instead of an actor opening the booklet:    if the actor is the player begin;    say "You scrabble at the pages and the booklet falls open to this page that shows you how to build a [page in row page-index of the Table of Instruction Pages].";    otherwise if the actor is present;    say "[The actor] flops the instruction booklet open and it opens to a page that shows you how to build a [page in row page-index of the Table of Instruction Pages].";    end if;    now the booklet is open. Instead of an actor closing the booklet when the booklet is closed, if the actor is the player, say "It is already closed." Instead of an actor closing the booklet:    if the actor is the player begin;    say "You push the booklet closed.";    otherwise if the actor is present;    say "[The actor] closes the instruction booklet.";    end if;    now the booklet is closed. Instead of turning or flipping the booklet when the booklet is closed, try opening the booklet. Instead of turning or flipping the booklet:    increment page-index by 1;    if page-index is greater than the number of rows in the Table of Instruction Pages, change page-index to 1;    say "You flip the pages by scrabbling at them [if the player is wearing the squid costume]with your tentacles [end if]until you are looking at this blocky diagram of a [page in row page-index of the Table of Instruction Pages]." A blox-thing is a kind of thing. A blox-thing is usually small. A blox-thing is usually not noticeable by playmates. Instead of building a blox-thing:    if the noun is in play, instead say "[The noun] is already built so hooray, less work for you.";    if the associated object in row page-index of the Table of Instruction Pages is the noun, instead try building the booklet;    instead say "The instruction booklet doesn't show you how to build [the noun] but even if it did you probably could not follow the directions." The helicopter is a blox-thing. The description is "You are small and all but this is even smaller and it is a shame you cannot get in it and fly it around." The rolly car is a pushable between rooms blox-thing. The description is "Should cars have five wheels? Because this one totally does." Understand "wheel" or "wheels" as the rolly car. Instead of pushing the rolly car, say "You push the car around some but that gets old quick." The nuclear reactor model is a blox-thing. The description is "The little scoop in the back for loading in the enriched uranium is a nice touch." Understand "little" or "scoop" as the nuclear reactor model. The wall is a blox-thing. The description is "Man what? This is the stupidest blox thing ever. Who needs a tiny portable wall that is like six inches tall? You can't even stop someone with it, even clumsy Jemison would crawl right over it and knock it over, and keeping orcs from overrunning Helm's Deep? Forget it." The poosh stick is a medium blox-thing. The description is "The parents call this a poosh stick because they think you are stupid and need baby talk, it is really a push stick. It is a stick for pushing things around. I guess the blox makers wanted easier and easier things to make and someone said, 'Hey, I know what would be easy to build, a long stick.' The stick is nearly two babies long, it's amazing that it holds together." Check pushing something with the poosh stick:    if the noun is not the top oval, instead try pushing the noun.

The source code to Child's Play is licensed under a Creative Commons NonCommercial Sampling Plus 1.0 License.