View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Super Mario Bros. Demo

4.8 | 13 ratings Rate this file 82 Downloads (last 30 days) File Size: 48.1 KB File ID: #40961 Version: 1.1
image thumbnail

Super Mario Bros. Demo


Mingjing Zhang (view profile)


26 Mar 2013 (Updated )

A playable demo of Super Mario Bros. World 1-1 with background music

| Watch this File

File Information

Super Mario Bros. Demo for MATLAB
Mingjing Zhang @ Simon Fraser University

What it is
This is a short demo of World 1-1 of Super Mario Bros. The demo emulates the behaviour of the original NES version as precise as my time and energy allow.

There are no enemies/coins/power-ups. The bricks are not interactive.

The flagpole and castle at the end of the stage are missing. The demo terminates when Mario moves out of the stage on the right.

There is background music which can be turned on before the game starts.

*The image you see up there is an ACTUAL screenshot of this demo.

Regular Version:
    Put stl_mario_main.m and two .mat files under the same folder.
    Run stl_mario_main.m
App Version:
    Just like any other MATLAB app

A/D - Left/Right
J - Sprint
K - Jump

How to Quit
1. Walk to the end of the stage, or;
2. Close the figure window
* WARNING: The window should shut down itself upon error. If it doesn't, please type 'delete(gcf)' in the command window to manually kill the figure window.



Mario Sim V0.1 and Theme From Super Mario Brothers Song inspired this file.

This file inspired Sprite Kit Framework.

MATLAB release MATLAB 8.1 (R2013a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (15)
19 Jun 2015 Mingjing Zhang

Mingjing Zhang (view profile)


Thank you for the feedback. The 'start' and 'select' buttons don't really do anything in this demo. The reason I left them there is due to concerns of extensibility. For instance, in future versions I might add in the pause/resume functionality. That's when the 'start' button is going to be needed.

As for the initial unresponsiveness, normally this won't happen if 1) the figure window has focus and 2) the keypress events are not hijacked. (1) is very easy to rule out so I assume this is not the cause on your machine. Therefore, (2) seems to be the most possible cause. For instance, I have a Chinese input method installed on my computer, and for some reason it always automatically launches itself when the game window pops up. The input method intercepts all my keypresses so they cannot be received by MATLAB figure window. As a result, I have to press the key combo 'CTRL + SPACE' to disable the input method in order to play. This experience sounds a lot like what you have described. So could it be that you have some software that 1) intercepts keypress events and 2) can be disabled by _TAB_ ?

Comment only
19 Jun 2015 David Verrelli

It is really impressive. I would have liked a short set of instructions on how to play.
I acknowledge that the included read-me file did indicate some control keys as
A/D - Left/Right
J - Sprint
K - Jump
However, I had trouble just getting started. Initially, when first loaded, none of the above keys did anything.
At lines 426 and 427 in the M-file are:
KeyNames = {'w','s','a','d','j','k','return','space'};
% KeyFuncs = {'up','down','left','right','sprint','jump','start','select'};
Hence I expected that hitting the return key, a.k.a. enter, would allow me to start. This was not the case.
I do not know if this is specific to my system/configuration, but I found that the _tab_ key was the one that started the demo's interactivity.

27 Sep 2014 Meifeng Xiao

Very cool game! Thank you for your sharing!

23 May 2014 Ahmet

Ahmet (view profile)

21 Mar 2014 Edgar Guevara

Great retro-gaming, and in MATLAB, nonetheless. Looking forward to the full version!

21 Mar 2014 Bustamante

Oh hell, is that really possible?? I just can use a word, INCREDIBLE!!!

05 Feb 2014 Cheuk

Cheuk (view profile)

01 Oct 2013 Timothy

You are brilliant, but I question your sanity. :)

Comment only
12 Sep 2013 Aurelien Queffurust


20 Jun 2013 nsbd

nsbd (view profile)

28 May 2013 Nohting

03 May 2013 Zhuo Li

Zhuo Li (view profile)

26 Apr 2013 matt dash

matt dash (view profile)

23 Apr 2013 Rodrigo R. Oliveira

26 Mar 2013 Ryan G

Ryan G (view profile)

Very cool demo. Really like the stuff you put up here.

22 Apr 2013 1.1

* Added music.
* Corrected a bug which occurs when Mario is about the land on the ground from an absolute vertical fall.
* Added a try - catch block to automatically delete figure/audioplayer upon error.
* UPGRADED to version 1.10

Contact us