Microgames

Overview

Microgames are tiny games, stripped to their essential elements, often playable in a few seconds.

Tools

p5.js + p5.play

Microgames

Minigames are small videogames included within larger videogames. They are often included as Easter eggs or to add variety to the larger game. The hit first-person shooter BioShock used a minigame version of Pipe Dream—a classic puzzler—as the mechanic used to hack door locks and machines. Final Fantasy 7 introduced a Chocobo Racing minigame that allowed players to capture, breed, and race large, rideable birds. In Animal Crossing, players can decorate their home with playable NES games.

Some games are made up almost entirely of minigames. Party games like Mario Party, Rayman: Raving Rabbids, and 1-2-Switch allow players to compete in a series of minigame events. Evoland I + II are RPGs that mix many videogame styles and mechanics both by including many minigames and by evolving the presentation of the main game itself.

Minigames provide many benefits in game design. They offer a change of pace from the main game, reducing player fatigue. They are usually low stakes, reducing player stress. A well-placed minigame can improve the pacing of the main game significantly. Offering a break before a spike in the action will increase the apparent contrast in the intensity.

BioShock, 2007
2K Games
BioShock, 2007
The first-person shooter game Bioshock used a minigame version of Pipe Dream—a classic puzzler—as the mechanic used to hack doors and machines.
Final Fantasy VII, 1997
Square Enix
Final Fantasy VII, 1997
Final Fantasy VII introduced a Chocobo Racing minigame that allowed players to capture, breed, and race large, rideable birds.
Animal Crossing, 2001
Nintendo
Animal Crossing, 2001
In Animal Crossing, players can decorate their home with playable NES games.
WarioWare, 2003
Nintendo
WarioWare, 2003
WarioWare presents the player with a rapid-fire sequence of microgames that demand only a single action from the player and take just seconds to play. As soon as the player completes one challenge, another begins.
Aeronaut, 2020
Munro Hoberman
Aeronaut, 2020
Comp Form alumni, Munro Hoberman, created this low stakes flight simulator game.
Beat Rocks, 2021
Tomasz Wesołowski
Beat Rocks, 2021
Tomasz turned the classic aestroids arcade game into a rhythm challenge. The entire game is just under 13 kilobytes and is made entirely with Javascript.
Froggy Road, 2018
2DArray
Froggy Road, 2018
The video game studio 2D Array made a Frogger-inspired game using only 560 characters of code.

Minigames don’t have the weight of a full game. They don’t have advance a story or provide the amount of mechanics, levels, and content expected of full games. They are free to focus on a small set of ideas, deliver some fun gameplay, and move on.

The WarioWare series, which debuted in 2003 on the Game Boy Advance, pushed the single-minded focus of minigames as far as possible. WarioWare presents the player with a rapid-fire sequence of microgames that demand only a single action from the player and take just seconds to play. As soon as the player completes one challenge, another begins.

Designing and building Microgames is a great way to explore game design. Their small scope allows even a single person to conceive, build, and test a game idea in a short amount of time. Each microgame is stripped to its essential element, allowing no distractions to cover up weak central mechanic. When building a microgame is left with a little to worry about as possible beyond the essentials of game design.

What is a Game?

Many interactive artifacts fall into the categories of games, toys, or tools. What is the difference?

Class, 10 minutes

Group these interactive artifacts into games, toys, and tools.

Legos, Monopoly, Photoshop, Hammers, Tops, Dolls, Chess, Super Mario Brothers, Pac-man, Telephones

Do any of these artifacts belong in more than one category?

Do any of these artifacts belong in other, missing categories?

Groups, 5 minutes

Brainstorm at least 10 defining or characteristic features of games.

Groups, 5 minutes

Order your features by importance.

Class, 10 minutes

Compare group lists.

Class, 5 minutes

Compare features to each of the artifacts in the list above. Do these features support the way each artifact was grouped?

p5.play

The p5.play library builds on p5.js to add features commonly needed in interactive applications, especially games. The p5.play homepage describes the library like this:

p5.play provides a Sprite class to manage visual objects in 2D space and features such as animation support, basic collision detection and resolution, sprite grouping, helpers for mouse and keyboard interactions, and a virtual camera.

Since p5.play builds on p5.js it should feel pretty familiar. One key difference is that p5.play provides a scene graph. When you create a new sprite, p5.play remembers that it is part of the scene. When you set the velocity of a sprite, p5.play remembers that for you too. When you call drawSprites(), p5.play will move and draw all the sprites.

NOTE: p5.play hasn’t been updated in a while, and produces some console errors in newer browsers. The examples seem to work fine still.

Study Examples

p5.play Animation

This example shows the basics of p5.play: creating, animating, and drawing sprites.

Character art by Buch @ opengameart.org

p5.play Interaction

This example shows how to use the .mouseIsOver property of a sprite for user interaction.

Coding Challenges

Explore this chapter’s example code by completing the following challenges.

Modify the p5.play Animation Example

  1. Comment out the addImage lines. See what happens. Then comment them back.
  2. Change the size parameters on createSprite. What happens? Why was this the result?
  3. The Kid in Green is running backwards. Fix that. Tip: mirrorX ••
  4. Make The King run to the right. ••
  5. Make The King and The Kid in Green run towards each other. Make them stop when they collide. Tip: overlap() •••
  6. Make The King and The Kid in Green “bounce” when they collide. Tip: Look at the “bouncing” p5play example. •••

Modify the p5.play Interaction Example

  1. Comment out the mouseActive line. See what happens. Then comment it back.
  2. Make The King spin when the mouse is over him.
  3. Make The King spin when the mouse is NOT over him. ••
  4. Make The King spin when he is clicked, and stop when clicked again. ••
  5. Remove The King from the scene when he is clicked. Start the scene with 10 kings. •••
  6. Create a microgame from this example! •••

Keep Sketching!

Sketch

Build interactive experiments that focus on minimally expressing a single mechanic.

Challenge: Couch Co-op

Cooperative games are games where two or more players work together to achieve a goal. Pandemic, Forbidden Island, and Hanabi are great co-op board games. Portal 2, Lovers in a Dangerous Spacetime, and Towerfall are great co-op videogames.

Couch co-op games are local multiplayer videogames, where two people play together on the same screen—and on the same couch.

Create a couch co-op microgame!

Explore