07 April 2022

Progress Review - Dig Dug Pump

DIG DUG PUMP



For this project, I decided to create a pump controller for the classic arcade game Dig Dug. In Dig Dug, your control scheme is simple: you use the directional keys/a joystick in order to move up, down, left, or right, and you use a button in order to use your pump on enemies.

With this controller, the player will be further immersed in the game through the direct translation of the pumping motion into button presses via tin foil attached to the bottom of the pump handle's shaft, which, when it touches the raised platform with another piece of foil flowing with electricity, will close the circuit and act as a switch as though the player were holding down the button on a standard controller. Within the game, you do not actually hold down the button in order to keep pumping, so, as such, the player will have to pump multiple times in order to keep pumping, as is the case for the player character in the game itself.

Directional movement will be controlled via potentiometer knobs, with one controlling horizontal movement and the other controlling vertical movement. The difference will be signified by arrows stylized into shovels pointing in the directions in which the player can move, and the potentiometers themselves will be oriented in order to match this, i.e. the vertical movement knob being oriented sideways.

The potentiometers will be connected directly to the CPB, while the pump will be connected indirectly via a breadboard resting on a platform in the center of the enclosure above the CPB, which will rest at the bottom of the enclosure.


Pseudocode:
// Jacqueline Pavlat
// Final Project: Game Controller
// Dig Dug Pump

#include <Adafruit_CircuitPlayground.h>
#include <Adafruit_Circuit_Playground.h>

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

}

void loop()
{
  // put your main code here, to run repeatedly:
  /*
   * IF circuit is closed/foil is touching
   *  use: pump
   * IF knob A is turned left/counter-clockwise
   *  move: left
   * ELSE IF knob A is turned right/clockwise
   *  move: right
   * IF knob B is turned up/clockwise (knob is oriented sideways)
   *  move: up
   * IF knob B is turned down/counter-clockwise (knob is oriented sideways)
   *  move: down
   */
  
}

 


Review Questions:

  1. Since they will be oriented in such a way that they will not be supported by gravity, how would you recommend stabilizing the potentiometers within the enclosure? The current thought is simply to tape it down against the interior of the enclosure, but what would be a better way?
  2. Are there any additional suggestions you have in order to improve the current design? Any issues?

No comments:

Post a Comment

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