Casual Game Development IGME-450

Project 0.5 - Son of Boomshine

Goal: finish up and extend Circles/Boomshine.

Requirements and Grade Rubric

  1. (30%) The game should be over when a level is beaten and numCircles reaches a certain value (the original Boomshine stops at 60). Add a Game Over screen that will display the players final score and gives them the opportunity to play again. See screenshot(s) below for an example.
    Hints:
    • Add GAME_STATE_END and NUM_CIRCLES_END globals
    • In the code that checks if the level is over, check to see if the game is also over, and if so, change the gameState to GAME_STATE_END.
    • Add a conditional in drawHUD() that will draw a game over screen
    • Add a conditional in doMouseDown() that restarts the game. Don't forget to reset the gameState, totalScore, and numCircles variables.
    • You'll also need to make a change to drawCircles() to make sure the remaining circles are drawn at a lower opacity during GAME_STATE_END
  2. (30%) There will be a minimum score required on each level in order to progress to the next level. It can be a fixed percentage of numCircles, or a value that is hard-coded on a per-level basis.
    Hints:
    • Add GAME_STATE_REPEAT_LEVEL, NUM_CIRCLES_LEVEL_INCREASE and PERCENT_CIRCLES_TO_ADVANCE globals
    • In the code that checks if the level is over:
      // if the level is over
      if(roundScore < Math.floor(numCircles * PERCENT_CIRCLES_TO_ADVANCE)){
        gameState = GAME_STATE_REPEAT_LEVEL;
      } else {
        ...
      }
    • Continue on the same lines as was done in #1 above
  3. (30%) Sound
    • A background sound that loops.
    • One or two other effect sounds. DON'T do sounds for every wall hit or explosion - instead play a sound when the circles target is reached, and/or when a new level is loaded.
    • DO NOT use the sounds that were given to you in class.
  4. (Up to 10%) Enhancements

Ideas for enhancements

Submission

Screenshots

Game Over


Minimum Score to Advance


Possible enhancement: Game data example