A mobile adaptation of the retro arcade vertical space shooter, ported from PC to Android with native multi-touch controls, responsive portrait viewports, and zero-latency audio lifecycle management.
This port brings the classic 90s-style desktop shooter into a native mobile experience:
- Native Multi-Touch Input Component: Replaces desktop keyboard listeners with a dedicated multi-pointer touch system. Supports simultaneous steering, firing, and menu toggles.
- Dual Steering Options:
- Virtual D-Pad: Touch-responsive left and right buttons positioned comfortably in the bottom corners.
- Direct Drag-to-Steer: Touch and drag anywhere on the screen for smooth, precision micro-dodging through bullet hell patterns.
- Smart Firing System:
- Manual FIRE button with immediate tactile responsiveness.
- AUTO-FIRE toggle switch for one-handed casual gameplay.
- Lifecycle Audio Management:
Addresses the standard WebView audio leak issue on Android.
MainActivity.javaand Phaser lifecycle listeners suspend the Web Audio context immediately when switching apps or locking the screen, ensuring zero background battery drain. - Responsive Portrait Viewport:
Configured with
Phaser.Scale.FITand safe-area edge padding to adapt seamlessly across diverse mobile aspect ratios without stretching or clipping HUD elements.
| Control | Type | Description |
|---|---|---|
| Left / Right Buttons | Touch | Move ship left or right across the screen |
| Drag Anywhere | Gesture | Drag directly to steer ship with 1:1 finger tracking |
| FIRE Button | Touch | Tap to fire lasers manually |
| AUTO Button | Toggle | Switch between manual shooting and continuous auto-fire |
- Go to the Releases tab on GitHub.
- Download
space-shooter-mobile-v0.1.apk. - On your Android phone, tap the downloaded
.apkfile to install. (If prompted, allow "Install from Unknown Sources" for your browser or file manager). - Tap the game icon on your home screen and play!
- Node.js: v18+ and
npm - Java: OpenJDK 17
- Android SDK: API 34 with Build Tools 34.0.0
-
Clone the repository:
git clone https://github.com/ediussss/phaser-3-space-shooter.git cd phaser-3-space-shooter -
Install dependencies:
npm install
-
Build web bundle and sync Capacitor:
npm run cap:sync
-
Compile the Android APK:
cd android ./gradlew assembleDebugThe compiled APK will be located at:
android/app/build/outputs/apk/debug/app-debug.apk
This mobile port is built upon the open-source tutorial project created by DevShareAcademy:
- Original Game & Tutorial: DevShareAcademy/phaser-3-space-shooter
- Playable Web Demo: Itch.io Demo
- Mobile Port & Touch Architecture: Ported by Antigravity
Special thanks to the artists who made their assets openly available under permissive licenses:
- Player Ship, Enemy Fleet & Environments: Foozle
- Sound Effects: Ansimuz
- Space Starfield Background: Piiixl
This project is licensed under the MIT License.
