Skip to content
A work-in-progress remake of the original Super Mario Bros. for NES, in the browser using canvas and P5JS.
JavaScript CSS HTML
Branch: master
Clone or download
Pull request Compare This branch is 3 commits behind RedDuckss:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A work-in-progress remake of the original Super Mario Bros. for NES, in the browser using canvas and P5JS/ (fork by islemaster).

Play test the latest version here (


  1. Basic asset loading, movement and camera work made
  2. Resized the canvas and repositioned the ground tiles to better match the original Mario game
  3. Brick shattering animation added
  4. Sounds, music and rough block states (sound warning)
  5. Changed player sprite to be Mario
  6. Added "Super" Mario and the different jump sound (sound warning)
  7. Started adding proper block states, block types, small Mario cannot break blocks anymore (only "Super" Mario)
  8. Changed level handling to better support mutliple levels
  9. Fixed sprite sheets using a fork by islemaster, changed background color (click ehre for the fork)
  10. Started working on items
  11. Removed test blocks and started working on the proper World 1-1 layout (Sound warning)
  12. Added game fonts, transition screen, enemies, item animations and movement, better collision, death events and animations, minor bug fixes.

Known bugs

  1. Spam-jumping into blocks which can be "pushed" (item blocks, bricks (as small Mario), etc) can result in glitchy movemnet and the blocks position being displaced Fixed
  2. Some collision issues with hitting the sides of blocks Fixed
  3. Item spawing from blocks have no animations, mushrooms don't move and have no collision Fixed
  4. There is no "small" and "big" jumps, nor anything between. All jumps are the same height
  5. Weird 'snapping' bug (probably caused by a collision error) which 'snaps' Mario to the center of a block if you jump and land off center Fixed (idk how but I did)
You can’t perform that action at this time.