How scoring works: Pips Hard
Your game score comes from your own puzzle result. Your party rank compares that score with your party's submissions for the same day.
Quick summary
Pips Hard is scored on how fast you place the dominoes to solve the day's toughest board. Your time falls into one of seven score brackets (1.0 down to 0.4), or a 0.2 floor if slower than 20 minutes. Beat 60 seconds and you also earn the 🍪 cookie badge -- it doesn't change your score.
How to score well
- Solve the puzzle as quickly as possible -- 60 seconds or less is a perfect score and a 🍪 cookie.
- Plan domino placements before committing so you avoid wasted moves on the harder board.
- Even a slow solve earns at least 0.2 -- there is no failure state in Pips.
- The cookie is a bonus badge for speed, not a score multiplier.
How ranking works in parties
- Your score is compared to other party members who solved the same day's Pips Hard puzzle.
- There is no secondary tiebreaker -- players who tie on time share the same rank.
- Ties are broken using competition ranking.
Example
You solve Pips Hard #130 in 0:58 (58 seconds). Your time beats the 60s Hard cookie threshold, so you earn a 🍪 cookie and a normalized score of 1.0. A partymate who finished in exactly 1:00 also scores 1.0 but earns no cookie -- the boundary is strict.
How to submit your score
On iOS, tap Share → PuzzleParty. On Android, copy your result and paste it into PuzzleParty.
Technical scoring data
{
"ranking": {
"tie_algorithm": {
"key": "competition_ranking",
"display_name": "Competition ranking"
}
},
"examples": [
"Solving Pips Hard in 0:58 (58 seconds) earns a normalized score of 1.0 and the \ud83c\udf6a cookie (under the 60s Hard threshold).",
"Solving in 1:00 earns 1.0 but no cookie -- the cookie threshold is strict (under 60s).",
"Solving in 3:42 (222 seconds) earns 0.8 -- good, no cookie.",
"Solving in 9:00 earns 0.6 -- slower but scored.",
"Solving in 21:00 earns the 0.2 solved floor."
],
"rule_text": "Faster solve times produce better normalized scores. Scoring uses a step-function bracket table: 60 seconds or less earns 1.0, up to 2 minutes earns 0.9, up to 4 minutes earns 0.8, up to 6 minutes earns 0.7, up to 9 minutes earns 0.6, up to 15 minutes earns 0.5, up to 20 minutes earns 0.4. Any solved time slower than 20 minutes earns the minimum solved score of 0.2. Pips has no failure state, so every shared entry is solved. Beating 60 seconds also earns the derived \ud83c\udf6a cookie badge on Hard, but the cookie never changes the score.",
"edge_cases": [
"The \ud83c\udf6a cookie is DERIVED from time (under 60 seconds on Hard), not trusted from the emoji in the share text.",
"The cookie boundary is strict: a solve at exactly 1:00 does NOT earn the cookie.",
"The cookie never affects the normalized score -- it is an informational badge only.",
"Pips has no failure state, so there are no unsolved entries; the 0.0 score is unreachable in practice.",
"Solved entries never score below 0.2, regardless of how slow the time is.",
"Times at exactly a bracket threshold (e.g., exactly 60s, 120s) receive that bracket's score (inclusive)."
],
"measurement": {
"metric_key": "time_seconds",
"metric_label": "Time to solve",
"scoring_type": "time_based"
},
"human_review": {
"checklist": [
"Verify rule_text reflects the time-based scoring behavior and the 60s Hard cookie threshold without ambiguity.",
"Verify examples are readable and match expected outcomes for the 60s-1200s range.",
"Verify edge_cases make clear the cookie is derived (strict under-threshold) and never affects the score."
],
"machine_verifiable_scope": [
"measurement.scoring_type",
"absolute_scoring.method",
"absolute_scoring.solved_floor",
"absolute_scoring.unsolved_score",
"absolute_scoring.brackets",
"ranking.tie_algorithm.key"
]
},
"party_ranking": {
"normalization_summary": "Within a party, players are ranked on Pips Hard by faster completion times first. There is no secondary tiebreaker -- the \ud83c\udf6a cookie is derived from time itself, so it carries no extra ranking information. Each player earns one point for every party member they beat, plus one."
},
"schema_version": 1,
"absolute_scoring": {
"method": "time_based",
"brackets": {
"60": 1,
"120": 0.9,
"240": 0.8,
"360": 0.7,
"540": 0.6,
"900": 0.5,
"1200": 0.4
},
"scoring_type": "time_based",
"solved_floor": 0.2,
"unsolved_score": 0
}
}