Skip to content

TheoC04/game-project

Repository files navigation

game-project 🎮

This is my project for my embedded systems module
It was awarded an overall 96% grade and selected to be showcased at my university’s open day as an example of outstanding student work.

The system demonstrates techniques in C++ programming, multithreading, raycasting, timers/interrupts, and LCD rendering on constrained hardware.

The project includes:

  • 🌀 Maze Game (3D raycasting with textures and dark mode)
  • 🐍 Snake Game (scalable grid size, joystick + button controls)
  • 🚀 Space Game (survival game with scaling difficulty and health system)
  • 🎵 Music System (background playback using a dedicated thread + menu interface)

📹 Full Demo Video

🎥 Watch the full project demo


✨ Features

  • Multithreaded Music Playback
    Background music runs seamlessly during gameplay, with support for random/next/stop controls.

  • Raycasting Engine (Maze Game)
    3D-style rendering with textured walls, floors, ceilings, and dynamic dark levels.

  • Configurable Games
    Snake scaling, refresh speed, joystick/button controls, and difficulty scaling in the Space Game.

  • Responsive LCD Menus
    Scrolling interfaces, dynamic option toggles, and clear feedback for user inputs.


📓 Development Journal

I kept a detailed dev journal for this project, reflecting on design decisions, bugs, and what I learned.


🛠️ Technical Details

  • Language: C++ (Mbed OS)
  • Platform: Embedded microcontroller with LCD + buzzer
  • Core Techniques:
    • Multithreading with Mbed RTOS
    • Timers and interrupts
    • Recursion for maze generation
    • Collision detection (bounding box method)
    • Raycasting for pseudo-3D graphics

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors