Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
An HTML5 remake of the original Super Mario Brothers - expanded for wide screens.
Branch: master
Pull request Compare This branch is 95 commits behind JoshuaKGoldberg:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Fonts
Maps
Sounds
Theme
parser
.gitattributes
.gitignore
README.md
data.js
editor.js
events.js
gamepad.js
generator.js
library.js
load.js
maps.js
mario.css
mario.html
mario.js
quadrants.js
sounds.js
sprites.js
things.js
toned.js
triggers.js
upkeep.js
utility.js

README.md

FullScreenMario

An HTML5 remake of the original Super Mario Brothers - expanded for modern browsing.

Here's a quick set of cheat codes you can use during the game. If you're using this through the fullscreenmario.com UI, you'll have to reference everything as a member of 'game' (which is a link to the frame containing FSM).

Game Powerups

Command Result
marioShroom(mario) The equivalent of Mario touching a Mushroom or FireFlower item.
marioStar(mario) The equivalent of Mario touching a Star item. Note that if you want Mario to be invincible for the rest of the current map, use ++mario.star.
scrollMario(X) Scrolls the window horizontally by X, keeping Mario in the same spot relative to the screen.
scrollTime(T) Floats Mario through the rest of the level (beware, this is best used on the Random worlds!).
fastforward(T) Sets the game speed to 1+T. T=1 results in double the speed, and T=0 is normal speed.

Adding Things

Command Result
addThing(ThingFunction, xloc, yloc)
or
addThing(new Thing(ThingFunction, arg1, arg2), xloc, yloc)
Creates a new instance of a Thing, such as Goomba or Koopa, at the specified location. Thing functions are located as separate in things.js; in the future they will be stored as JSON objects.
killNormal(MyThing) Kills a specified Thing. You may find them listed under window.characters, window.solids, and window.scenery.

Map Shifting

Command Result
setMap(A,B)
or
setMap([A,B])
Starts the World A-B map immediately. If it doesn't exist (such as when maps aren't loaded via AJAX yet), it will log a complaint gracefully.
setMapRandom()
or
setMapRandom("Overworld")
Starts the corresponding random map immediately, similar to setMap. Named options are (Overworld by default):
  • Overworld
  • Underworld
  • Underwater
  • Sky
  • Castle
shiftToLocation(N) Shifts to the Nth location in the current map. For example, setMap(1,1); shiftToLocation(2); brings the user to the Underworld section of World 1-1. Note that maps are stored under Maps/WorldAB.js as function bodies.

Level Editor

loadEditor() Starts the in-game level editor.

Developers & Legal

This is released under the Attribution Non-Commercial Share-Alike license. Full Screen Mario is meant to be both a proof of concept and an entertaining pasttime, not a source of income.

The whole project was originally hosted under www.fullscreenmario.com, but that site was taken down by Nintendo for copyright infringement.

Something went wrong with that request. Please try again.