ScopeBee
Back to the site

ScopeBee 0.3.0

The release is about one build mode. --playable puts the whole game — wasm, assets and script — into a single HTML file that an ad network can run with nothing behind it.

What a playable ad is

A playable ad is a short interactive creative in another app’s ad slot: a few seconds of the actual game, then a button to the store. The network drops the file into a WebView and gives it nothing else — no server, no second request. Everything the game needs has to be inside the file that was uploaded, and that file has a hard size limit, usually between two and five megabytes.

So it is not judged the way a web build is. What counts is the weight of the file, how fast the first frame arrives, and how much memory it holds on someone else’s phone.

One file

The new mode packs the engine, the assets and the script into the page itself. The creative makes no network requests at all — it starts from what is already in the file.

The ad network layer goes in with it: the build recognises Meta, Google Ads, Mintegral, AppLovin, ironSource and the rest, and hands the CTA click and the pause to whichever one is showing it. Nothing in the project changes between a web build and a creative.

Zstd, not Brotli

A site serves the build Brotli-compressed for free, because the decoder is the browser’s own. A creative has no server: the file is served exactly as it was uploaded, so the compression has to live inside the page — and the decoder rides along inside the same limit.

That changes the answer. A Brotli decoder weighs around 151 KB against 8 KB for Zstd, and Zstd compresses this game only about 36 KB worse — 94 KB saved on the page by picking the smaller decoder over the better ratio.

What it comes to

The same Flappy Bird as in the comparison on the front page, built as a single-file creative in each engine that has that mode. Unity has none: it cannot export one HTML file, and its wasm alone is heavier than any network’s limit for the whole creative.

Engine HTML file Transferred Resources Heap Snapshot First frame Demo
ScopeBee 0.3.0 766 KB 573 KB 766 KB 14.1 MB 138 ms Play
Defold 1.13.1 1.22 MB 939 KB 1.22 MB 38.1 MB 395 ms Play
Cocos Creator 3.8.8 1.45 MB 1.06 MB 3.63 MB 32.1 MB 385 ms Play
The same game as a single-file creative in three engines. Bar length is the share of the largest value in that column.

HTML file is the file on disk — what gets uploaded, and what the network measures against its limit. Transferred is that file over the wire with gzip, the way this site is served. Resources and Heap Snapshot come from Chrome DevTools on the loaded page. First frame is the line each build prints when its first frame is drawn. Median of five cold loads, Mac mini M2, 16 GB, Chrome 153.

Try it

All three creatives are behind the links in the table above, each the single file its network would receive. Open one with DevTools on the Network tab: one request, and the whole game behind it.