Dragon Day Disaster

Game Dev
Embedded Systems
Dragon Day Disaster

Tech Stack

C++
Python
Pygame
FRDM-KL46Z

Description

Built a two-player game inspired by Cornell’s Dragon Day rivalry. Each player straps a FRDM-KL46Z board to their body and physically jumps or ducks to control their character in a Python pygame race.

On the board side, I implemented accelerometer sampling, gesture detection, and serial transmission with concurrency and spinlocks. On the laptop side, we integrated dual serial streams into a pygame engine with collision detection and win screens.

I debugged UART initialization, calibrated thresholds empirically, and designed the serial protocol. Our collaboration bridged embedded firmware with a laptop game engine, creating a head-to-head survival race across Cornell’s Arts Quad.

  • Developed board-side firmware for accelerometer sampling and gesture detection.
  • Implemented spinlock-protected concurrency and real-time scheduling.
  • Designed serial protocol and debugged UART initialization.
  • Integrated dual serial streams into Python pygame for two-player gameplay.
  • Created calibration tool to empirically tune jump/duck thresholds.

Page Info

Gameplay Screenshot

Two-player race across Cornell’s Arts Quad, dodging obstacles like the Clock Tower and flying pumpkin.

/projects/dragon-day/gameplay.png

Board Setup

FRDM-KL46Z boards strapped to players for gesture input.

/projects/dragon-day/board.png

Accelerometer Debugging

Calibrating jump and duck thresholds from accelerometer data.

/projects/dragon-day/accelerometer.png

Team Collaboration

Working together to integrate embedded boards with the Python game engine.

/projects/dragon-day/team.png

    Ariel S. Lai - Electrical & Computer Engineering