Do you want to introduce your kids or students to computer programming? There’s a fun way to do it, creating video games with them. Don’t you know where to start? Just follow this guide and you will end up creating video games with your children or students.
Learning video game programming on Scratch will help children develop the following skills:
- Definition of objectives and motivation for their realization. Scratch video game programming will make children generate their own ideas and create their own projects. It will also give them the motivation to complete what they start until they see their projects finished.
- Creativity. With Scratch, children can program their own interactive stories, games and animations using various creative skills (story making, programming, drawing, etc.). Being the creators of the games they will later play with will make their creativity soar.
- Logical and systematic reasoning. When programming a video game in Scratch, a child will learn to break it down into small parts and solve each one of them and their relationship with the others. They will learn to be more precise, more analytical and to follow a systematic procedure in solving problems.
- Multidisciplinary work. Subjects in schools are usually studied independently without relating to each other; however, the real world is multidisciplinary and requires relating different areas of knowledge to each other. Scratch programming will make children integrate different areas of knowledge into their projects: maths (logical design of a game), language (telling a story or writing a description of the game), drawing characters and scenarios, etc.
- Collaborative work. Scratch allows the projects to be downloaded from the web and shared with other users. When young people create and share projects with the Scratch community, they learn to work collaboratively.
- Computer programming. Creating video games is a fun way for children to get into computer programming, which is a very useful skill even if it is not their main professional activity.
“Scratch helps children learn to think creatively, reason systematically and work collaboratively, essential skills for life in the 21st century.”
Scratch is a free, open-source programming language for children created by the Lifelong Kindergarten Group of the MIT Media Lab. It is a program oriented to teaching through the creation of games. Applications programming in Scratch is done by combining programming blocks in a graphic way without writing lines of code.
The programming experience for children can be similar to creating a construction with Lego pieces. In addition, it offers a great interactivity to children, since they can make a piece of the program and then test and modify it (move a character, play a sound, paint a text box, etc.) without the need to have made the complete application to test it. These qualities make Scratch an ideal programming language for children and their learning will be a fun game for them. The elements that Scratch offers you to build your video games are: Stage and Sprites.
Stage: It is where the action of your video game will take place. You can choose a scenario from the ones that comes by default in Scratch or upload a photo or a drawing that you have made; the stage will have the following elements associated to it:
- Code. These are the programs you can associate to the scenario; it is not mandatory that there are programs associated to the scenario.
- Backdrops. The stage can have one or several Backdrops associated.
- Sounds: The stage can have sounds associated to it that can be used in its programs.
Sprites: They are the characters that interact in the video game. You can choose characters that come by default in Scratch or create your own characters, drawing them in scratch or uploading your own drawings or photos. The sprites will have the following elements associated to them:
- Code: They are the programs that manage the movement and other actions of the sprites, each sprite will have one or more programs associated to it.
- Costumes: Each sprite can have one or more costumes associated to it that can be used in its programs.
- Sounds: Each sprite can have sounds associated to it that can be used in its programs.
“Scratch is the ideal language for children to get started in computer programming, since it uses a visual and interactive language that allows them to learn by playing”.
You don’t need to have computer skills to learn Scratch, “you can learn Scratch from scratch” with the free educational resources available on the Internet . I recommend that you learn it together with your children or students; it is going to cost you more than them because you will have to recover things that we have lost on the way to becoming adults (curiosity to learn new things, use trial and error without fear of making mistakes, erroneous mental barriers that we have created for ourselves like: “I can not learn this”, etc.). Learning Scratch together with your children or students will make you share with them fun and enriching moments.
There are plenty of free online resources available to you to learn Scratch. MIT’s Scratch tutorials have always been a complete tool for getting kids started on Scratch programming from scratch. They could start with the Scratch Getting Started Guide created by MIT itself.
Once the children are familiar with the interface and some of the options, MIT offers starter projects associated with different areas and objectives. The children can modify the base project freely, changing or adding elements according to their criteria.
Any project published in Scratch can be used as a basis for learning. It is enough to “See inside” it to begin to know the code with which it is constructed and to modify it or to adapt it freely. Although they are guided projects or games with a fixed structure that they must follow, it is recommended that the children themselves can make decisions of personalization or trial/error tests with elements that do not alter the main objective of the programming exercise but that help them to be more involved in their learning.
In all these first projects we can also use the so-called Scratch Coding Cards, which can be printed and given to the children so that they have a visual reference of actions or small step-by-step exercises with which to build more complete projects. With the Scratch Coding Cards, you can learn to create interactive games, stories, music, animations, and more!. In addition to the learning resources available to us from the Scratch team, you can find many free Scratch courses on the Internet.
Starting to have fun and learn with Scratch is fast, easy and free. The new version Scratch 3.0 allows us now to use it on almost any current device (computer, mobile phone or tablet) without problems. It works via web browser, from the website https://scratch.mit.edu/ ; just go to the Scratch web address and get started.
Although no registration is required to run Scratch, it is recommended that you create an account for your child so that he/she can save his/her projects. Registration is free and there are no minimum age requirements, but it is necessary to confirm the account with a parent/guardian email. To create an account you need to click “Join Scratch” on the Scratch homepage. You will need to answer a few questions and provide an email address to confirm your account. It only takes a couple of minutes, and it’s totally free! I have created an account with the “gatitomario” username and we use it to save my child’s projects and my own. In the Scratch Frequently Asked Questions (FAQ) you will find the requirements your computer must meet to work with Scratch and any questions you may have about your Scratch account.
“You don’t need to have computer skills to learn Scratch. You have a lot of free Internet resources at your disposal to learn it together with your children or students sharing fun and enriching moments with them.
The ideal way to start programming with Scratch is to make games and small projects where children can give free rein to their creativity. In this guide we will describe how to develop a video game in Scratch as a way for children to learn to program since they will have fun both creating and playing with it.
We propose to organize the creation of a video game in three phases to make the children acquire useful habits of planning and organization when developing a project, which can be a video game or any other type. This division of the project into stages and tasks is based on the technique of “divide and conquer, whose objective is to reduce the complexity of a project into smaller tasks that can be more easily accomplished.
We are going to use an example video game to show the phases of its creation whose name is “Nico picks up poops”, maybe you want to play it a little before reading on, if so press its link.
1. The first phase would be to generate the idea of the video game
The following questions will be answered in this phase: What is the name of the video game? Where does the idea of the video game come from? What is the objective of the video game? How do you win and how do you lose in the video game? What instructions of the video game would you give to whoever is going to play with it? In what scenario does the video game take place? What characters appear in the video game and what actions does each of them perform?. Ask your children or students if they have an idea to make a video game and tell them to complete these questions.
To generate the idea of the example video game we have been inspired by the plot of the chapter “On the hunt for the pooping tiger” from a book I have written called “Nico, the little detective”. In this chapter there is a cat in the neighborhood, called “Michifú”, that is used to poop in the garden of Nico’s house. Nico’s mission is to get the cat to stop pooping so that his mother can get over her anger. You can get an idea for a video game from anywhere; I’m sure your children or students will surprise you with the fun ideas they come up with.
2. The second phase would be to develop an outline of the video game
Starting from the project idea captured in the previous point, we will make a project outline or script as an intermediate step towards its implementation. First we will answer the following questions: How does the game start? How does the game develop? How does the game end?
Next we will define the variables that we are going to use in the video game:
Next we will define the messages that will be used by the characters in the video game to communicate with each other:
Next we will define the functions of the programs of the Stage and each of the Characters involved in the game:
Since a picture is worth a thousand words, here you are a graphical representation of the elements defined in this second phase:
3. The third phase would be the programming of the video game
Starting from the outline of the video game that we have prepared in the previous point, we will make the Scratch programs of the game. We will write and test the programs of each character in the game, correcting them if necessary. At the end we will make a complete test of the video game and the interactions between all the characters, correcting the errors and making the difficulty of the video game the right one to have fun with it. For instance, we will describe how to build the costume and programas of “Nico” the main character of this videogame.
For the costume of “Nico” character in the videogame we upload a drawing from our computer with the option “Upload Costume” in the “Costumes” tab of this Sprite.
Next we create the first program of this character in the “Code” tab.
Next we create the second program of this character in the “Code” tab.
The programs for this character are finished; if you want to read the whole set of programs of this video game you can access the extended version of this guide: Make your own Scratch video games.
“In order for the children to acquire useful habits of planning and organization when facing a project, we propose to organize the creation of a video game in three phases:
1. The first phase would be to generate the idea of the video game
2. The second phase would be to develop an outline of the video game
3. The third phase would be the programming of the video game”.
As we have mentioned, Scratch promotes collaborative work; it allows you to access projects that other people have shared in order to study and modify them, it also lets you share your projects with the Scratch community. When young people create and share projects with the Scratch community, they learn to work collaboratively.
Let’s put this into practice, if you have already registered your Scratch user, log in with it and access the project “Nico picks up poops” that I have shared https://scratch.mit.edu/projects/446428449.
Then click on the Remix option
After this action, a copy of the project will be created with the name “Nico picks up poops remix”; this copy belongs to you since it is associated to your user. Now you can start modifying your version of the project, for example you can make the game more difficult by decreasing “Nico” speed by changing the time it takes to move to the mouse pointer from 1 to 1.2 seconds and therefore it will take longer to pick up the poops.
How easy it is to modify the program that someone else has made, don’t you think? You can make any modification you can think of. You can also share this project of yours with the Scratch community by clicking on the Share option.
“Scratch encourages collaborative work. It allows you to access projects shared by others in order to study and modify them; it also lets you to share your projects with the Scratch community”.
Now it’s your turn. Get together with your kids or students and start making video games together. You’re sure to have fun.
Scratch is a project of the Lifelong Kindergarten Group of the MIT Media Lab. It is offered free of charge.
The idea for the video game “Nico picks up poops” used in this guide is inspired by the chapter “On the hunt for the pooping tiger” from the book “Nico, the little detective”. This game and others are available on the following page of the book: https://nicodetective.com/2020/09/13/program-and-play-video-games-with-nico/
An extended version of this guide can be downloaded at the following link: Make your own Scratch video games.
© Virgilio Postigo Cubo, 2020