File Exchange

image thumbnail

Super Mario Bros. Demo

version 1.1 (48.1 KB) by

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

4.84615
13 Ratings

63 Downloads

Updated

View License

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.
----------

Installation
------------
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
------------

Control
-------
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.
-------

Enjoy!

Comments and Ratings (15)

Mingjing Zhang

Mingjing Zhang (view profile)

@David,

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_ ?

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.

Meifeng Xiao

Very cool game! Thank you for your sharing!

Ahmet

Ahmet (view profile)

Edgar Guevara

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

Bustamante

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

Cheuk

Cheuk (view profile)

Timothy

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

Incredible!!!

nsbd

nsbd (view profile)

Nohting

Zhuo Li

Zhuo Li (view profile)

matt dash

matt dash (view profile)

Ryan G

Ryan G (view profile)

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

Updates

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

MATLAB Release
MATLAB 8.1 (R2013a)

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

» Watch video