Skip to content

m24842/STAR_WARS

Repository files navigation

GT ECE 2035 Final Project Spring 2024

Cover_Image

Hardware

Hardware Setup

(x2 for PvP mode + 16 wires for sharing inputs + 2 wires for syncing devices + 1 wire for sharing ground)

  • MBED LPC1768
  • 5 way tactile switch
  • uLCD-144-G2
  • 4 push buttons
  • microSD Transflash Breakout
  • TRRS 3.5mm Jack Breakout
  • Mini audio jack speaker
    • ~1uF capacitor (anything close will work)
    • one 10kΩ resistor
    • one 1kΩ resistor

Audio Jack Breakout Schematic:

Audio jack schematic

Requirements

Default Run:

  • To run this project successfully using the default implementation, ensure the wiring and SD card requirements are met
  • Then just drag and drop the P2-2.bin file onto an MBED LPC1768 and power cycle to start running the game

General Wiring:

  • Pin numbers for all hardware components are provided in hardware.cpp
  • Any pins marked for the opponent are not necessary for single-player modes
  • This project deviates from the course's provided schematic, however, alternative pin configurations are provided in the comments that will work with a circuit built to the provided schematic

SD Card Files:

  • All contents of sd-card-files must be flashed to the SD card for the game to actually run
    • Must include the Users directory to successfully log in, register, and save user data
  • All WAVE files must be 11kHz sample rate, mono channel, 16-bit
    • To add, swap, or remove song tracks flash new WAVE files in the required format and change the file names in gameMusic.hpp
    • If adding or removing song tracks, update loop conditions for "playNextTrack" and "playPrevTrack"

Game Background:

  • To change the game background, replace the pixel values in gameBackground.hpp with pixel values of another image
  • Pixel array must be a 1D array of size 128x128 and pixel values must be in hex RGB form
    • Python code for converting images to C arrays provided in tools

PvP Mode:

  • Must have a shared ground between the two devices otherwise you'll get undefined behavior
  • Having ~20 additional wires increases the chance of hardware issues, check everything is securely connected and not shorting something else if the game won't start

Demo Video

Notable Features:

  • Animated sprites
  • Movement algorithms
  • Guided projectiles
  • Username and password login
  • Persistent user data
  • Concurrent audio
  • Audio mixing
  • Persistent game background
  • Custom text rendering
  • PvP mode with two game consoles

uLCD Emulator by @danielcbailey

STAR WARS Final Demo

About

GT ECE 2035 Final Project Spring 2024

Resources

License

Contributing

Stars

Watchers

Forks

Contributors