
Eggcellent Cooking
Play in Browser:
- Start with "Space"-Key
- Add Seasoning with "E"-Key
- Restart with Space
Collaboration:
This project was developed in collaboration with GLASBOX Makerspace as part of the course "Advanced Topics in Human-Computer Interaction" by lecturer Juan Felipe Olaya Figueroa.
Description:
Eggcellent cooking is minigame in which players cook a fried egg . The goal is straightforward: don't burn the egg, and season it well along the way. As the egg fries, a heat bar gradually fills across the screen. Players must throw the egg out of the pan within a specific window. At the same time, spice windows appear at random intervals throughout the round, each lasting only a short moment.
Controls:
Input
- Button Pres
Feedback/Output
- Vibratiomotor
- Electromagnet
Electromagnet:
- The first part of the controller represents the seasoning
- On one side sits a button, on the other a magnet
- When the game signals the right moment to add spice, an electromagnet activates and pulls a small lever toward it
- This makes the button significantly harder to press: the added effort mirrors the challenge of seasoning at exactly the right moment
Vibration:
- The other part of the controller is shaped like a fried egg
- The yolk acts as a button: players press it to start the game and to flip the egg at just the right moment
- The vibration motor is mounted to the back of the egg, with a foam pad underneath to muffle the sound
- As the egg heats up in the pan, the motor intensifies, giving players a physical sense of the sizzling.
Discussion
- The vibration motor is connected directly to the state of the game: growing stronger as the egg heats up, and reaching its peak just before the throw window closes
- This improves player awareness of game state without requiring constant visual attention, allowing for a more instinctive interaction.
- The spice mechanic introduced haptic feedback through physical resistance, which communicates urgency
- However, the implementation revealed a significant limitation: the magnet's effective range was too short, resulting in a resistance that was barley noticeable
- In future iterations, this could be addressed by using a stronger electromagnet with a wider pull range, or by replacing the magnetic mechanism entirely with a servo motor
Tech Stack:
The game is built in p5.js and communicates with a physical Arduino-based controller via a Node.js backend, which handles the serial connection between the hardware and the browser. Game UI and logic were developed with Anthropic Claude. The 3D-Models were build with Autocad Fusion and 3D printed.


