OpenSMB2 Save

An open source reimplementation of Super Mario Bros. 2 written in Lua and LÖVE.

Project README

Running

  1. Install LÖVE Engine on your computer.

  2. Download zip file with this project by clicking on the green button called Code, then Download ZIP, and extract files to some folder on your computer (Alternatively execute git clone git://github.com/Matriks404/openSMB2.git command in the desired directory, if you have git installed).

  3. Download gamepack(s) from either:

    • openSMB2-ExampleGamepack project for an example openSMB2 game;

    • This Google Drive link (select them and click Download button) and extract the appropriate <gamepack name>.pack.zip contents 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
  • NOTE: Make sure to update your resources if necessary (e.g. if you update your local repository).
  1. 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

Launcher Title screen Level editor

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+ENTER or F11 - Enable or disable fullscreen mode
      • CTRL+F - Enable FPS counter
      • CTRL+M - Mute the game
      • F3 - 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
      • X or S - Execute selected option
    • On the title screen:
      • S - Enter character select screen
      • CTRL+L - Enter level editor (see section below)
    • During gameplay:
      • Left or Right - Move the character
      • Z - Run
      • S - Pause
    • S on pause screen - Unpause

Level editor

  • In the level editor main menu:

    • Press one of the keys that will enter editing of some level.
    • Press Q to 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 L to reload the level.
      • Press V to save the level.
      • Press P to 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 Tab to change editor mode (normal one or starting position movement tool).
      • Press C to 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 up or Page down to move the view by one screen up or down.
        • Press CTRL + (Page up or Page down) to move the view by one screen left or right.
        • Press Home or End to jump view to the vertical start or end.
        • Press CTRL + (Home or End) to jump view to the horizontal start or end.
      • Press Q to quit to the main level editor menu.
    • When in normal editing mode (MODE-N):
      • Press T to change area type (horizontal or vertical).
      • Press B to change background color.
      • Press M to change music.
      • Press R to 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 4 or 6 on keypad to shrink or stretch area width.
      • Press 8 or 2 on keypad to shrink or stretch area height.
      • Press W, S, A, D keys to change selected tile.
      • Press arrow keys to move edit cursor.
      • Press X to place tile.
      • Press Z to remove tile.
    • 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.

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 Break to 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 Space to advance single timer tick.
  • During gameplay:
    • Press CTRL+A to ascend the player character.
    • Press CTRL+D for the character to die.
Open Source Agenda is not affiliated with "OpenSMB2" Project. README Source: Matriks404/openSMB2
Stars
30
Open Issues
45
Last Commit
7 months ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating