TWO BARS — a person on a stool holds a phone aloft, chasing two bars of WiFi signal

The last great human struggle: getting onto the guest WiFi. You play a mildly competent adult whose whole life migrated online the moment their connection died — and every network is a comedy mystery you crack not by hacking, but by detective work. It was always the dog.

📶 raylib 6 macOS → iOS App Store ✓ cozy-frustration puzzle-comedy ⚠ fictional puzzle — zero real hacking
▾ it's just below
Thirty seconds of the real thing

One level, start to connected.

Not a trailer, not an animatic — this is the game binary playing itself, recorded frame-by-frame off the live build. Level 1, The Cafe, uncut: including the wrong guess, and what the game tells you when you make it.

  1. SpotPick The Cafe off the Signal City map. Everything past it is locked until this one falls.
  2. ScoutBars read 0/5 · Dead at the door, and the note under the router won't show itself — signal too weak. Walk in and it appears.
  3. Sweet-talkMadison won't just hand it over. Compliment the latte art, then ask — and she leaks the year.
  4. DeduceFour fragments, two different years. Nothing laces itself. You choose what to trust, and the order you lace it in is the password.
  5. Fumblecoffee19. Wrong — and the board finally admits why: that faded sign is the year the owners before these ones opened.
  6. ConnectSwap in the right year. FIVE BARS. I can see God. The next network unlocks.

Captured by tools/capture-demo.sh — the same scripted-input harness the 115 automated checks use, dumping the game's own 720×1280 canvas one frame at a time. Nothing in it is composited or re-timed.

✅ The build is real — and playable end-to-end

Since this page first went up as a vision, Two Bars has become a working, tested game. A full 8-level campaign runs start to finish on raylib 6 — and the video below, like every screenshot on this site, is recorded straight off that build.

8
playable levels · full campaign
4
speaking characters
115
automated checks — every level provably winnable
100%
core loop working: explore → deduce → crack → connect
4
accessibility modes (reduce-motion, fair, colour-blind, text size) — all touch-reachable from an in-game ☰ menu
iOS
-ready architecture (port is a shell, not a rewrite)

The full game, compiled to WebAssembly — no install, runs right here, and your progress saves between visits.

The Fantasy

You can see the invisible.

In this world WiFi is real and physical — shimmering arcs, drifting packets, gray fog where the signal dies. You read the room's signal like a hunter reads tracks, out-charm the gatekeepers, out-bureaucrat the captive portals, and deliver that specific, universal, dumb triumph: finally getting online. Every petty WiFi indignity you've ever suffered, turned into a puzzle you get to win.

Design Pillars

Five rules the whole game obeys.

The gap is the fun

The password is never guessable cold. You assemble it from the world. You're a detective, not a brute-forcer.

The ✓ is sacred

The connected checkmark is the most satisfying button in mobile gaming. Everything else is production around it.

Failure is funny

Every wrong answer is a tiny comedy cutscene. You lose time and dignity — never progress. No game-overs.

Networking is flavor

2.4 vs 5GHz, captive portals — all jokes. The solution is always a sticky note or a conversation, never a command.

Recognition is the engine

Players laugh because it happened to them. Deadpan, escalating. Untitled Goose Game, not Loud Cartoon.