← Back to Games

How scoring works: Mini Sudoku

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

Mini Sudoku scores you based on how fast you solve the 6x6 grid — faster is always better. In party ranking, your time is compared to other party members who solved the same puzzle.

How to score well

  • Solve the 6x6 grid as quickly as possible to maximize your score.
  • Aim for under 30 seconds for a perfect score.
  • Even a very slow solve still earns 0.2 — finishing always beats not finishing.
  • Avoiding mistakes (flawless) is tracked but does not yet affect your score.

How ranking works in parties

  • Your rank is determined by comparing your solve time against all party members who submitted for the same puzzle.
  • Ties are broken using competition ranking (shared ranks, with gaps after ties).

Example

You solve Mini Sudoku #182 in 1:24 (84 seconds). The first bracket at or above 84s is 120s, which maps to 0.8. Your normalized score is 0.8. If your party has 5 members and one solved faster, you rank 2nd.

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 in 0:30 or faster: normalized score = 1.0 (elite speed).",
        "Solving in 1:00 (60 seconds): normalized score = 0.9.",
        "Solving in 1:24 (84 seconds): normalized score = 0.8 (first bracket at or above 84s is 120s \u2192 0.8).",
        "Solving in 5:00 (300 seconds): normalized score = 0.6.",
        "Solving in 10:00 (600 seconds): normalized score = 0.5.",
        "Solving in more than 10:00: normalized score = 0.2 (solved floor)."
    ],
    "rule_text": "Mini Sudoku uses bracket-based time scoring. Solving in 30 seconds or less earns a perfect 1.0. Score decreases in steps as solve time increases: 1:00 \u2192 0.9, 2:00 \u2192 0.8, 3:00 \u2192 0.7, 5:00 \u2192 0.6, 10:00 \u2192 0.5. Solving in more than 10 minutes still earns 0.2 (a solved puzzle never scores below 0.2). Only unsolved puzzles score 0.0.",
    "edge_cases": [
        "Unsolved puzzles always receive a normalized score of 0.0.",
        "A solved puzzle always scores at least 0.2, regardless of how slow \u2014 only unsolved entries score 0.0.",
        "The 'flawless' flag (no incorrect placements) is recorded but does not affect the normalized score in V1.",
        "Times at exactly 30 seconds score 1.0; times at exactly 600 seconds score 0.5."
    ],
    "measurement": {
        "metric_key": "time_seconds",
        "metric_label": "Time",
        "scoring_type": "time_based"
    },
    "human_review": {
        "checklist": [
            "Verify rule_text reflects the bracket-based time scoring behavior (30s elite, 600s last bracket, 0.2 floor) without ambiguity.",
            "Verify examples cover the full range of bracket scores plus the solved floor.",
            "Verify edge_cases correctly describe unsolved, flawless, and boundary conditions."
        ],
        "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 Mini Sudoku 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
    }
}