From a browser tab to a store listing

Room 404 is live on the Microsoft Store. It installs like any other app, costs nothing, and is published under alphaBETA DEV.

Store page: https://apps.microsoft.com/store/detail/9NKW0PHF7LQH?cid=DevShareMCLPCS

There is no native rewrite. What you install is still the game running at room404.gamestrategists.com — wrapped as an MSIX so Windows treats it as an application: searchable in Start, pinnable to the taskbar, openable with no network at all.

Here is the full path, including the parts the official docs mention only in passing.

1. Microsoft does not package it for you

The common assumption is that you submit a URL and they build the app. It is three steps, and the order matters:

  1. Reserve the product name in Partner Center and take note of Package ID, Publisher ID and Publisher display name;
  2. Generate the package with PWABuilder from your PWA URL, then download the zip containing the .msixbundle and the .classic.appxbundle;
  3. Upload both bundles back in Partner Center, fill in the store listing, submit.

Product names are unique globally, not per account. Reserve first. Discovering a collision after you have filled in the listing means redoing that work under a different name.

Review took about 24 hours.

2. The manifest is baked into the package

This is the expensive constraint. An MSIX freezes the web manifest into the artifact:

So treat the manifest as a release freeze point and review it properly before generating the package, not as something you can keep editing.

3. orientation: portrait bricks the desktop build

The original manifest declared orientation: "portrait". Reasonable on a phone; on Windows it locks the app window to portrait, which makes the desktop experience effectively unusable.

Changed to "any", and added id: "/". That id is the install identity — without it, renaming the app or swapping icons can make Windows treat it as a different application, which silently breaks existing installs.

Both were fixed before generating the MSIX. If you package first and fix after, you run the whole pipeline a second time.

4. Offline works for the shell, not the images

Tested in a real browser with the network cut: the body renders after a reload, 16 precached entries, roughly 684 KB.

But be precise about what that covers. The workbox globPatterns only precache js / css / html / svg / ico / woff / json. Everything under images/ is runtime CacheFirst — so the first offline launch shows empty image slots.

Adding images/ to precaching fixes it at the cost of pushing install size into the several-megabyte range. The tradeoff accepted here is "offline playable, artwork missing", because the puzzle layer is text, audio and interaction state — you can finish the game without the pictures.

Store review sometimes tests offline, so this is a known residual risk rather than a solved problem.

5. An IARC rating is a commitment, not a label

Listing required the IARC content rating questionnaire. The rating is dated 2026-09-18 under the product name Room 404.

Two constraints worth stating plainly:

6. The game has ads, and that has to be declared

The web version serves AdSense. Store policy requires declaring ads in the Advertising and data/privacy questions, truthfully.

The two options are to keep ads and declare them, or to build an ad-free store variant. This listing keeps ads and declares them.

7. What you actually get after installing

That last point is worth stating up front, because "it's an installed app now" raises an expectation of account sync. There is none, and there is no plan to trade retention for it.

The other six ARGs follow the same path

Midnight Frequency, Tide Sound, Sunken City, Rust River, Eye of the Abyss and Abyss Messenger sit in the same portfolio with matching manifest and service-worker structure. Room 404 proved the route works; the rest is queueing, not exploring.

To play in the browser instead, the address has not changed: https://room404.gamestrategists.com/