23 October 2024

Team 10 Progress Review: Crypt of the Necrodancer Mimic Controller

Concept:

Crypt of the NecroDancer has the player traversing a dungeon to the beat of background music. In these dungeons there are mimic enemies that can trick the player. This feeling of unknowing solicited by the mimic is something we capture in our concept. The chest isn't fully open, requiring you to blindly reach into its mouth and enter the belly of the beast, creating the same sort of feeling the character in-game would potentially experience. We wanted to visually emulate an enemy, and then emulate the feeling the character would experience.

Mechanics:

There are two inputs: 1. two gummy/squishy "sores" inside the chest's mouth at the center of its base. The player can press these in all the way down in order to input the left and right arrows on a keyboard or controller d-pad. 2. It will be on the chest's tongue that sticks over the edge. The middle lining of the tongue will be colored differently with arrows at the top and bottom of the discolored area. If the player touches anywhere on the top half of this discoloration with their other hand, it will input up arrow and anywhere on the bottom half will input down arrow.

Design:


Schematic:


Pseudo Code

 

void setup() {
  // put your setup code here, to run once:

  //We're going to need two FSR variables. For example, it could be written:
  //int fsrAnalogPinOne = 0; | int fsrAnalogPinTwo = 1; (First FSR is pin 0,
  //second is pin 1 in this example)

  //We'll also need a Potentiometer setup, such as:
  // int potPin = A3 (analog pin 3)
  // int potVal = 0; (variable that stores input from Potentiometer)

}

void loop() {
  // put your main code here, to run repeatedly:

  //Having the chest close to pause the game is on the table. That should be
  //relatively simple.
  //Would need booleans for whether or not it's open to determine calling the
  //functions to do so.

  //As far as I understand, FSRs can be tuned in Arduino to react based on
  //how hard you press on them. For our purposes, we would need to have a
  //control input (i.e. left or right) be activated on a certain treshold of
  //the FSR reading.

  //For the Potentiometer, we could try to read the value in loop, and have
  //those values correspond to a keyboard input as well. For example:
  //if (potVal < 341(the lowest third of the sensor)) --> Keyboard.print(character for input)
  //Obviously would need a cleaner way but thats the idea.
}

No comments:

Post a Comment

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