Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OvercookedController

A custom, motion-controlled hardware interface designed for "Overcooked! 2".

Project Purpose: Developed as part of a 5th-semester Interaction Design course, this project explores physical computing by replacing traditional inputs with gesture-based interactions. The goal was to increase gameplay immersion through tactile feedback and motion tracking while maintaining full compatibility with the game.

Parts:

  1. Knife with Buttons:

    • Equipped with buttons for user interaction.
    • Enables unique actions triggered by doing a chopping motion with the knife.
  2. Plate Controller:

    • Responsible for character movement and control within the game.
    • Utilizes an accelerometer to track the tilt of the plate, adding an immersive dimension to the gameplay.
  3. Receiver:

    • Serves as a central hub that receives information from both the knife and plate controllers.
    • Enables Bluetooth communication between the controller components and the gaming system.

Controllers showcase:

Below the interaction with the controllers and their hardware can be seen

Code Organization:

Receiver:

  • Code Location: Receiver/
  • Description: Code that takes input from the knife and plate controllers.

Plate Controller:

  • Code Location: Wireless_Knife_Plate/Plate_Wireless
  • Description: Sends thumb stick x-y coordinates through the accelerometer to the receiver. Triggers vibration if tilted too much, signaling that in-game items may be dropped.

Knife Controller:

  • Code Location: Wireless_Knife_Plate/KnifeWireless
  • Description: Sends input from the knife controller to the receiver. Includes a pressure sensor for in-game grabbing, two buttons for interactions, and an accelerometer to detect shaking for specific interactions.

Components and libraries Utilized:

  • Vibration Module: Enhances user feedback by incorporating vibration effects into the gaming experience.
  • Bluetooth Module: Facilitates wireless communication between the controller components and the gaming system.
  • Accelerometer: Enables precise tracking of plate tilt, contributing to a more dynamic and engaging gameplay.
  • Buttons: Used for initiating various in-game actions.
  • Pressure sensor: Used for grab actions.
  • xInput Library: Employed to emulate an Xbox controller, ensuring compatibility with the game "Overcooked! 2".

Feel free to explore the codebase to gain insights into the intricacies of each component and their interactions.

About

This repository contains the code for a custom motion controller designed for the game "Overcooked! 2". The controller is split into three distinct parts, each serving a specific function. Created as part of my 5th-semester project in Interaction Design

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages