University of Texas EE319K Game Design Lab
We recreated a popular iOS mobile game called Astro Party on the EK-TM4C123GXL Microcontroller. Astro Party is a 1v1 game in which each player controls their spaceship and shoot each other.
- Each ship is always accelerating in the direction it is currently facing
- Each ship can only rotate one direction with a button press (clockwise or counter-clockwise)
- Each ship has a maximum of 3 bullets (bullets reload after active ones explode)
- Power-Ups temporarily give players new abilities
- A round ends when one of the ships is destroyed
- A point is earned by destroying the opposing ship
- The first to reach the point cap is the winner
- Two-player game
- Physics Engine
- Collision Detection
- Hitbox Collision Detection
- Linear Per-pixel Collision Detection
- Velocity
- Acceleration
- Collision Detection
- Gameplay
- Destructible Walls
- Power-Ups
- Laser
- Blades
- Reverse Rotation
- Particles
- Gameplay modes
- Adjustable Game Length (1,3 or 5 kills)
- 3 Unique Maps
- Graphics Rendering
- Virtual Buffer
- Layered Graphics
- Edge-Triggered Interrupts
- Pause game
- Three Onboard Buttons (reset, start, and select)
- Four Buttons (two for each player)
- Shoot
- Rotate ship
- ADC Slider
- Navigate game menu (settings)
- Volume control
- 8-bit DAC to Audio Output
- Sound effects
- Sitronix ST7735R LCD
- C - Programming language
- Keil uVision IDE - IDE for embedded software development
- Brian Cheung - Game engine, physics engine, animations, hardware
- Samuel Wang - Sound module, sprites, hardware
This project is licensed under the MIT License - see the LICENSE.md file for details
-
We do not own any of the Astro Party UI desgns, concepts, logos, etc. Rusty Moyher owns these UI designs, concepts, logos, etc.
-
Code snippets and boilerplate code from:
"Embedded Systems: Real Time Interfacing to Arm Cortex M Microcontrollers", ISBN: 978-1463590154, Jonathan Valvano, copyright (c) 2015
belong to Jonathan Valvano. I do not take credit for code snippets and boilerplate code from the textbook.