Bucky Basher Game
Real-time multiplayer synchronization on a microcontroller architecture.
The Challenge
Bucky Basher was a project centered on the intersection of firmware engineering and real-time interaction. The goal was to develop a multiplayer game that ran on an MSP432P401R microcontroller, requiring a deep understanding of low-level hardware communication and RTOS task scheduling.
The most significant hurdle was achieving perfectly synchronized gameplay between two independent boards over UART communication. Managing high-speed data transfer while simultaneously handling joystick inputs, LCD updates, and EEPROM storage required precise task prioritization within the FreeRTOS environment.
By leveraging FreeRTOS, I ensured that the game remained responsive, providing a timed, competitive setup where players could collect ghosts across a two-board setup without lag or system crashes.
Core Requirements
- ✔ Real-time multiplayer synchronization.
- ✔ Integration of peripherals (LCD, Joystick, EEPROM).
- ✔ Efficient task scheduling via FreeRTOS.
- ✔ Robust UART communication protocol.
The Tech Stack
My Engineering Contributions
Firmware Development
Developed the game logic in Embedded C using Code Composer Studio on the MSP432 platform.
RTOS Management
Utilized FreeRTOS for precise task scheduling, ensuring responsive gameplay and peripheral management.
Peripheral Integration
Integrated LCD displays, joysticks, and pushbuttons, and managed persistent data with EEPROM.
Wireless Systems
Designed a synchronized multiplayer system using UART to link boards for competitive gameplay.