Scratch Story Spine Maker

St Patrick’s Online Coding Lessons with Mr Darch

Scratch Story Spine Maker

In this project we’ll use the concept of a story spine, a useful way to lay out a story with just the key characters, events and information. We’ll use lists to store a bank of ideas and use code in Scratch to randomly pick these ideas, store them as variables and then access them to generate an endless stream of possible stories.

Notes for parents: Each child will work at their own pace on this. I’ve uploaded video and written instructions for each step. With Scratch children ideally need access to a keyboard to name sprites and enter numbers but much of this project can be done on an iPad or tablet without any issue.

Children should be encouraged to work at their own pace and enjoy playing with what they’ve made as they go. Do encourage them to watch the video for each step again if they get stuck. Some will complete this is in half an hour, others might like to come back to this project 3 or 4 times to complete it. 

Please direct any feedback or suggestions to

Happy Scratching!

We are learning to:
  • Use lists to organise information
  • Use lists to store strings
  • Name lists and variables appropriately to reduce mistakes and the need to debug later and improve the readability of our code
  • Use random number generators in our programs to create interesting creative outcomes
  • Use the Scratch programming language to solve computer science problems in a fun and engaging way
  • Write code to access values (strings in this project) and join (concatenate) them together to create meaning from the data
  • Control our program with user input (key stroke presses)

Getting started

We’ll be using the free web app at again for this lesson. You don’t need an account to take part.

Try to watch each video a few times before you read the instructions. This will help you to clearly understand what you need to do.

What we’re making | preview

Step 1

create these lists:

name one list “character1Types”
  • 5 creatures or objects
  • !start with ‘a or an’
  • !don’t forget the space at the end of the item

name one list “character1Names”

  • 5 names
  • !start with ‘called’
  • !don’t forget the space at the end of the item

name one list “homes”

  • 5 places
  • !start with ‘in’
  • !don’t forget the space at the end of the item

name one list “setTheScene”

  • 5 things the character does every day
  • start with ‘who’
  • !don’t forget the space at the end of the item

name one list “storySpines”

  • Once upon a time there was
  • Every day
  • Until one day
  • Because of that
  • Because of that
  • Until finally

Step 2

create 5 variables

  • character1NamesResult
  • character1TypesResult
  • homesResult
  • setTheScenesResult

notice how they are called the same thing as our lists but have ‘Result’ on the end to show that the variable contains one random thing from the list

Step 3

create random selection code

  • !we’re setting each variable to a random item from each list.

Step 4

write the code to get Scratch to tell the story

!we might get each line of the story to appear on a different page or background so we write our scripts with different inputs to trigger them

Key learning:

Did you play the game?

What happened when the red dot sprite touched the bug sprite?

That’s right NOTHING!

Why not? Because we haven’t written any code to make that happen!

We need to add more code to make something happen when these sprites touch.

Extension Challenges:

  • can you think of more than 5 names, character types, places and things that they do? the more possibilities we add to our code the more interesting and varied stories we can create.
  • could you write each new story created with our code to a new list so that each new story can be saved?
  • could you create a series of narrator characters who could tell the story?
  • could you make the user able to select which character they want to tell the story for them?