← Back to Games

How scoring works: Tango

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

Tango is scored purely on how fast you solve the 6x6 logic grid. Your time falls into one of six score brackets (1.0 down to 0.5), or a 0.2 floor if slower than 10 minutes.

How to score well

  • Solve the puzzle as quickly as possible -- 30 seconds or less is a perfect score.
  • Use the constraint clues (= and x) to make fast deductions without guessing.
  • Avoid mistakes since fixing errors costs time, even though the flawless flag does not affect scoring.
  • Even a very slow solve earns 0.2 -- unsolved entries are the only way to receive 0.0.

How ranking works in parties

  • Your score is compared to other party members who solved the same day's Tango puzzle.
  • Ties are broken using competition ranking -- if two players tie, they share the same rank.

Example

You solve Tango #490 in 1:54 (114 seconds). Your time falls in the 60-120s bracket, so your normalized score is 0.8. In a party where the fastest solver got 0:25 (score 1.0) and the slowest got 12:00 (score 0.2), you rank near the top.

How to submit your score

On iOS, tap Share → PuzzleParty after solving. On Android/web, tap the share button, copy the result, and paste it into PuzzleParty.

Technical scoring data
{
    "ranking": {
        "tie_algorithm": {
            "key": "competition_ranking",
            "display_name": "Competition ranking"
        }
    },
    "examples": [
        "Solving Tango in 0:30 or less earns a normalized score of 1.0 (elite).",
        "Solving in 1:00 earns 0.9 -- very fast.",
        "Solving in 3:00 earns 0.7 -- good.",
        "Solving in 10:00 earns 0.5 -- slow but scored.",
        "Solving in more than 10:00 earns 0.2 -- the solved floor."
    ],
    "rule_text": "Faster solve times produce better normalized scores. Scoring uses a step-function bracket table: 30 seconds or less earns 1.0, up to 60 seconds earns 0.9, up to 2 minutes earns 0.8, up to 3 minutes earns 0.7, up to 5 minutes earns 0.6, up to 10 minutes earns 0.5. Any solved time slower than 10 minutes earns the minimum solved score of 0.2. Unsolved entries receive 0.0.",
    "edge_cases": [
        "Unsolved puzzles always receive a score of 0.0, regardless of time spent.",
        "The flawless flag is tracked in parsed data but does not affect scoring in V1.",
        "Solved entries never score below 0.2, regardless of how slow the time is.",
        "Times at exactly a bracket threshold (e.g., exactly 30s, 60s) 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 without ambiguity.",
            "Verify examples are readable and match expected outcomes for the 30s-300s range.",
            "Verify edge_cases are clear and non-conflicting, especially around the flawless flag."
        ],
        "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 Tango by faster completion times first, with unsolved entries ranked last. Each player earns one point for every party member they beat, plus one. Players who don't solve the puzzle earn zero points for this game."
    },
    "schema_version": 1,
    "absolute_scoring": {
        "method": "time_based",
        "brackets": {
            "30": 1,
            "60": 0.9,
            "120": 0.8,
            "180": 0.7,
            "300": 0.6,
            "600": 0.5
        },
        "scoring_type": "time_based",
        "solved_floor": 0.2,
        "unsolved_score": 0
    }
}