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.

Super Mario Gameplay 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.

View Project on GitHub

Related Content