Variables and logic

Build a silly story from words students pick

Students pick a describing word, an animal and an action from three dropdowns, and the next scene tells a story with their words in it. Set Variable copies each dropdown's choice into a variable with Widget property, and {{ }} placeholders show it.

Level
Intermediate
Time
About 20 min
Steps
6
Updated
Oct 20, 2026
What you'll build

A two-scene lesson where students choose three words, press Tell my story!, and read a moon story built from their own choices, as many times as they like.

Ready-made lesson

Get the finished lesson

Skip straight to the result, or keep it open beside the steps. Add this tutorial's lesson to your account and explore how it works in the studio.

Fill-in stories are a favorite way to practice parts of speech. A student picks a describing word, an animal and something to do, and gets back a story that's theirs, and usually ridiculous: "Once upon a time, a giggly penguin decided to roller-skate all the way to the moon."

In this tutorial you'll build one in two scenes. Students choose from three Dropdowns, and a Tell my story! button copies each choice into a variable and opens a story scene. The story is written once, with a placeholder like {{ animal }} wherever a student's word goes, so every combination works without writing a scene for each.

Remember a student's choice and use it later introduces variables and placeholders with two buttons that each save a fixed word. This tutorial goes a step further: one button saves whatever the student picked, using Set Variable with Widget property. You don't need to do the first one first, but it helps.

Step 1: Make the three word lists

Start a blank lesson (New lesson, then Start from scratch) and name it A silly moon story. On the Opening Scene:

  1. Open Background, choose Choose a style, and pick Starfield from Nature. Click Apply background.
  2. Add a Heading that says Make a silly moon story and a Body that says Pick one word from each list. Then press Tell my story!. Make both white so they stand out on the night sky.
  3. Add three Subheadings in a row, in yellow: A describing word, An animal and Something to do. These label the lists.

Now add the first list. Add a Dropdown and click ⚙ Configure:

Four words, and no right answer.
  1. Change the Placeholder to Choose a word. Students see this until they pick.
  2. A new dropdown has three options. Click Add Option for a fourth, then type sparkly, grumpy, tiny and giggly.
  3. Set Scoring to Off. There's no right answer here, so the dropdown shouldn't count toward a score. The green ticks that mark a correct option disappear.
The Dropdown 1 Configure dialog with Scoring Off, the placeholder Choose a word, and four options: sparkly, grumpy, tiny and giggly
With Scoring off, no option is marked correct.

Click Save. Then, in the properties panel:

  • Rename the dropdown Describing word (click its name at the top of the panel). You'll pick it by this name in the next steps.
  • Open Accessibility and type A describing word in Alt Text. A screen reader reads this name aloud. Left alone, all three dropdowns would be read as "Answer dropdown", and a student who can't see the labels wouldn't know which list is which.
  • Set its Font Size to 22 and its width to 270, and drag it under its label.

Add the other two the same way:

NamePlaceholderAlt TextOptions
AnimalChoose an animalAn animalpenguin, dragon, hamster, giraffe
ActionChoose an actionSomething to dohop, dance, tiptoe, roller-skate
The Opening Scene on a starry night background: the heading Make a silly moon story, the instruction line, and three dropdowns labeled A describing word, An animal and Something to do, showing Choose a word, Choose an animal and Choose an action
Three lists, each with a label above it.

Pick words that fit every sentence they'll land in. The story will say "a {{ adjective }} {{ animal }}", so every describing word starts with a consonant ("a giggly", never "a icy"), and every action fits after "decided to".

Step 2: Create three variables

A variable is a named place where the lesson keeps a value while a student works. It belongs to the whole lesson, so a word saved on the first scene is still there on the story scene. You need one per list.

One variable for each list.
  1. Click ⋯ (More lesson options) at the top right of the studio and choose Variables.
  2. Click New variable, then Some text.
  3. Under What text should it start as?, type brave.
  4. Under What is this variable called?, type adjective.
The New variable form with the starting value brave and the name adjective, saved as adjective and used in text as {{adjective}}
The note under the name shows how to use it in text.

Click Create variable, close the dialog, and do the same twice more: animal starting as turtle, and action starting as walk. Open Variables again and all three are listed:

The Variables dialog listing three Text variables: action, adjective and animal
Three Text variables.

The starting values make a sensible story on their own ("a brave turtle decided to walk"), so the story scene never shows a blank, even before anything is saved.

Step 3: Write the story scene

Open the Scenes tab, click Add scene, and rename the new scene Story. Give it the same Starfield background, then:

  1. Add an Image of the moon (search the stock photos for moon craters close up), set it to 300 × 300, Fit to Cover, and drag it to the left. Open Accessibility and describe it in Alt Text: A close-up of the moon with its craters showing, against a dark sky.
  2. Add a yellow Heading that says Your silly story.
  3. Add a white Body, 26 px and 520 wide, with the story. Type each variable's name between double curly braces where a student's word goes:

Once upon a time, a {{ adjective }} {{ animal }} decided to {{ action }} all the way to the moon. Everyone who saw it shouted, "What a {{ adjective }} {{ animal }}!"

  1. Add a white Button labeled Make another with an On Press behavior that does Navigate to Scene → Opening Scene, so students can try new words.
  2. Add a yellow Button labeled The end that navigates to Closing Scene.
  3. Add a small Submit Button in the bottom-left corner: Label I'm done, Submits set to Lesson. Every lesson needs one way to finish early, or it can't be published.
