Project

Christmas Blackjack C++

Back to Projects

Media

Christmas Blackjack game scene
Gameplay scene from our showcase-selected ENGR 1281 project.
Christmas Blackjack world interaction scene
Interactive world navigation and event-trigger gameplay.
Christmas Blackjack UI and systems scene
State-driven UI flow and game systems in action.

What is the project

My partner and I built a fully interactive C++ game from the ground up, and it was selected for presentation at the Engineering Foundations Showcase.

  • We developed a complete game architecture in C++ using a modular state-machine design that handled the main menu, world navigation, shop flow, blackjack engine, player stats, and banking systems.
  • I implemented object-oriented systems with custom classes for card and hand handling, inventory management, chip logic, value calculations, UI components, and overarching gameplay flow.
  • The game includes collision detection and interactive world mechanics so the player can move through spaces and trigger scripted events.
  • I integrated custom pixel-art assets and animations to maintain a cohesive Christmas-themed visual identity across menus and gameplay scenes.
  • We also built an in-game theater that plays a short educational micro-film on teen gambling risk, combining technical implementation with research-driven impact content.
  • The final project balanced gameplay depth, software structure, and social-impact storytelling, which led to our nomination at the Engineering Foundations Showcase.

What I learned

  • A modular state-machine architecture makes large game projects significantly easier to scale, debug, and extend under class project constraints.
  • Separating concerns through object-oriented classes reduced cross-module coupling and let us iterate faster on game mechanics without destabilizing the full codebase.
  • Collision and event-trigger systems require careful logic boundaries to keep world interactions predictable and avoid hidden state bugs.
  • Designing educational content into a game works best when it is integrated into gameplay context instead of treated as a disconnected add-on.
  • Presenting at a showcase reinforced the value of building projects that are both technically sound and intentionally designed for user impact.

Skills Learned

  • C++ Software Architecture
  • State-Machine Design
  • Object-Oriented Programming
  • Game Systems Engineering
  • Collision Detection and Event Logic
  • UI and Gameplay Flow Design
  • Pixel-Art Asset Integration
  • Educational Game Content Design
  • Debugging and Refactoring
  • Technical Presentation and Communication