Final Proposal_Week_12 – Jihad Jammal

Final Proposal for End of Semester Project

Instead of a  joystick-controlled P5.js game, this project will have a slight twist with what can be considered a “joystick” by using a physical device shaped like a “clam”, which will interact with a digital environment displayed via P5.js. The core idea is to gamify the task of throwing wooden blocks (metaphorically representing tasks or challenges) into the clam, with the difficulty and visual feedback varying according to the intensity of the interaction.

Design and Functionality of the Arduino Setup

Inputs:

The Arduino will be equipped with pressure sensors embedded in the clam-like contraption. These sensors will detect the force exerted by the wooden blocks thrown into the “clam”. The primary input for the Arduino will thus be the varying pressure from these blocks.

Outputs:

The Arduino will control a motor mechanism responsible for opening and closing the “clam”. The speed at which the “clam” opens and closes will be directly proportional to the pressure sensed by the sensors – more pressure will result in faster movement.

Interaction with P5.js:

The Arduino will send data to the P5.js program indicating the current pressure level detected by the sensors. This will inform the P5.js application about how quickly to adjust the visuals accordingly.

Design and Functionality of the P5.js Program

Inputs:

The P5.js program will receive data from the Arduino about the pressure levels. This input will determine the rate at which the in-game visual elements change.

Outputs:

The main output of the P5.js program will be the visual representation on the screen. The size of a dog character in the game will increase as more pressure is applied to the “clam” sensors. This size increment and the speed of the “clam’s” movements will serve as visual feedback to the player, creating a dynamic gaming experience.

Interaction with Arduino:

Apart from receiving pressure data from the Arduino, the P5.js program will also reset all functions (i.e. “clam” speed, size of the dog) on the Arduino and the sketch  once the game is over and the limit of not send any information back to the Arduino.

Conclusion

By integrating robust physical components with dynamic digital responses, the game not only becomes more engaging but also introduces a novel method of interaction in digital gaming environments. Through user testing and iterative design, this project will evolve into an innovative and enjoyable experience for users, showcasing the potential of hybrid physical-digital interaction platforms.

Leave a Reply