Please enable JavaScript to use CodeHS

Introduction to Game Design with p5play - Outline

  1. Intro to Game Design

    1. 1.1 Intro to Games

    2. Video 1.1.1 Intro to Games
    3. Free Response 1.1.2 What Games Have You Played?
    4. Free Response 1.1.3 Game Design Reflection
    5. 1.2 Unpacking a Game

    6. Video 1.2.1 Gameplay and Game Components
    7. Quiz 1.2.2 Check Your Understanding - Gameplay and Game Components
    8. Video 1.2.3 Game Mechanics and Elements
    9. Quiz 1.2.4 Check Your Understanding - Game Mechanics and Elements
    10. Notes 1.2.5 Investigate a Game
    11. Free Response 1.2.6 Identify Game Elements
    12. Free Response 1.2.7 Identify Game Components
    13. Free Response 1.2.8 Identify Game Mechanics
    14. Free Response 1.2.9 Describe Your Experience
    15. 1.3 Categorizing Games

    16. Notes 1.3.1 Categorizing Games
    17. Article 1.3.2 A Bird's Eye View on Perspectives
    18. Article 1.3.3 Getting to Know Game Genres
    19. Notes 1.3.4 Pick a Few Games
    20. Free Response 1.3.5 Categorizing Your Games
    21. Free Response 1.3.6 Game Category Reflection
  2. Programming in JavaScript

    1. 2.1 How to Think Like a Programmer

    2. Video 2.1.1 How to Think Like a Programmer
    3. Free Response 2.1.2 Problem Decomposition #1 - Meal Planning
    4. Free Response 2.1.3 Problem Decomposition #2 - Hobbies
    5. Video 2.1.4 Algorithms
    6. Free Response 2.1.5 Algorithm #1 - PB&J
    7. Free Response 2.1.6 Algorithm #2 - Your Choice
    8. 2.2 Intro to JavaScript

    9. Video 2.2.1 Hello World
    10. Example 2.2.2 Hello World
    11. Exercise 2.2.3 Introduce Yourself
    12. Debugging 2.2.4 Debugging: Printing Error
    13. Quiz 2.2.5 Check Your Understanding - Printing
    14. 2.3 Variables

    15. Video 2.3.1 Variables
    16. Video 2.3.2 Live Coding: Variables
    17. Exercise 2.3.3 Exploration: Making a Purchase
    18. Quiz 2.3.4 Check Your Understanding - Variables
    19. Debugging 2.3.5 Debugging: Hiking App
    20. Exercise 2.3.6 2020 Olympic Basketball Winners
    21. 2.4 User Input

    22. Video 2.4.1 User Input
    23. Example 2.4.2 Greetings
    24. Exercise 2.4.3 Exploration: Guessing Game
    25. Quiz 2.4.4 Check Your Understanding - Input
    26. Exercise 2.4.5 Create a Story
    27. 2.5 Basic Math

    28. Video 2.5.1 Basic Math
    29. Example 2.5.2 Multiplication Practice
    30. Exercise 2.5.3 Bookstore
    31. Exercise 2.5.4 Flying Pigeon!
    32. Quiz 2.5.5 Check Your Understanding - Math
    33. 2.6 Basic Functions

    34. Video 2.6.1 Basic Functions
    35. Notes 2.6.2 Variables in Functions
    36. Example 2.6.3 Looking at Program Flow
    37. Debugging 2.6.4 Debugging: Console Bear
    38. Quiz 2.6.5 Check Your Understanding - Functions
    39. Example 2.6.6 Development with Pseudocode
    40. Free Response 2.6.7 Your Own Custom Function - Planning
    41. Challenge 2.6.8 Your Own Custom Function - Development
  3. Getting to Know p5play

    1. 3.1 Introducing Libraries

    2. Video 3.1.1 Introducing Libraries and p5play
    3. Article 3.1.2 p5play Demo - Asteroids
    4. Article 3.1.3 p5play Demo - Dominoes
    5. Article 3.1.4 p5play Demo - Red Remover
    6. Article 3.1.5 p5play Reference Guide
    7. 3.2 Program Structure

    8. Video 3.2.1 Program Structure
    9. Notes 3.2.2 Program Structure Reference
    10. Example 3.2.3 Bounce Bounce Revolution
    11. Exercise 3.2.4 Exploration: The Elevator
    12. Exercise 3.2.5 The Propeller
    13. Quiz 3.2.6 Check Your Understanding - Structure
    14. 3.3 Understanding the Canvas

    15. Video 3.3.1 Understanding the Canvas
    16. Exercise 3.3.2 Create a Canvas
    17. Connection 3.3.3 Canvas Coordinates
    18. Example 3.3.4 Helper Function for Coordinates
    19. Example 3.3.5 Refreshing the Canvas
    20. Exercise 3.3.6 Shelving Boxes
    21. Quiz 3.3.7 Check Your Understanding - Canvas
    22. 3.4 Your First Sprites

    23. Video 3.4.1 Your First Sprites
    24. Example 3.4.2 Sprite Face
    25. Exercise 3.4.3 Exploration: Shapeshifter
    26. Exercise 3.4.4 Downhill Delights
    27. Quiz 3.4.5 Check Your Understanding - Sprites
    28. Challenge 3.4.6 Block Mario
    29. 3.5 The Physics of Sprites

    30. Notes 3.5.1 Physics Engines and Gravity
    31. Exercise 3.5.2 Exploration: Gravity
    32. Notes 3.5.3 Collisions
    33. Exercise 3.5.4 Exploration: Collisions
    34. Notes 3.5.5 Physical Properties
    35. Exercise 3.5.6 Exploration: Physical Properties
    36. Notes 3.5.7 Motion
    37. Exercise 3.5.8 Exploration: Motion
    38. Free Response 3.5.9 Sprite Physics Reflection
  4. Project: Mini Golf

    1. 4.1 Mini Golf - Setup

    2. Notes 4.1.1 Project Design Process
    3. Video 4.1.2 Mini Golf Project Intro
    4. Free Response 4.1.3 Project Decomposition
    5. Notes 4.1.4 A Quick Note About the Project Setup
    6. Exercise 4.1.5 Project - Setting Up the Canvas
    7. 4.2 Mini Golf - Sprites

    8. Notes 4.2.1 Adding Your Sprites
    9. Exercise 4.2.2 Project - Grass and Hole
    10. Exercise 4.2.3 Project - Walls
    11. Exercise 4.2.4 Project - Ball and Putter
    12. Exercise 4.2.5 Project - Commenting Your Code
    13. 4.3 Booleans

    14. Video 4.3.1 Booleans
    15. Free Response 4.3.2 Booleans are Questions
    16. Notes 4.3.3 p5play Booleans
    17. Article 4.3.4 Boolean Examples
    18. Free Response 4.3.5 Boolean Reflection
    19. Check for Understanding 4.3.6 Check Your Understanding - Booleans
    20. 4.4 If/Else Statements

    21. Video 4.4.1 If/Else Statements
    22. Article 4.4.2 If/Else Statements with p5play
    23. Check for Understanding 4.4.3 Check Your Understanding - If/Else Statements
    24. Exercise 4.4.4 Exploration: Feline Fields
    25. Exercise 4.4.5 Into the Office We Go
    26. 4.5 Mini Golf - Interactions

    27. Notes 4.5.1 Adding Interactions
    28. Exercise 4.5.2 Project - Dragging the Putter
    29. Exercise 4.5.3 Project - Rotating the Putter
    30. Exercise 4.5.4 Project - Slowing Down the Ball
    31. Exercise 4.5.5 Project - Removing the Ball
    32. 4.6 Mini Golf - Music and Score Display

    33. Notes 4.6.1 Improving Playing Experience
    34. Exercise 4.6.2 Project - Adding Music
    35. Exercise 4.6.3 Project - Displaying the Score
    36. Exercise 4.6.4 Project - Updating the Score
    37. 4.7 Mini Golf - Hole #2 Challenge

    38. Notes 4.7.1 Hole #2 Intro
    39. Free Response 4.7.2 Planning Hole #2
    40. Challenge 4.7.3 Project - Developing Hole #2
    41. Free Response 4.7.4 Playtesting and Feedback
    42. Free Response 4.7.5 Mini Golf Reflection
  5. Project: Projectiles

    1. 5.1 Projectiles - Setup

    2. Video 5.1.1 Projectiles Project Intro
    3. Free Response 5.1.2 Project Decomposition
    4. Notes 5.1.3 A Quick Note About the Project Setup
    5. Exercise 5.1.4 Project - Setting Up the Canvas
    6. Exercise 5.1.5 Project - Adding the Ground
    7. 5.2 Projectiles - Cannon

    8. Notes 5.2.1 Building a Cannon
    9. Exercise 5.2.2 Project - Pole and Cannon Sprites
    10. Exercise 5.2.3 Project - Moving the Cannon
    11. Free Response 5.2.4 Pseudocode for Cannon Rotation
    12. Exercise 5.2.5 Project - Rotating the Cannon
    13. 5.3 Groups and Tiles

    14. Notes 5.3.1 Introducing p5play Groups
    15. Example 5.3.2 Group of Boxes
    16. Exercise 5.3.3 Exploration: Fountain
    17. Notes 5.3.4 Introducing p5play Tiles
    18. Example 5.3.5 Brick Man
    19. Exercise 5.3.6 Exploration: Star Field
    20. 5.4 Projectiles - Cannonballs

    21. Notes 5.4.1 Fire the Cannons!
    22. Exercise 5.4.2 Project - Cannonball Group
    23. Exercise 5.4.3 Project - Firing the Cannon
    24. 5.5 Projectiles - Tower

    25. Notes 5.5.1 Tower Building 101
    26. Exercise 5.5.2 Project - Wood and Stone Groups
    27. Exercise 5.5.3 Project - Wood and Stone Tiles
    28. 5.6 Projectiles - Destroying Tiles

    29. Notes 5.6.1 Destroying Tiles
    30. Free Response 5.6.2 Destruction Pseudocode
    31. Exercise 5.6.3 Simple Prototype
    32. Notes 5.6.4 Looping Through Groups
    33. Exercise 5.6.5 Project - Destroying Tiles
    34. Exercise 5.6.6 Project - Limiting the Destruction
    35. 5.7 Projectiles - Winning Scenario

    36. Notes 5.7.1 How Do You Win?
    37. Exercise 5.7.2 Project - Creating the Target
    38. Exercise 5.7.3 Project - Adding the Win Message
    39. Exercise 5.7.4 Project - Checking for the Win
    40. 5.8 Projectiles - Level #2 Challenge

    41. Notes 5.8.1 Level #2 Intro
    42. Free Response 5.8.2 Planning Level #2
    43. Challenge 5.8.3 Project - Developing Level #2
    44. Free Response 5.8.4 Playtesting and Feedback
    45. Free Response 5.8.5 Projectiles Reflection
  6. Project: Jumper

    1. 6.1 Jumper - Setup

    2. Video 6.1.1 Jumper Project Intro
    3. Free Response 6.1.2 Project Decomposition
    4. Notes 6.1.3 A Quick Note About the Project Setup
    5. Exercise 6.1.4 Project - Framework and Canvas
    6. Exercise 6.1.5 Project - Basic Grass Tiles
    7. 6.2 Jumper - Character Prototype

    8. Notes 6.2.1 Basic Character Functionality
    9. Free Response 6.2.2 Character Pseudocode
    10. Exercise 6.2.3 Project - Character Sprite
    11. Exercise 6.2.4 Project - Character Movement
    12. Exercise 6.2.5 Project - Character Jumps
    13. Exercise 6.2.6 Project - A Camera That Follows
    14. 6.3 Sprite Animations

    15. Notes 6.3.1 Sprites in Games
    16. Notes 6.3.2 Intro to Spritesheets
    17. Notes 6.3.3 Creating Sprite Animations
    18. Exercise 6.3.4 Exploration: Learning to Walk
    19. Exercise 6.3.5 Born to Run
    20. 6.4 Jumper - Character Animation

    21. Notes 6.4.1 Character Animation
    22. Exercise 6.4.2 Project - Character Idling
    23. Exercise 6.4.3 Project - Character Walking
    24. 6.5 Jumper - Collecting Coins

    25. Notes 6.5.1 Collecting Coins
    26. Free Response 6.5.2 Coin Decomposition
    27. Exercise 6.5.3 Project - Animated Coins
    28. Exercise 6.5.4 Project - Collecting the Coins
    29. Exercise 6.5.5 Project - Counting the Coins
    30. 6.6 Jumper - Improved Player Functionality

    31. Notes 6.6.1 Improved Player Functionality
    32. Exercise 6.6.2 Project - Getting Back Up
    33. Notes 6.6.3 Jumping Mechanics
    34. Exercise 6.6.4 Project - Adding a Ground Sensor
    35. 6.7 Jumper - End of Level

    36. Notes 6.7.1 End of Level
    37. Free Response 6.7.2 Ending Event Pseudocode
    38. Exercise 6.7.3 Project - The Ending Event
    39. Exercise 6.7.4 Project - Game Over
    40. Challenge 6.7.5 Project - Final Level Design
    41. 6.8 Jumper - Level #2 Challenge

    42. Notes 6.8.1 Level #2 Intro
    43. Free Response 6.8.2 Planning Level #2
    44. Challenge 6.8.3 Project - Creating Level #2
    45. Free Response 6.8.4 Playtesting and Feedback
    46. Free Response 6.8.5 Jumper Reflection