Get Kids into Coding with Scratch
Table of Contents
IntroductionSteve Kinney introduces the course by providing course resources and demonstrating some projects created using Scratch. - Course Website: https://scratch-workshop.vercel.app/ - Scratch: https://scratch.mit.edu/
Basic Movement & Game Loop
Movement Direction & LooksSteve demonstrates how to change a sprite's position and the direction it's facing on the stage. Switching between costumes to achieve a walking animation is also covered in this segment.
Game LoopSteve creates a game loop to only allow interactions when the game has been started. Setting different movement styles is also covered in this segment.
Collision DetectionSteve implements the ability for sprites to sense when they are touching something and perform a given action.
Taco Chase Game
Creating a Game CharacterSteve demonstrates creating a custom sprite by utilizing the paint option.
Game Movement ExerciseSteve creates the initial game loop and instructs students to implement the ability for the sprite to move up and down on the stage.
Game Movement SolutionSteve discusses common problems when using custom sprites and walks through some possible solutions to the game movement exercise.
Moving the Taco & Adding a ScoreSteve adds movement to the taco and creates a Score variable that keeps track of the game score.
Increasing Speed & Edge DetectionSteve demonstrates increasing the player's sprite movement speed when the score increases and restricting where the taco can move. Ending the game when the player hits the edge of the stage is also covered in this segment.
Adding EnemiesSteve creates an enemy that chases the player's sprite around the stage and ends the game if the player's sprite touches it. Creating clones of the enemy that also chase the player is also covered in this segment.
Adjusting the DifficultySteve adjusts the game difficulty by creating an enemy clone every three points instead of every point.
Broadcasting & Lists
Broadcasting MessagesSteve demonstrates broadcasting messages and shows how sprites can listen for specific messages and execute code when they receive the intended message.
Using ListsSteve discusses creating and looping through lists in Scratch, which have a similar function to arrays.
Raining Apples Game
Falling with VelocitySteve demonstrates implementing some simple game physics by creating a velocity variable to increase the speed of a falling sprite.
Custom BlocksSteve implements a falling loop with random x positioning for the apple sprite. Creating custom reusable code blocks to avoid building the same code multiple times is also covered in this segment.
Player Sprite PracticeSteve instructs students to add a playable sprite that falls to the ground and can walk left and right. Steve then walks through setting up the player sprite and demonstrates multiple options for detecting when a sprite touches the ground.
Collecting Apples & Adding EnemiesSteve implements the ability to collect apples and adds falling enemies for the player to avoid.
Nano Jump Game
Create a Jumping MovementSteve implements the ability for a sprite to jump with velocity and detect when it touches the ground.
Adding & Removing ObstaclesSteve adds obstacles that move across the stage for players to jump over. Removing the obstacles when the reach the edge of the stage is also covered in this segment.
Game Over ScreenSteve demonstrates utilizing a combination of collision detection, broadcasting messages, and hiding and showing sprites to create a game over screen.
Game Start and End ActionsSteve implements the game's start screen and the ability to restart the game when the game ends. A discussion regarding using similar actions for level design is also covered in this segment.
Moving with VelocitySteve demonstrates adding velocity to movement by implementing acceleration and deceleration to the sprite's horizontal movements.
Velocity PracticeSteve instructs students to utilize the concepts covered in the previous lesson to implement velocity for the sprite's up and down movements. A possible solution is also covered in this segment.
Creating Platformer HeroSteve creates the hero sprite and backdrop for the platformer game. Implementing a code block that fixes the sprite falling into the ground without showing the sprite movement is also covered in this segment.
Platform Collision DetectionSteve implements the ability for the hero sprite to jump and discusses the pseudo-code for improving the previously created "fix landing" code block.
Implementing Collision DetectionSteve implements a code block to detect if the hero sprite is touching a platform. The code block keeps track of the hero sprite's position and moves the sprite back to its last known position when the sprite is touching a platform.
Horizontal Movement PracticeStudents are instructed to implement the hero sprite's horizontal movement. Steve then walks through a possible solution for adding horizontal movement and implements horizontal collision detection.
Preventing Double JumpsSteve updates the jump movement to include velocity and prevent double jumping.
Pen ToolSteve discusses the Pen Scratch extension, which allows complete control over drawing graphics. A demonstration of combining custom blocks and the pen to programmatically draw shapes is also provided in this segment.
Snake GameSteve discusses utilizing the Pen extension to create infinite and finite versions of a snake game. The video sensing tool is also discussed in this segment.