VeePeenini, Part 14: The Catch-Up Mechanic I Almost Hid
· Vitor Pontual · 8 min read
Back in Part 7, when the build was done and I was just waiting for the tournament to test it, I listed the things I knew were coming. One of them was this:
Friends who fall behind. In any collection game, a few people pull ahead early and a few drift. There’s already a dormant mechanism for this: a quiet boost that biases pack drops toward cards a lagging player is missing, paired with an overt nudge from Mila. I left it switched off at launch on purpose. I’ll turn it on around the tournament’s halfway mark, once I can see from real data who’s actually drifting, instead of guessing.
The tournament reached its halfway mark. I had the real data. It was time to flip the switch. And when I went to do it, I found I couldn’t — not the way I’d built it.
This is the story of the feature I’d been most sure about, and why I ended up rebuilding it into almost its opposite.
The version I shipped, dark, at launch
The original design was covert on purpose. A lagging player’s pack drops would quietly tilt toward the cards they were missing. No banner, no announcement. From their side it would just feel like a lucky streak: “finally, the cards I needed.” The whole point was that they’d never know. I thought that was the elegant version. Nudge the luck, keep the dignity, let them think they clawed back on their own.
It sat dormant for weeks exactly as planned. Then I opened the admin panel to turn it on, looked at the two players sitting at the back of the pack, and felt something I hadn’t expected: I did not want to do this to them behind their backs.
Why covert felt wrong the moment it was real
In the abstract, “secretly help the friends who are struggling” sounds kind. In practice, with actual names attached, it’s patronizing. It’s deciding for a grown adult that they can’t handle knowing they’re getting a leg up. And it lies to everyone else, too. The leaderboard is the entire product, the one thing my friends are supposed to be able to trust completely, and here I was about to tilt the card economy underneath it and tell no one.
That’s the tension. This whole app only works because the standings are honest. In Part 11 I wouldn’t even chase zero downtime on a server move, because a visible ninety-second outage was worth more than an invisible risk to the data. Same principle here. A secret hand on the scale is exactly the kind of invisible thing I’d sworn off. The covert boost wasn’t kind. It was just conflict-avoidant, dressed up as elegance.
So I pulled it and rebuilt the whole thing overt. The game now tells you, plainly, to your face: you’re behind, so you’re getting catch-up help. And Mila — the mascot, the house voice — says it with her usual lack of tact. When your boost window is live, she greets you with something like:
“yeah you’re behind. but you’re HERE. Mila respects it. packs incoming.”
A note on Mila, since she does most of the emotional work in this game: I didn’t write a word of her dialogue. I gave one direction — make the house mascot sassy, let her talk friendly trash — and Claude wrote every line she has ever said, this banner included. She stays in character because her whole voice lives in one place, a single file of lines keyed to what’s happening in the game, so “sassy but never actually mean” is a property of the system rather than something I police line by line. It’s a small thing, but it’s the most genuinely new part of building this way: I art-directed a character instead of scripting her.
The table, with the friends who drifted to the back — the exact people Chase Mode exists for. (Names anonymized; the live banner itself is gone now the game is frozen.)
The old covert boost is gone entirely. The one script that used to run it silently is now report-only — it can tell me who’s lagging, but it can’t touch anyone’s luck without the game announcing it. No half-measure, no muted version left running in the shadows. If the help is happening, it’s on a banner.
Then I found out I was measuring “behind” wrong
With the overt version built, there was a second, quieter mistake waiting — and it’s the one I’m actually more glad I caught.
My first cut decided who was “behind” by counting stickers. Simple: what percentage of the album do you have pasted? Below some threshold, you qualify.
That’s wrong, and it’s wrong in a way that misses precisely the people the feature exists for. The album is 48 countries, and a country only counts when all of its stickers are complete. You can sit at 95% of all stickers and still have finished only 19 of 48 countries — because you’re one card short in dozens of them. A sticker-percentage gate looks at that player, sees “95%, basically done,” and locks them out of the help. But being one card short across half the album is the most demoralizing place in the whole game to be stuck. That’s the exact person Chase Mode is for, and my first metric excluded them.
So I re-gated it on countries completed, not sticker count. A country done is a country done; that’s the unit that actually measures whether someone’s stuck. It also lines up with the rest of the game — the country-completion bonus, the “last-card pity” that guarantees a missing card from your nearest-complete country — all of it now speaks the same language.
Measuring the right thing isn’t glamorous — it’s the kind of correctness work Part 4 was full of. But shipping the wrong “behindness” metric would have meant the feature did nothing for the people who needed it, and I’d never have gotten a bug report, because “the game didn’t secretly help me enough” is not something anyone files.
Help for effort, not for absence
The other thing I was careful about: this is catch-up, not charity. Help only flows to a player who is behind and still showing up — claimed a pack, logged in, or edited a prediction in the last few days. Go quiet, and the boost fades within about two days on its own. A one-day miss is forgiven; sustained absence is not. The mechanic rewards the friend who’s grinding and losing, not the one who wandered off in week two. Nobody gets carried across the line for not playing.
When you qualify, you get real, tangible things: a couple of extra catch-up packs at your daily claim, drops weighted hard toward the cards you’re actually missing, and that last-card pity so you’re not stuck forever one sticker away from a country. And — this matters — the points count. Finishing a country still earns its full bonus. I decided fairness would be handled by daylight, not by handing you a hollow version where the achievement doesn’t score. If the game’s helping you, it says so; it doesn’t also dock you for it.
To drive that all the way home, there’s a badge. The first time Chase Mode actually delivers, you get tagged with “Knew a Guy” 🤫 — “finished the album with a little help from the Commish.” It’s a joke, and it’s the whole philosophy in one line: the help is owned, worn openly, rather than hidden. On the end-of-tournament wrap-up graph, players who got a hand are styled a little differently. Anyone who finished unaided has a clean record. Nobody’s confused about who did what, and nobody has to be, because none of it was ever a secret.
What actually happened
It worked. The players in the bottom few started closing the gap, and they did it with the boost visibly on — no secret about it. One friend who’d drifted to the back went from stuck-and-quiet to actually opening packs again, chasing the last handful of countries with the banner up. That’s the evidence I’ve actually got: not a survey of how it felt, just a friend who’d gone quiet coming back to the game.
The back half of the group stayed in the game. Nobody was handed a trophy — they still had to show up, still had to finish, still had to duel and predict for their points. And there was nothing hidden under the leaderboard to erode anyone’s trust in it, which was the entire reason I rebuilt the thing overt.
The interesting decision in this whole feature was never a line of code. It was choosing overt over covert, trading a clever secret for an honest banner, and then admitting my first read on “who’s behind” was measuring the wrong thing entirely. The version I was proudest of at launch was the one I had to throw away. Saying the quiet part out loud, on a banner, in Mila’s voice, was the better game. I just had to talk myself out of the clever one first.