Convert your MakeCode Arcade games to executables

(sorry for the mod having to read all of this :skull:)

Technically, the binary.js in an average game is several MB. :zany_face:


Instead of Electron packaging Chromium, making it heavy but guaranteed to work on the target platform, Tauri uses the system-installed web view (ex. WebView2 on Windows, WebKit on macOS, or GTK WebKit on Linux) as a “browser”. For example, when I showed the 10 MB executable in a Windows Sandbox, I actually had to install Microsoft Edge WebView2 by running an installer first. (A dialog pops up telling you where to find the installer). Although I think this is still a better tradeoff than a 200 MB Electron build. Supposedly, most systems shouldn’t have to deal with something like that.


Currently, no. With the executables being “so small”, I imagined people wouldn’t mind creating shortcuts to the game on the desktop, or adding them to an existing launcher like Steam:

(Which launches correctly, although there isn’t any description, art besides the executable icon)

Although the script is able to bundle to static HTML, CSS, and JS files, which means you could have a bunch of these games be hosted on a server by copying these static files to directories that are served. I think a MakeCode Arcade launcher would be a separate project altogether…Aghh I already have enough projects in queue this summer!!!


Apparently, it’s possible but I think it would be extremely difficult as it would need to call the correct web view for the platform. I’m definitely not smart enough for that!


squishy didn’t work for me, it resulted in something like this:

C:\Users\ckyiu\Downloads\squishy-0.2.0>squishy-x64.exe -i tauri-app.exe -o tauri-app-packed.exe
squishy 0.2.0 | made with <3 by Jake "ferris" Taylor / logicoma 2016-2021
 - WARNING: resources present, these can be kinda big
thread 'main' panicked at 'Unrecognized resource type: 0x00000010', src\main.rs:1247:26
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

C:\Users\ckyiu\Downloads\squishy-0.2.0>

But upx did work for me - it’s most aggressive compression scheme (-9) was able to reduce the size from 9.34 MB to 2.58 MB! (27% ratio) The packed executable seemed to have slightly worse performance and frame stuttered a bit, but otherwise it still worked! So I guess, if you want to save even more space, you can compress the executable smaller than the size of its binary.js lol. (the binary.js for Racers, I think, is ~3 MB) This is a good idea I haven’t thought of before!

4 Likes