Concept & Inspirations:
Arduino
Testing with components:
Test Out Two Joysticks with Switch Button:
https://editor.p5js.org/lr2855/sketches/_28fJIo28
Problems need to solve:
Lagging mouse dragging.
Insensitive Selection.
Temperarily Solution:
Change the game to a single player game.
P5 JS
Create visual effect:
reference- p5 wabGL https://p5js.org/reference/#/p5/WEBGL
testing out material, texture, light, ect.

Object Hover Effect

Unselected Item
Text Selection:

Creating Narratives:
source website: https://twinery.org/
Storyline

Essential Idea: players will observe both visual and text information from the story. And players are making choices from 1-3 options. Some options will lead them to a completely different results. At the end, the player will land on one of the universes I planned out. Because of the time limit, the storyline is not fully finished, and the universe scene has not reach the visual I want.
Coding
Unlike many text adventure games I have seen for reference, I don't like using keys to represent options. Instead, I started with coding using mousePressed, and count the number mousePressed. When executing into my code, I need to know the specific mouse count for each option.

Model
Most of my models come from two sources:
These two websites are great resources to purchase or download free 3D models.
Combine Arduino and P5 js
For my final presentation, a player controls the joystick to hover on the options and look at the surroundings. A player hit the button to make a selection.

I used two anologRead to calculate the position of the joystick controller, and a digitalRead to check on the switch button status.
Final Result
JoyStick Version: https://editor.p5js.org/lr2855/sketches/3wg10D2hN
https://editor.p5js.org/lr2855/full/3wg10D2hN
Mouse Version: https://editor.p5js.org/lr2855/sketches/EEzk_MnD_
https://editor.p5js.org/lr2855/full/EEzk_MnD_
Semi-Process:
switching counting from mouse count to button count.
3 ways-
use clicks to count when there is serial received from the button.
if (fromSerial3 ==1){
clicks++; }
However, there is a bug: when the button is clicked, the clicks starts to add up, which conflicts with my selection system.
count button pressed time from arduino's side.

when button changes state, count button press.
use button to determine a state.

let an object been selected as "selected", when fromSerial == 1 , selected = true. because I have another state "hovered". When the joystick hovers on an object, "hover" = true, and when the button is been pressed, "selected"=true.
Fabrication

two joysticks with a working light.

3D printing gift box.

container for joystick and button.

making handle.

