Skip to content

Tell the player what today is for, before they have to ask - #201

Merged
0xward merged 1 commit into
mainfrom
claude/nullstate-onchain-text-q6g2a3
Jul 30, 2026
Merged

Tell the player what today is for, before they have to ask#201
0xward merged 1 commit into
mainfrom
claude/nullstate-onchain-text-q6g2a3

Conversation

@0xward

@0xward 0xward commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Build-order item #3 from GAME-DESIGN.md, and it absorbs item #5. No contract changes.

The gap

The map has been showing where a player has been — bunkers, ✓ marks, a level — and nothing about what today is offering. That is the complaint that started this whole thread:

"lah saya ini hari ke dua mau ngapain ya?"

Opening the app and having to go looking for a reason to play means not looking.

Three chips, above the ENTER button

In the path the eye already takes toward the only action on the screen — read rather than discovered.

Chip Source Shown when
✦ WEAPON READY / ⏳ 2h 14m /api/weapons/craft a craft is running
◈ 7/12 /api/vault/fragments something is still to earn
⚡ 4 /api/energy always, once loaded

The craft chip closes item #5 too. That timer has been built and paid for since Phase 5 and was invisible unless the player thought to open the Crafting screen — a strange thing to ask of a mechanic whose entire job is to bring someone back in six hours. It is tappable straight into Crafting, and it corrects for client clock skew against the server's own serverNow, so the countdown reads true on a phone with a wrong clock.

What is deliberately NOT here

Contracts and the streak have no chip. They are next in the build order and not built, and a chip showing a number nobody tracks is exactly how game-config.ts came to claim six bunkers of three floors — rule 2 in §10. Each chip appears when its system does.

Failure behaviour

Every chip hides itself when it has nothing true to say, so a brand-new player sees no bar at all rather than an empty frame. Every fetch degrades to a hidden chip, never to an error — a status bar that can show an error is one that can make the home screen look broken. All three run after first paint.

Measurements

Rendered at 390px in headless Chromium: 21px tall, no horizontal overflow.

/game first load 136 kB → 138 kB. That 2 kB is in the critical path because this is the home screen's actual content, not a screen behind a tap.

Also shortened the raid subline, which was wrapping to two lines and pushing the bottom bar taller than it needed to be.

Verification

tsc --noEmit clean · next build passes · lint 34 errors, unchanged from main · check:cssvars, audit, check:copy, check:market pass · engine parses.

Not verified: how the chips look on a real phone with the game's own fonts (the harness used a system mono fallback), and whether the ⚡/◈/⏳ glyphs render as intended on Android.


Generated by Claude Code

The map has been showing where a player has BEEN — bunkers, ✓ marks, a
level — and nothing about what today is offering. That was the whole
complaint that started this thread: "hari ke dua mau ngapain ya?" Opening
the app and having to go looking for a reason to play means not looking.

Three chips above the ENTER button, in the path the eye already takes
toward the only action on the screen, so they are read rather than
discovered:

  ✦ WEAPON READY / ⏳ 2h 14m   a craft is running or finished
  ◈ 7/12                       vault fragments, when there is still
                               something to earn
  ⚡ 4                          runs left today

The craft chip also closes build-order item 5. That timer has been built
and paid for since Phase 5 and was invisible unless the player thought to
open the Crafting screen — which is a strange thing to ask of a mechanic
whose entire job is to bring someone back in six hours. It is tappable,
and it corrects for client clock skew against the server's own serverNow
so the countdown reads true on a phone with a wrong clock.

Contracts and the streak deliberately have NO chip. They are next in the
build order and not built, and a chip showing a number nobody tracks is
exactly how game-config.ts came to claim six bunkers of three floors —
rule 2 in §10. Each chip appears when its system does.

Every chip hides itself when it has nothing true to say, so a brand-new
player sees no bar at all rather than an empty frame, and every fetch
degrades to a hidden chip rather than an error: a status bar that can
show an error is a status bar that can make the home screen look broken.
All three run after first paint.

Rendered at 390px in headless Chromium: 21px tall, no horizontal
overflow. /game's first load goes 136kB to 138kB — this is in the
critical path because it is the home screen's actual content.

Also shortened the raid subline, which was wrapping to two lines and
pushing the bottom bar taller than it needed to be.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nullstate Ready Ready Preview Jul 30, 2026 5:11pm

@0xward
0xward merged commit 97ff6c0 into main Jul 30, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant