Skip to content

About

Super Mario Bros. meets Portal on Android with multi-touch HUD, dual portals, and layout editor

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mari0 Mobile 🌀🍄

License: CC BY-NC-SA 3.0 Platform Engine Release

A complete mobile adaptation of Maurice Guégan's classic Mari0 (Super Mario Bros. meets Portal), ported to Android with customizable on-screen touch controls, independent dual portals, directional D-Pad aiming, smooth integer letterboxing, and crash-free Android lifecycle management.


📸 Gameplay Preview

Mari0 Android Mobile Port


🎮 Mobile Port Highlights & Architecture

  • Dual Independent Portal Guns:
    • Dedicated P1 (Blue) and P2 (Orange) tactile buttons that fire instantaneously on tap without mutual delay lockouts.
  • 8-Way D-Pad Directional Aiming & Facing:
    • Turning Mario with the D-Pad automatically faces and aims his portal gun in that exact direction (Up, Down, Left, Right, and 45° diagonals).
    • Mario's facing direction stays locked when releasing the D-Pad until you choose another direction.
  • Zero Accidental Screen Portals or Clicks:
    • Free-screen taps will never accidentally fire portals or click menu buttons. Gameplay and menus are 100% navigated via the virtual controller. (Touch placement remains available in the level editor).
  • In-Game Controller Layout Editor:
    • Tap the top-right HUD button at any time to move buttons anywhere on screen, scale them up/down (+ SIZE / - SIZE), reset, and save your custom layout persistently to mobile_layout.txt.
  • Smooth Integer Letterboxing & Scissor Fix:
    • Adapts the native $400 \times 224$ retro resolution to modern ultrawide phone screens (20:9, 19.5:9, etc.) using clean integer pixel scaling and hardware-centered offsets without clipping ground tiles.
  • Crash-Free Android Lifecycle:
    • Replaced desktop process-quitting traps (love.event.quit()) with mobile-safe menu navigation so the app resumes instantly from Android background/recents without crashes or freezes.

🕹️ Controls Guide

Control Type Description
D-Pad (Left / Right / Up / Down) Touch Move Mario & aim portal gun in 8 directions (facing locks on release)
A Button Action Jump / Select in menus
B Button Action Sprint & Fireball / Back & Escape in menus
P1 Button (Blue) Action Fire Blue Portal instantly
P2 Button (Orange) Action Fire Orange Portal instantly
|| Button Utility Pause / Resume game
HUD Button Utility Open the on-screen Controller Layout Editor

📥 Direct APK Installation

  1. Go to the Releases tab on GitHub.
  2. Download mari0-v0.13.apk.
  3. On your Android device, tap the downloaded .apk to install. (If prompted, allow "Install from Unknown Sources" for your browser or file manager).
  4. Launch Mari0 from your app drawer and enjoy!

🛠️ Build from Source

Prerequisites

  • Java: OpenJDK 17
  • Android SDK: Build-Tools 34.0.0, apksigner, zipalign
  • Python: 3.8+ (for binary AXML rebadging and APK packaging)
  • Zip / Unzip: Command line utilities

Building the APK

  1. Clone this repository:

    git clone https://github.com/ediussss/mari0-android.git
    cd mari0-android
  2. Compile and package the standalone Android APK using the GamePorts build tool:

    ./scripts/build-port.sh mari0 debug
  3. The signed APK package will be generated at:

    apks/mari0/mari0.apk
    

👏 Credits & Attribution

About

Super Mario Bros. meets Portal on Android with multi-touch HUD, dual portals, and layout editor

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages