Deliverable #7 · 2026-08-03

The two phones — Android APK

epic: server-architecture delivered due with server-architecture/009

⬇ Download the Android APK

Also a promise made ahead of the work — see deliverable #6 for the same note on why this file exists before the thing it describes does, and epics/README.md’s “Promised deliverables” section for the convention itself.

What this will be

The proof that “the client is substantially an interface” (server-architecture’s architecture stance) holds up off a desktop, too: two actual Android phones, each running an installed app, standing in the same physical room as each other but talking through the droplet — one seeing the other’s player character move in real time.

Acceptance criteria

Scope note

This is an export target, not new game code — the unchanged Stage 3 client (server-architecture/007), packaged for Android instead of (or alongside) the web. See server-architecture/009 for the task this ships with: Android export preset, SDK/JDK/signing setup, and hosting the resulting APK with a download link from this site. Zero new gameplay or netcode is expected as part of this.

Artifacts

Delivered 2026-08-04 — the APK is live; the two-phone moment is Kris’s

The button above downloads a debug-signed arm64 APK (~28 MB) of the exact same Stage 3 client the browser link runs — same server, same protocol, same commons world, packaged for Android instead of the web. Hosted on the droplet itself (/download/* via Caddy over HTTPS), not in git.

Two small things an installed phone build needed that a browser tab didn’t (details and rationale in land-of-lor/pocs/multiplayer-poc/handoff/task-009-android-export.md): a baked-in default director URL (a phone app has no query string — mobile builds default to the live wss:// director), and tap-to-move (a phone has no arrow keys; tap anywhere to step toward the tap — the same move_intent a keypress sends).

Verified at packaging time: manifest correct (INTERNET permission, arm64, right package name), Godot’s own APK verification passed, download URL live with the correct MIME type, and the underlying client/protocol live-verified the same day (web two-tab check by Kris; verify-public-world 5/5). Not yet verified — no Android device was attached to the build machine: the install itself, and the acceptance bar this deliverable is named for, two phones in the same room seeing each other move. Android will warn about installing an unknown (debug-signed) app; that’s expected at this stage.

Sources & artifacts

← related epic: server-architecture

Also available as raw markdown.