{"id":22794554,"url":"https://github.com/colintr/marioqt","last_synced_at":"2026-05-09T10:36:08.602Z","repository":{"id":91542568,"uuid":"269635967","full_name":"ColinTr/MarioQT","owner":"ColinTr","description":"Playable Super Mario Bros Nes style Mario level editor","archived":false,"fork":false,"pushed_at":"2024-08-20T09:39:19.000Z","size":44673,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-05T19:59:56.764Z","etag":null,"topics":["c","mario","qt"],"latest_commit_sha":null,"homepage":"https://colintr.me/mario/Mario.html","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"GuillaumeBchd/MarioQT","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ColinTr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-05T12:56:46.000Z","updated_at":"2024-08-20T09:39:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"f354d427-42eb-40c2-97c9-1e1f9063bbab","html_url":"https://github.com/ColinTr/MarioQT","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColinTr%2FMarioQT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColinTr%2FMarioQT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColinTr%2FMarioQT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColinTr%2FMarioQT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ColinTr","download_url":"https://codeload.github.com/ColinTr/MarioQT/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246357744,"owners_count":20764361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","mario","qt"],"created_at":"2024-12-12T04:09:14.838Z","updated_at":"2026-05-09T10:36:08.572Z","avatar_url":"https://github.com/ColinTr.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  Mario QT\n\u003c/h1\u003e\n  \n\u003cp align=\"center\"\u003e\n  A playable Super Mario Bros Nes style Mario level editor\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n \n  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n  [![License: MIT](https://img.shields.io/badge/Play-Live-4cc71f?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TxQ8qFewg4pChOlkQFdFNqlgEC6Wt0KqDyaVf0KQhSXFxFFwLDn4sVh1cnHV1cBUEwQ8QZwcnRRcp8X9JoUWMB8f9eHfvcfcOEOplppod44CqWUYyFhUz2VWx6xUCguhBP2YlZurx1GIanuPrHj6+3kV4lve5P0efkjMZ4BOJ55huWMQbxNObls55nzjEipJCfE48ZtAFiR+5Lrv8xrngsMAzQ0Y6OU8cIhYLbSy3MSsaKvEUcVhRNcoXMi4rnLc4q+Uqa96TvzCQ01ZSXKc5jBiWEEcCImRUUUIZFiK0aqSYSNJ+1MM/5PgT5JLJVQIjxwIqUCE5fvA/+N2tmZ+ccJMCUaDzxbY/RoCuXaBRs+3vY9tunAD+Z+BKa/krdWDmk/RaSwsfAcFt4OK6pcl7wOUOMPikS4bkSH6aQj4PvJ/RN2WBgVugd83trbmP0wcgTV0t3wAHh8BogbLXPd7d3d7bv2ea/f0Ai1FysZRfcCcAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfoAg8JFwVuWDvvAAAAG1BMVEUAAACCdxeDdxeDdxjVAADWAAD/mAD/mAH///9fM8HFAAAAAXRSTlMAQObYZgAAAAFiS0dECIbelXoAAABfSURBVAgdBcHBDYQwFEPBp68lJXBGFkkBlLAV5OI7ioQ7oH9mAIAWAHu2AJttByhlLwFjZI+AoawsQIl0ACRZgNR1HlCS/ppFJNmzyP3rfl7RarNtwdVtW5RsT6CwAT7HHBXIkM0uegAAAABJRU5ErkJggg==)](https://colintr.fr/mario/Mario.html)\n\u003c/div\u003e\n\n\n### Play it live at https://colintr.fr/mario/Mario.html !\n\n\n## 🚀 Installation\n\nFor windows: \u003ca id=\"raw-url\" href=\"https://raw.githubusercontent.com/ColinTr/MarioQT/master/Mario_Editor_installer.exe\"\u003edownload the installer\u003c/a\u003e\n\n## 🎮 Controls\n\n- \u003cb\u003eQ\u003c/b\u003e and \u003cb\u003eD\u003c/b\u003e for left and right control\n- \u003cb\u003eSpace\u003c/b\u003e to jump\n- \u003cb\u003eShift\u003c/b\u003e to shoot fireball\n- \u003cb\u003eT\u003c/b\u003e to show hitboxes\n- \u003cb\u003eR\u003c/b\u003e to restart the level\n- \u003cb\u003eC\u003c/b\u003e for power-up\n\n![Screenshot](readme_imgs/ingame.png)\n\n\n## 🔧 Updating and compiling the code\n\n1. Download [Qt Creator](https://www.qt.io/download-qt-installer-oss) and install Qt 5.15.2 MSCV 2019\n\n2. Compiling an executable (see https://www.youtube.com/watch?v=rFHPOZoqzcg):\n\t```\n\tcd C:\\Qt\\5.15.2\\msvc2019\\bin\\\n\twindeployqt.exe C:\\Users\\Username\\Desktop\\Mario.exe\n\t```\n\n3. Compiling for webassembly (see https://www.youtube.com/watch?v=YSAUoAI5hQA):\n\t```\n\tcd emsdk\n\temsdk activate 1.39.8\n\tcd mario-webassembly-build\n\tqmake MarioQT\\source_code\n\tmingw32-make\n\t```\n\t\n\tIf you have memory errors during mingw32-make, add the following flag to the Mario.pro file:\n\t\u003e QMAKE_LFLAGS+= \"-s TOTAL_MEMORY=33554432\"\n\n\n## 🎥 Trailer\n\nhttps://www.youtube.com/watch?v=-SCnSPH7mK8\n\n\n## ❓ What is it\n\nThis software is part of the DI4 C++ QT project.\nIt was developed by Guillaume Bouchard, Colin Troisemaine, Alexandre Turpin, and Quentin Levieux.\nThe goal was to create a Mario-type platformer game using QT and the MVC pattern.\nWe aimed to reproduce the NES game Super Mario Bros.\n\n\n## 💻 Installation\n\nSince the project is a QT project, it is cross-platform. We recommend installing QTCreator for compiling the project (File -\u003e \"Open File or Project\" and select \u003ci\u003eMario.Pro\u003c/i\u003e).\n\n\n## 🛠️ Software Composition\n\nThe software is composed of several parts, the main part being the game itself.\nThere is also a graphical level editor that allows exporting created levels in JSON format, a key configuration window also exportable in JSON format, all accessible from the main menu.\n\n\n## ⚙️ Game Inner Workings\n\nThe game follows the MVC model and is divided into three distinct parts:\n\n- The model consists of subclasses of ObjectModel that represent all the objects in our game. The objects are divided into two categories: inerts (non-moving objects) and entities (objects with the advance() function).\n\n- The view is composed of the GameView class, which is a QWidget and displays the objects on the screen using Visitor (see the design pattern).\n\n- The controller with the GameController class, which contains the main loop of our game. GameController has a list of objects and, at each iteration of its main loop (the advance() function), calculates the new position of the objects, checks for collisions with other objects, resolves collisions if necessary, and finally animates the object. Then, it calls the view to repaint its scene.\n\n\n## 📸 Game Screenshots\n\n- Level editor:\n\n![Screenshot](readme_imgs/leveleditor.png)\n\n- Main menu:\n\n![Screenshot](readme_imgs/menu.png)\n\n- Options menu:\n\n![Screenshot](readme_imgs/option.png)\n\n\n## ⚖️ License\n\nThis code is released under the MIT license. See the LICENSE file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolintr%2Fmarioqt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolintr%2Fmarioqt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolintr%2Fmarioqt/lists"}