Activity: Functions Project

Make your own unique games!

[
{
    "name": "Jumper",
    "imageUrl": "https://pxt.azureedge.net/blob/8b54834af52dcd7733b98aa9cbba5913eacd7f76/static/courses/csintro2/functions/jumper.gif"
}, {
    "name": "Dodger",
    "imageUrl": "https://pxt.azureedge.net/blob/127616894610bdc53882efa8f96233cb52065052/static/courses/csintro2/functions/dodger.gif"
}
]

Concepts Learned

  • ||sprites:Sprites|| and ||sprites:Projectiles||
  • Controller (dx) and ||controller:move mySprite with buttons||
  • ||loops:on game update|| and ||loops:on game update every||
  • ||loops:repeat|| and ||loops:for|| loop
  • ||functions:Functions|| that set up a sprite
  • ||functions:Functions|| that are called from more than one place
  • extensions

Student Task #1: Initial Ideas

  1. Think of at least 3 ideas for games that use some of the “concepts learned” listed above
  2. On a piece of paper, sketch out what each game will look like
  3. Discuss your ideas with a partner. Talk about:
    • What you like about the ideas
    • What you don’t like about the ideas
    • Any suggestions you have for extending the ideas
  4. With your partner, discuss what features would be necessary to start each game

Student Task #2: Creating a Minimum Viable Product

A Minimum Viable Product, or MVP, is the simplest version of a product. It will consist of placeholder values, and have features missing.

An MVP is a very simple foundation for your product, which allows you to gather feedback and ideas from others without getting lost in the small parts that require polish later on: making the perfect sprite, creating challenging levels, identifying how players score more points, and so on.

To create your MVP,

  1. Pick one of your ideas that you want to turn into a full game
  2. Identify what crucial functionality is required for the game - identify what makes it unique
  3. Make a list of these key (important) features that you need to implement
  4. Transition into the development cycle to start making your game

For an MVP game, you might want to avoid spending too much time getting bogged down making the perfect image for your sprite; instead, you can always just use some of the provided sprites in the Gallery. This allows you to focus on getting the concept for your game into a functional state, and personalize it later on!

Using Gallery

Student Task #3: The Development Cycle

This is the development process we will use to turn an idea for a game into a finished product.

The development cycle works by adding small changes and getting feedback as you develop. When you get to the end of the Learn section, if there are ideas that you would still like to implement, return to the Build section and start implementing those ideas.

Repeat this cycle until you are satisfied with the game, and the game has at least 4 concepts from the list of Concepts Learned. If more time is available, create an MVP for another one of your original ideas and begin the development cycle on it.

For a guided example of this process, see the example project page.

Build

Implement a list of features

  1. Break down what tasks need to be done for each feature you want to implement
  2. Make a plan for how each one of the tasks will be finished
  3. Complete the tasks needed to implement these features
  4. When the tasks are complete, create a share link to the game

Test

Gather feedback about the game from an outside source

  1. Find someone to test the current game with
  2. Give a 15-30 second description of what your game is supposed to be: describe the features that are not yet implemented to give them an idea of the ‘bigger picture’
  3. Have them play your game
  4. Ask for feedback:
    1. What do they like about the game?
    2. What would they like to be improved?
    3. How would they like it to be improved?

Learn

Convert the feedback into a list of features that to implement

  1. Reflect on the feedback you gathered from users testing your game
  2. Identify what features you would like to add based on what the users want
  3. Prioritize what features are most important to implement next

What did we learn?

  1. What did you learn when making an MVP version of the game? What was useful, and what was difficult?
  2. Were any items you initially listed as crucial to the game were not used? Why? If all were used, explain which ones were most essential to the game, versus the less essential elements of the game.

Teacher Material