Game2: Noise is Everything

Game2 asks you to develop a runtime for sounds and music -- something a bit more complex than sprites.

Your goal is to start with a fork of the game2 base code and develop a new game whose gameplay is built around sound output.

I say "built around" and not "requires" because I want to include games -- like rhythm games -- that can be played (poorly) without sound.

Note also that the example code for base2 ships with some example sounds and music, but you can include sounds and music from other sources (see the Resources section for some links to get started). If you include sounds that you did not create, be sure that this use is compatible with the license of the sounds, and record where you got them in your README.md.

What You Need To Do

(More on game scoring.)

How To Do It

Design Roll Call

We have design roll call to make sure you are thinking about what you are going to code up. Your roll-call design is non-binding -- the game you turn in does not need to match it. Remember that one way to get out of the box is to go below the bottom of the barrel.

Implementation

Please note that we will be building additional sound handling support into the base2 code in class on September 10th and 12th; so if you fork the code early, be ready to integrate some useful changes from upstream.

For this assignment you should first get the base code working on your system, and then modify it to implement your new game. More detailed steps:

  1. Fork the base2 code as a starting point. The NEST.md file highlights changes since the last base code and explains how to set up your development environment (you'll need an updated nest-libs package!).
  2. Modify the code to implement your game and asset pipeline.
  3. Fill in the missing sections in README.md to document your project; replace screenshot.png with a screenshot of your game.
  4. Place a checkout of your game repository into your AFS turn-in folder at /afs/cs.cmu.edu/academic/class/15466-f19/game2/ANDREWID.