A downloadable game for Windows

Super Mario World

A small-scale recreation of a single level from Super Mario World, developed entirely in C++ using the Raylib library.

The main goal of this project was to gain hands-on experience with low-level gameplay programming without relying on a game engine.

Core systems implemented:

  • Player controller with movement, jumping, crouch, and gravity.
  • AABB collision detection and collision resolution.
  • Sprite-based level representation.
  • Basic enemy interaction and movement logic.
  • Code follows OOP principles and classes are separated into .h and .cpp files.
  • Global state-machine for managing multi-screen rendering.
  • Separation between updating (logic, input) and rendering (OpenGL).

Technical challenges:

  • Resolving edge and corner collision cases.
  • Implementing a state-machine to handle both player movement and animation.
  • Maintaining consistent physics behavior across different surfaces.
  • Handling different collision scenarios depending on collision normals.
  • Designing and implementing the game UI using custom game fonts and sprites.

This project was developed as part of the Graphics Programming subject of the Master’s Degree at UOC.

Download

Download
GP_SMarioWorld_Marc_Parrilla.rar 371 MB

Leave a comment

Log in with itch.io to leave a comment.