openSMB2
openSMB2 copied to clipboard
An open source reimplementation of Super Mario Bros. 2 written in Lua and LÖVE.
Running
-
Install LÖVE Engine on your computer.
-
Download zip file with this project by clicking on the green button called
Code, thenDownload ZIP, and extract files to some folder on your computer (Alternatively executegit clone git://github.com/Matriks404/openSMB2.gitcommand in the desired directory, if you have git installed). -
Download gamepack(s) from either:
-
openSMB2-ExampleGamepack project for an example openSMB2 game;
-
This Google Drive link (select them and click
Downloadbutton) and extract the appropriate<gamepack name>.pack.zipcontents to the following directory:- On Windows:
%appdata%\LOVE\openSMB2\games\ - On GNU/Linux:
~/.local/share/love/openSMB2/games/ - On macOS:
/Users/user/Library/Application Support/LOVE/openSMB2/games
- On Windows:
-
- NOTE: Make sure to update your resources if necessary (e.g. if you update your local repository).
- Run the game!
- On Windows: Drag game folder onto LÖVE program shortcut.
- On GNU/Linux and macOS: Execute
love .in the console (you might need to change directory to game path first).
Screenshots

3rd party font
This project uses modified 3rd party Dogica fonts by Roberto Mocci for the launcher (in /resources/images/font/ directory), the license for the font can be found here.
Gameplay
-
Stuff that is working:
- Simple launcher
- Title screen
- Character select and level intro
- Pretty much non-existent gameplay
- Level editor (see section below)
-
Controls:
- At any time:
-or=- Scale graphics down or up (only integer scaling)ALT+ENTERorF11- Enable or disable fullscreen modeCTRL+F- Enable FPS counterCTRL+M- Mute the gameF3- Enable debugging info (that displays game version, FPS counter and other debug stuff)ESC- Quit the game
- In any menu (launcher, character select or game over screen):
- Arrow keys or
A- Select option XorS- Execute selected option
- Arrow keys or
- On the title screen:
S- Enter character select screenCTRL+L- Enter level editor (see section below)
- During gameplay:
LeftorRight- Move the characterZ- RunS- Pause
Son pause screen - Unpause
- At any time:
Level editor
-
In the level editor main menu:
- Press one of the keys that will enter editing of some level.
- Press
Qto quit to the title screen.
-
In the level editor proper:
- In any mode:
- Resize the window to have more screen space for editing purposes.
- Press
Lto reload the level. - Press
Vto save the level. - Press
Pto play the level (Note that it automatically saves the level and game doesn't return to level editor afterwards). - Press
[or]to switch between level areas. - Press
Tabto change editor mode (normal one or starting position movement tool). - Press
Cto change editor view type (normal or detailed, where the latter is showing hexadecimal values of tiles on top of them). - To move the view:
- Press
CTRL+ arrow keys to move the view by one tile. - Press
Page uporPage downto move the view by one screen up or down. - Press
CTRL+ (Page uporPage down) to move the view by one screen left or right. - Press
HomeorEndto jump view to the vertical start or end. - Press
CTRL+ (HomeorEnd) to jump view to the horizontal start or end.
- Press
- Press
Qto quit to the main level editor menu.
- When in normal editing mode (
MODE-N):- Press
Tto change area type (horizontal or vertical). - Press
Bto change background color. - Press
Mto change music. - Press
Rto resize the area to valid size (that is height of maximum 240 pixels for horizontal levels and width of exact 256 pixels for vertical levels). - Press
CTRL+-to remove current area. - Press
CTRL+=to add new empty area after current one. - Press
4or6on keypad to shrink or stretch area width. - Press
8or2on keypad to shrink or stretch area height. - Press
W,S,A,Dkeys to change selected tile. - Press arrow keys to move edit cursor.
- Press
Xto place tile. - Press
Zto remove tile.
- Press
- When in starting position movement tool mode (
MODE-S):- Press arrow keys to move starting position pixel-by-pixel.
- Press
SHIFT+ arrow keys to move starting position by 16 pixels each time.
- In any mode:
Debug mode
You can enable debug mode by pressing CTRL+D in the launcher or on the title screen.
When enabled, the usual debugging info (which is usually displayed when you press F3 key) will be permanently shown unless you disable this mode.
You will also gain access to these additional debugging features inside the game:
- Press
Pause Breakto pause the application by not advancing ticks.- Note that enabling this will result in most input not being checked, except for keys that modify graphical settings such as fullscreen/windowed mode or game size, as well as the mute state.
- When in paused state press
Spaceto advance single timer tick.
- During gameplay:
- Press
CTRL+Ato ascend the player character. - Press
CTRL+Dfor the character to die.
- Press