Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

102 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Super Mario Icon

Super Mario World 6-9

C++ Qt Status


A recreation of the famous World 6-9 level using C++ and the Qt Framework.


📝 About The Project

This project is a faithful reproduction of the World 6-9 level from the Super Mario universe. The goal was to build a platformer game engine from scratch using C++ and Qt, handling physics, collisions, and enemy AI.


🗺️ Level Map

Here is the complete layout of the level we recreated. The game features underwater mechanics, pipes, and complex collisions just like the original.

World 6-9 Map

📺 Gameplay Overview

Watch the following video for a gameplay overview:
https://www.youtube.com/watch?v=gH-bdCRIQQ8


⌨️ Controls

General

  • ENTER — Start the game (from main menu)
  • R — Reset game
  • P — Pause / Resume game
  • G — Toggle debug grid
  • C — Toggle object colliders

Mario Actions

  • Arrows — Movement (Left/Right) and Crouch (Down)
  • SPACE — Jump / Swim
  • Z — Run (hold for speed)
  • T — Debug Transformation (cycles through power-ups)

Combat & Special

  • B — Launch fireballs (Fire Mario) or Tail spin (Raccoon Mario)
  • Z (hold) + SPACE — Fly (Raccoon Mario when super-running)

🚀 How to Run

Choose your preferred way to get the game running:

🎮 Download & Play (Ready to Run)

If you just want to play without compiling the code:

  1. Go to the Releases page.
  2. Download the SuperMario3Installer.exe file.
  3. Run the installer and follow the on-screen instructions to set up the game.

⚠️ Windows 64-bit only This installer is currently compatible only with 64-bit Windows systems.

🛠️ Build from Source (Step-by-Step)

Follow these detailed instructions to set up the environment and compile the project manually.

1. Prerequisites

  • Git: To clone the repository.
  • CMake (3.16+): For build management.
  • Compiler:
    • Windows: Visual Studio 2019/2022 with C++ workload.
    • Linux: GCC/G++.
    • Mac: Clang (Xcode).
  • Qt 5.15.2 DevBinaries: Download the specific binaries for your OS from our Releases (e.g., qt-5.15.2-win64-msvc.zip ) and extract them locally.

2. Cloning

git clone https://github.com/giusalfieri/Super_mario.git
cd Super_mario

3. Configuration (Windows - Visual Studio)

  1. Launch Visual Studio and select "Open a local folder".
  2. Navigate to and select the project root directory; Visual Studio will automatically detect the CMakeLists.txt file.
  3. From the top menu, navigate to Project > CMake Settings.
  4. Locate the CMake variables and cache section.
    • Note: If the "Add" button is missing or you prefer a manual setup, click on "Edit JSON" (located at the top right of the panel).
  5. Add the CMAKE_PREFIX_PATH variable:
    • Via Interface: Click Add, set Name to CMAKE_PREFIX_PATH, Type to PATH, and Value to your Qt path (e.g., C:/Qt/5.15.2/msvc2019_64).
    • Via JSON: Inside the variables array of your configuration, paste the following:
      {
        "name": "CMAKE_PREFIX_PATH",
        "value": "C:/Users/giuseppe/Desktop/Qt/5.15.2/msvc2019_64",
        "type": "PATH"
      }
  6. Save the configuration (Ctrl + S); Visual Studio will then automatically generate the CMake cache.

4. Configuration (Linux / macOS - Terminal)

Open your terminal in the project root directory and execute the following commands:

mkdir build && cd build
cmake .. -DCMAKE_PREFIX_PATH="/your/extracted/qt/path"
cmake --build .

5. Build & Execution

  • Visual Studio: Select supermario3.exe from the startup item dropdown and press F5 to compile and launch the game.
  • Terminal: Locate and run the generated executable within the build directory.

Note for Windows Users The CMake configuration is scripted to automatically invoke windeployqt. This utility bundles all required Qt shared libraries (.dll) and essential plugins (audio, platforms) directly into the output folder, ensuring a seamless "out-of-the-box" execution experience.


👥 Contributors

Our development team has worked to recreate this classic experience with modern tools:

Name GitHub Account
Giuseppe Alfieri @giusalfieri
Nico Fiorini @capocattiveria
Jacopo Saccocci

About

Super mario world 6-9

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages