Microgames are tiny games, stripped to their essential elements, often playable in a few seconds.
p5.js + p5.play
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.
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.
Many interactive artifacts fall into the categories of games, toys, or tools. What is the difference?
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?
Brainstorm at least 10 defining or characteristic features of games.
Order your features by importance.
Compare group lists.
Compare features to each of the artifacts in the list above. Do these features support the way each artifact was grouped?
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.
This example shows the basics of p5.play: creating, animating, and drawing sprites.
Character art by Buch @ opengameart.org
This example shows how to use the .mouseIsOver
property of a sprite for user interaction.
Explore this chapter’s example code by completing the following challenges.
addImage
lines. See what happens. Then comment them back. •
createSprite
. What happens? Why was this the result? •
mirrorX
••
••
overlap()
•••
•••
mouseActive
line. See what happens. Then comment it back. •
•
••
••
•••
•••
Build interactive experiments that focus on minimally expressing a single mechanic.
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!
What Makes a Good Puzzle? Game Maker’s Toolkit Game Maker’s Toolkit is an excellent Youtube series about game design. This video addresses how to design a good micro challenge, and The Secret Of Mario’s Jump analyzes player input.
Piskel Tool A tool for building animated sprites.
Js13kGames Competition How much game can fit in 13k of Javascript? Find out in this coding competition.
The Nothings Suite Collection A collection of microgames made using Unity, Twine, and PICO-8 by Pippin Barr.
GIPHY Arcade Tool Play, share, and build customized microgames through GIPHY.