Super Mario Engine: C++ & Qt Development
As part of a university collaborative project, I worked on developing a fully functional Super Mario Game Engine from scratch using C++ and the Qt Framework.
Custom game engine rendering sprites and physics via Qt
The Challenge
Game development requires a rigorous understanding of system loops, memory management, physics calculations, and state management. The challenge was to recreate a smooth, playable platformer without relying on modern, pre-built game engines like Unity or Unreal.
The Solution
By relying strictly on core computer science principles, our team successfully built the game mechanics:
- Object-Oriented Architecture: Heavily applied OOP principles (Inheritance, Polymorphism, Encapsulation) to manage game entities like players, enemies, blocks, and items.
- Data Structures: Utilized advanced data structures to manage level rendering, collision detection algorithms, and entity spawning.
- Team Collaboration: Managed the entire project lifecycle utilizing Git and GitHub, ensuring clean version control, branch management, and collaborative code reviews.
Technical Stack
- Language: C++
- Framework: Qt (for rendering, event handling, and UI)
- Version Control: Git & GitHub
Key Takeaways
Beyond just building a fun game, this project was a masterclass in writing clean, scalable C++ code and working effectively in a version-controlled team environment—skills that are directly translatable to building robust data pipelines and backend infrastructure.