Warpdroid is a GUI for automating the process of embedding WebGL-powered apps and games into a native Android app project
Its mission is to optimize WebGL for execution on mobile devices, primarily from TurboWarp or Scratch games, also supports other game engines or plain HTML pages.
You can think of it as Electron, but it compiles to Android native apps. It runs over the GeckoView bundled WebView implementation for universal compatibility between Android devices, regardless of their system WebView implementation; the missing TurboWarp Packager platform option.
- TurboWarp
- Scratch (v1, v2, v3)
- Forkphorus
- HTMLifier
- Three.js
- WebGL-powered games
- Plain HTML
All of these supported out of the box.
- Your game in a supported format
- A computer with one of these operating systems:
- Windows (32 or 64 bits)
- MacOS (Intel or Apple Silicon)
- Linux (Debian-based)
- Internet connnection
- Java 8
- Gradle
These last two can be installed automatically by Warpdroid.
No, the Warpdroid GUI can't run on phones, see the reason here.
Time to warp your game to Android! You can get started by following the walkthrough tutorial I made at the Warpdroid Wiki, it won't be hard, I swear, check it out!
If you'd like to debug Warpdroid or modify its source you can set up your own environment.
Node.js is required to debug Warpdroid. Make sure your Node.js version is 18.12.1 or later. You can check it with
node -v
First, clone this repository with Git anywhere you want.
git clone https://github.com/PwLDev/Warpdroid.git
Once you've cloned the repo, navigate to the Warpdroid folder.
cd ./Warpdroid
Mr. Webpack didn't want to contribute during Warpdroid's development. So I had to use Create React App to get Warpdroid working.
Now, start the React live server using
npm run start
This will open the server on port 3000, which you can view on your browser or once it's opened you can start the Electron app in a separate shell instance.
npx electron .
Congrats! You now are running Warpdroid locally, modify it as you like, but don't mess with Webpack...
Yes! It's free, and you can use it as much as you want. :D
Yes, Warpdroid uses its own projects in order to keep everything more organized and to save app configurations easier. In the Warpdroid project is where you'll import your game file(s) and set up your app.
Warpdroid doesn't provide them built in, although you can make those with TurboWarp itself, add the Sensing Plus extension to your current Scratch/TurboWarp project.
I created the Warpdroid GUI using Electron, yet Electron does not support building to Android devices, Warpdroid itself does that but it'll be a hassle to rebundle Warpdroid using Warpdroid lol.
Also, Gradle needs quite a lot of computation power which is not found in most smartphones.
I don't know, he missed the party of open source WebView implementations as he's more introverted and his WebGL habilities are not as good, so for now, no WarpiOS.
Also, good luck with touch controls on Safari, they seem to hate those.
Absolutely, Warpdroid provides .aab bundle building, just make sure to set up correctly the app permissions and make yourself a privacy policy and you're good to go.
Yea, they're so cute, they're the best! Meow :3
- Backend, extractors and native code by PwLDev.
- UI design and icons by Dogo6647.
- Desktop app made with Electron.
- UI made with React.
Thank you for using Warpdroid, we appreciate that. :3