Midterm Project: The Fisherman

The Fisherman
    Made by Qiya Huang
    Instructed by Professor Rudi

The Fisherman 01

The Fisherman 02

Context and Significance

In developing our project, “The Fisherman,” we drew upon experiences from previous group projects, particularly our exploration of servo and stepper motors. In the Wolverine Claw project, we used servo motors to create a claw retraction effect, and in the Whack-a-Mole game, we used stepper motors to realize the movement of the mole. Inspired by this, we opted to use a stepper motor to rotate a wooden stick, enabling a unique mechanism for simulating the fish movements. This decision added more fun to the dynamic interaction between users and our fishing game. Additionally, our past experiments with sensors informed our choice of detection mechanism. While we initially considered force sensors, we ultimately opted for reed switches due to their compatibility with our magnetic fishing mechanism and their reliability in detecting fish captures accurately.

Conception and Design

Drawing from the principles outlined in “The Design of Everyday Things” by Don Norman, our design philosophy centered on prioritizing user feedback and interaction clarity. We aimed to create an intuitive and engaging gaming experience from the moment users interacted with our project. Incorporating a start button provided clear feedback on game initiation, setting the stage for user engagement right from the start. To further enhance user engagement and enjoyment, we integrated positive feedback cues such as blinking green lights and buzzer sounds upon successful catches. These feedback mechanisms not only rewarded users for their actions but also reinforced their engagement with the game. Additionally, we introduced a winning condition that was signaled by all red LEDs blinking, providing a clear indication of game success. This feedback loop not only informed users of their progress but also incentivized continued gameplay.

In terms of materials used, while our initial prototype relied heavily on cardboard, practical testing revealed issues with its rough texture, particularly concerning the gears. The rough surface led to frequent snags, disrupting the smooth operation of the gear mechanism and interrupting gameplay flow. Reflecting on these challenges, we recognized the need for a smoother surface to ensure the seamless operation of the gears. In hindsight, utilizing a different, smoother material or applying packing tape to cover the surfaces could have effectively mitigated these challenges and improved the overall gameplay experience.

Red LED Blinking

Rough Cardboard

Fabrication and Production

Original Wooden Stick (Unstable Version)

Stronger Stick (Stable Version)

 

 

 

 

 

 

 

 

My primary responsibility was to address motion instability. To achieve smooth and reliable motion for the fish, I focused on utilizing gears to implement different up and down motions using a single motor. Initially, we encountered issues with the main wooden stick twisting during rotation, which posed safety concerns and jeopardized the durability of the mechanism. To mitigate this, we replaced the main stick with a sturdier, round wooden stick recommended by one of the IMA professors.

In terms of LED circuitry, we aimed to create the effect of six red LEDs blinking simultaneously using only one pin, minimizing complexity and conserving Arduino board resources. Researching alternative connection methods, I discovered the technique of parallel connection, which allowed all LEDs to be connected in the breadboard first before being linked to a single pin. Implementing this method not only streamlined the circuitry but also achieved the desired blinking effect efficiently.

Game Button

Furthermore, I integrated the game mode button to add an element of fun and interactivity to the gameplay experience. Programming the button required careful consideration of game states and timing to ensure seamless transitions between start, play, and end states. I assigned a fixed game duration and a Boolean variable “gameRunning” at the beginning of the program and tracked the game time using the millis() function. By developing two functions, “startGame()” and “endGame(),” I established a logical framework for managing game states, facilitating smooth gameplay transitions, and enhancing the overall user experience. Here is my code snippet for making the game mode system:

void loop() {
    if (digitalRead(buttonPin) == LOW && !gameRunning) {
        startGame();  
    }

    if (gameRunning) {
        elapsedTime = millis() - startTime;
        if (elapsedTime >= gameDuration) {
            endGame(); 
        }
    }
}

void startGame() {
    gameRunning = true;  
    startTime = millis();  
    Serial.println("Game started!");
    
    if(fishAmount > 2){
      Serial.println("You win!");
    } 
}

void endGame() {
  gameRunning = false;  
  fishAmount = 0;
  fishCaught = false;
  Serial.println("Game ended!");
}

Marine Ecosystem

Additionally, feedback from the user testing session prompted a shift in theme from an abrupt “overfishing” theme to one that emphasized the importance of marine ecosystems and diversity in fishing practices. By incorporating trash and other marine creatures into the setting, we introduced new challenges and educational opportunities for players. Distinguishing trash with wool further enhanced gameplay dynamics, fostering a deeper understanding of environmental conservation and sustainable fishing practices among players.

Conclusion

Our project, “The Fisherman,” aimed to create an engaging and interactive gaming experience centered around the act of fishing. By integrating elements such as motion mechanics, LED feedback, and thematic storytelling, our goal was to immerse players in a dynamic and educational gameplay environment. The project results align closely with our definition of interaction, as we successfully designed a system where users could engage with the game through physical actions such as pressing buttons, controlling the fishing rod, and receiving feedback through LED indicators and sound cues. However, while the physical interactive elements were well executed, we could have incorporated more dynamic storytelling elements to further increase player engagement and immersion.

Ultimately, audiences interacted positively with our program, expressing enthusiasm for the game mechanics and thematic elements. Players were actively engaged in the fishing experience, and many appreciated the educational elements incorporated into the game.

Disassembly

disassembly photo 01

disassembly photo 02

recycling photo

Appendix

  • The Gear Mechanism Inspiration: https://www.youtube.com/watch?v=IpBA7emMpb8
  • Midterm Project Images and Videos Documentation Folder: https://drive.google.com/drive/folders/1GJ3YDy69793Hz4ww8Q-d0nVbd0aemKSZ?usp=sharing
  • Arduino Code: https://drive.google.com/file/d/10C-SJFT82JP-vV-YfXmioY7sXw5v2Zsl/view?usp=sharing

Leave a Reply

Your email address will not be published. Required fields are marked *