Written by Cenrji - (C) 2026 (X/Twitter, bSky)
This is project is a technical game engine demo; it was not intended nor recommended to be use for a proper fangame project due to its limited nature.
For all intents and purposes it was developed for educational purposes of understanding the physics & inner-workings of Super Mario Bros’ game engine and so, it was never intended to be infringing on Nintendo’s IP for profit or the like.
A JavaScript project I had worked on since November 2025. It aims to mimic the player physics of the Super Mario Bros (1985) game, and to an extent, Super Mario Bros 2 / The Lost Levels (1986). Emulating how Mario and Luigi move in their efforts to save the princess, who clearly is in another castle. You can edit the map’s collision on the fly with the mouse and select menu for tiles types.
It was developed for my own understanding of how the game controls work and was developed part of in my learning on how to build games using the 2D Canvas API. This is also technically my first time building a graphical game without relying on a game engine like GameMaker, Unity, Godot, etc., as most of my game development projects had been built within the GameMaker engine, particularly with Version 8.1.
Arrow Keys - Move
X - Jump
Z - Run
Enter - Pause
Q/W/E/R/T/Y/U/I - Toggle Flag (Refer the Game Settings tab for more information.)
Left Mouse - Place Tile
Right Mouse - Erase Tile
This project was made possible using the information provided by Jdaster64's guide, doppelganger's SMB1/SMB2j disassembly, and other resources. Some personal notes were taken from testing in the Mesen emulator for countless hours. I also had utilized ALXR’s SMB1 level editor (GreatEd/jGreatEd) to test in-game physics in ‘impossible’ locations. If it wasn’t for the first guy, I’d probably not even have something that was remotely close to feeling like a proper Mario game. I can read 6502 assembly now, but it would’ve been a bit more difficult to fully understand the controls.
Oh, and I would probably thank Nintendo R&D4 for making this 40+ year-old game, and pretty much any other Mario game that comes after this. This game might be absolutely overrated as the face of video game nostalgia, but I genuinely have fun playing it, in spite of the game’s awkwardly aged controls for running & air movement. I don’t know if I could say the same thing with the Lost Levels though, but I do appreciate the challenges.