- You will work in groups of (up to) 3.
- You will learn how to connect and read several simple continuous sensors.
- You will write gesture recognition code that can distinguish between several events extracted from continuous sensor readings.
- You'll put it all together in a game controller or musical instrument.
Every team can pick up a starter sensor kit - these are loaners - please return them later in the semester (but don't disassemble your prototype until you've documented it and demonstrated it in class!)
The sensor kit contains one of each of these:
We have additional sensors in store in the Jacobs Hall Material Store and the Invention Lab store. Feel free to also trade sensors with other groups.
Option 1: Requirements for the game
You don't have to invent a new game - take an arcade classic or other game you are already familiar with. You are allowed to start from open source code and extend it; or even control a closed-source game (via keyboard events). Just make sure you credit the game designers and engineers in your submission. For some starting points, look at OpenProcessing Games (you are not limited to Processing - you can use any language you want).
The main requirement is that in the end the game is playable and is enjoyable to play with your controller.
You're allowed to use simple switches for auxiliary functions, but the point of the assignment is to deal with analog sensor data.
Ideally, your game should have at least one dimension of continuous control and at least one dimension of discrete control that you extract from continuous sensor input.
For Example: In Breakout - the continuous dimension is the X-control of the shuttle; the discrete event is firing guns to break blocks (if you've collected the special "firing" power). In contrast, Pacman only has discrete controls (up, down, left, right).
Option 2: Musical Instrument
You are open to use any existing sound synthesis software or hardware and control it with your instrument. We are documenting different ways to connect your Pico Pro to synthesizers on Piazza.
Your controller should enable performers to control three degrees of freedom at a minimum: note on/off, pitch, and some timbre parameter of your choice. The main requirement is that someone should be able (with training) to play an actual melody on your device. Support for expressive/virtuoso control are great beyond that, but not strictly required.
Requirements for Physical construction
- Learn how to make connecting cables, e.g., with ribbon cable - don't just stick all your components onto a breadboard wave the breadboard through the air.
- Think about designing some handheld shape that has the sensors embedded.
Turn in instructions
Your write-up should include:
- Names of everyone on your team and what roles they played.
- An explanation of the control scheme you came up with
- A description of your hardware and software implementation; and a reflection how successful you thought your controller or instrument was in the end - what worked well and what didn't? What was easy and what was hard?
Include images and record a short video of you playing a level or a tune. Make sure the video has appropriate narration that explains what we are seeing.
Next Monday, bring your controller and game to class - we will start the class by play-testing your games. Afterwards, you will briefly write up what you learned during the play test in the HW3 Playtest Reflection assignment.
GitHub: You've now all been invited to our GitHub organization The github asignment is here: