# Convert your MakeCode Arcade games to executables

**URL:** <https://forum.makecode.com/t/convert-your-makecode-arcade-games-to-executables/37719>\
**Category:** Show & Tell\
**Tags:** game\
**Created:** [July 2, 2025, 5:44pm UTC](https://forum.makecode.com/t/convert-your-makecode-arcade-games-to-executables/37719 "2025-07-02T17:44:25Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [July 8, 2025, 5:23pm UTC](https://forum.makecode.com/t/convert-your-makecode-arcade-games-to-executables/37719/3 "2025-07-08T17:23:42Z")

</div>

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

> [@Vegz78](#):
>
> (even for a couple of hundreds kB of game logic… 😉 )!

Technically, the `binary.js` in an average game is several MB. 🤪

* * *

> [@Vegz78](#):
>
> 1. What are the run time dependencies needed for such small Tauri executables? Does the executing system need a minimal browser etc. pre-installed?

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](https://developer.microsoft.com/en-us/microsoft-edge/webview2/?form=MA13LH) 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.

* * *

> [@Vegz78](#):
>
> 1. Does this solution also support multiple games in one executable, as was suggested/discussed in the earlier topic for your first solution?

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:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/5/9/59a00941f5b556bf0f16d6830955e630047bde6f.png)

(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!!!

* * *

> [@Vegz78](#):
>
> 1. Do you think there is enough generic high-level stuff in these executable bundles to being able to make them “run-everywhere”, with for instance: [https://github.com/jart/cosmopolitan](https://github.com/jart/cosmopolitan)?

[Apparently, it’s possible](https://ahgamut.github.io/2022/07/27/ape-rust-example/) 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!

* * *

> [@Vegz78](#):
>
> 1. Could we make the executables even substantially smaller with certain executable compressors similar to those used in the demoscene, like for instance: [https://logicoma.io/squishy/](https://logicoma.io/squishy/) ?

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

```cmd
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`](https://github.com/upx/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!

---

_[View the full topic](https://forum.makecode.com/t/convert-your-makecode-arcade-games-to-executables/37719)._
