24 October 2024

Team 9 Progress Review

Our controller for Project Diva is essentially a pair of glowsticks that the player must move and shake to the beat of the music serving as a conceptual metaphor for dancing at a party. This gameplay mimics the movement of the character shown in the background which otherwise doesn’t serve much of a purpose apart from flashy visuals. The color of the glowsticks respond to how they are moved, indicating the input that can be sent when shaking it. This includes left, right, up, and down which corresponds to the arrow inputs displayed on the game screen. Some moments of gameplay require a constant input to be sent for a short time which can be done by moving a slider all the way to one of the sides using your thumb. This will brighten a unique LED on the glowstick indicating a sustained moment of intensity. 

 

Sketch:

Schematic



 

// Marcus Werner
// Sarah Walenciak

// include libraries

void setup()
{
  // Variable Declaration (Important ones listed below)
    // 4 float inputs for game (for each stick)
    // Array to store inputs for in game
    // 1 bool to send inputs when the time comes
    // 2 floats for accelerometer values
    // 1 float constant for accelerometer threshold
    // 1 float to hold slider value
    // 2 bools for arrow/direction input
    // 1 variable for sound output
    // 1 variable for LED output

    // Start Circuit Playground

    // Initialize pins for LEDs

    // Set baseline values for accelerometers (Calibration)
}

void loop()
{
  // Check accelerometer values
  // If any of the accel values have changed more than the threshold number
    // Based on which value has triggered the theshold, that input will be stored in the array
    // waiting to be sent. This will allow up to two inputs to be stored at a time to allow for
    // combos (one input per stick)
 
  // Quickly moving the controller/shaking will send the stored input out as long as it remains
    // in the same range
  // If accel value is no longer across that threshold, any stored inputs will be reset using a loop


  // Check slider values
  // If slider is up far enough, input for left arrow hold will continuously be sent
  // If slider is down far enough, inpout for right arrow hold will continuously be sent
NEW
[12:58 PM]
// Controlling LEDs
  // Map accel values to multiple LED colors so they change depending which input is being stored and how far into
    // the range the controller is
  // Map slider value to LED color/brightness so color changes and gets brighter when slider is close
    // to one of the ends


  // Menu Controls
  // Work very similar to in game input but less sensitive (more delay) to avoid moving more than desired
  // Detect accel value, and if higher than threshold, it allows that input to be sent but only when
    // the controllsr is shaken. No need to store these inputs in an array since only one can be sent at a time
}


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.