The Story scene in the studio: a close-up photo of the moon on the left, the heading Your silly story, the story text showing {{ adjective }}, {{ animal }} and {{ action }} in braces, Make another and The end buttons, and a small I'm done button in the corner
In the studio you see the placeholders. Students see their words.

A placeholder can be used as often as you like: {{ adjective }} and {{ animal }} each appear twice. The canvas shows the braces exactly as you typed them, because it doesn't know what a student will pick. Students never see the braces.

The top bar now says 3 flow warnings. That's expected: nothing leads to Story yet. The next step fixes it.

Step 4: Save the words when Tell my story! is pressed

Go back to the Opening Scene and add a yellow Button labeled Tell my story! under the lists. Its one behavior saves all three words, then opens the story. Actions run top to bottom, so the words are saved before the student leaves the scene.

Three Set Variable actions, then Navigate to Scene.

Select Tell my story!, open Behaviors, click Add Behavior, and choose On Press. Then:

  1. Change the first action to Set Variable and pick adjective.
  2. Change Static value to Widget property, and pick Describing word → Selected value.
  3. Click Add Action and do the same for animal with Animal → Selected value, and again for action with Action → Selected value.
  4. Click Add Action once more, change it to Navigate to Scene, and pick Story.
The Tell my story! button's On Press behavior: Set Variable adjective from Widget property Describing word → Selected value, then Set Variable animal from Animal → Selected value, then Set Variable action
Widget property reads the dropdown when the button is pressed.

Widget property is the important choice. Static value would save the same word for every student, the way the buttons in Remember a student's choice and use it later do. Widget property reads the dropdown at the moment the student presses the button, so whatever they picked lands in the variable. A dropdown's Selected value is the text of the chosen option, exactly as you typed it.

Step 5: Show the button only after all three are picked

A dropdown that hasn't been touched has nothing selected, so pressing Tell my story! too early would save an empty word over the starting value and leave a gap in the story. Hide the button until every list has a word.

One condition per list.

With Tell my story! still selected, open Visibility:

  1. Change Mode to Conditional. Behavior is Show and the match is All conditions are met, which is what you want.
  2. In the first condition, pick Dropdown: Describing word, then Is answered.
  3. Click Add Condition and pick Dropdown: Animal, Is answered.
  4. Add one more for Dropdown: Action, Is answered.
The Tell my story! button's Visibility section: Conditional, Show when all conditions are met, with three conditions, Dropdown Describing word Is answered, Dropdown Animal Is answered and Dropdown Action Is answered
The button stays on the canvas, marked Shown by rule.

The button stays visible in the studio, with a small Shown by rule tag, so you can still select and edit it. Students see it only once the rule is true.

Step 6: Try it as a student

Make sure you're on the Opening Scene, since Preview starts on the scene you're editing, and click Preview.

The button appears once the last list has a word.
  1. Choose giggly and penguin. There's no Tell my story! button yet, because one list is still empty.
In preview, the describing word list shows giggly and the animal list shows penguin, the action list still says Choose an action, and there is no Tell my story! button
Two of three: the button waits.
  1. Choose roller-skate. Tell my story! appears. Press it.
In preview, the Story scene reads: Once upon a time, a giggly penguin decided to roller-skate all the way to the moon. Everyone who saw it shouted, "What a giggly penguin!" beside the moon photo
Every placeholder is filled in with the student's own words.
  1. Press Make another, choose three new words, and tell the story again:
Same scene, new words.
In preview, the Story scene now reads: Once upon a time, a grumpy dragon decided to tiptoe all the way to the moon. Everyone who saw it shouted, "What a grumpy dragon!"
Each press saves the words picked right now.

The lists keep the words from last time, so a student can change just one and see how the story changes. That's a good moment to ask: what kind of word did you change?

Press The end to finish:

The Closing Scene on the starry background, reading You finished the lesson! in white
The ending's message is white, to read well on the night sky.

The Closing Scene's message starts as dark text, which disappears on a dark background. Select it in the studio and set its Text Color to white.

If a story ever shows a starting value (a brave turtle) instead of the student's words, check the button's actions: each Set Variable needs Widget property, not Static value, and Navigate to Scene has to come last. Show debug tools at the bottom of the preview has a Variables tab that shows what each variable holds.

What you built

A fill-in story lesson:

  • three ungraded Dropdowns, each with its own word list, placeholder and Alt Text,
  • three Text variables, adjective, animal and action, with starting values that make sense on their own,
  • a Tell my story! button whose On Press behavior copies each dropdown's Selected value into its variable with Set Variable → Widget property, then opens the story, and which shows only when every dropdown Is answered, and
  • one Story scene whose text uses {{ adjective }}, {{ animal }} and {{ action }}, with a way back for another story.

Swap the lists to practice anything with parts: nouns and verbs for a grammar lesson, a planet and a fact for science, a character and a setting as a writing warm-up. For a story starter that's picked by chance instead, see Spin a wheel to pick a story starter. To count something a student does instead of saving a word, see Show a live count of what students discover.

Take it with you

Make this lesson yours

Add the lesson you just watched being built to your account, then change it for your class: your questions, your pictures, your colors.

Was this tutorial helpful?

Next tutorial