Sunflowers показала Reverse Minesweeper с проверяемой логикой подсказок

Sunflowers, игра, представленная на Hacker News как Reverse Minesweeper. В ней игрок по числам на поле определяет, где находятся цветы, а генератор не просто создаёт случайные сетки: каждую из них от начала до конца решает встроенный логический движок. Он выбирает самый простой доступный ход, как внимательный человек, и фиксирует, какие приёмы рассуждения потребовались. Этот же движок используется для внутриигровых подсказок.

Автор описывает пять уровней логики. На Easy достаточно одной подсказки: она либо уже выполнена и остальные клетки вокруг пусты, либо число неизвестных клеток равно числу ещё нужных цветов. Medium требует приём subset, сравнение двух подсказок, когда все неизвестные клетки одной входят в область другой. Hard добавляет работу с пересечением областей двух подсказок и всегда содержит ходы subset.

Extreme использует предположения: мысленно поставить цветок или крест в клетку, применить простые правила и получить противоречие, слишком много цветов либо недостаточно мест для нужного числа. Длина такой цепочки ограничена несколькими простыми шагами, чтобы её можно было проследить без пометок; подсказка указывает проверяемую клетку и подсказку, на которой возникает противоречие. На Insane нужны цепочки длиннее этого ограничения; настройка может дополнительно потребовать приём either-way: обе гипотезы для опорной клетки остаются непротиворечивыми, но приводят к одному значению другой клетки.

Шкала от 0 до 100 разделена на непересекающиеся диапазоны: Easy, 4, 19, Medium, 20, 39, Hard, 40, 59, Extreme, 60, 79, Insane, 80, 100. Позиция внутри диапазона зависит от метрик соответствующего уровня: количества нужных ходов, глубины цепочек или суммарной работы двух ветвей. Оценка времени складывается из заданных автором весов для обычных отметок и каждого типа вывода. Настройки сложности требуют определённого числа ходов; при каждом изменении генератор пробует до 90 кандидатов и, если точного совпадения нет, отдаёт ближайший и помечает это под полем.

Ключевые факты

  • Один и тот же логический движок проверяет все сгенерированные сетки и формирует подсказки для игрока.
  • В игре описаны пять приёмов: базовый вывод, subset, пересечение областей, рассуждение от предположения и either-way.
  • Диапазоны сложности не пересекаются: Easy 4, 19, Medium 20, 39, Hard 40, 59, Extreme 60, 79, Insane 80, 100.
  • Extreme ограничивает длину цепочек предположений, а Insane требует более длинные цепочки; настройка может дополнительно требовать either-way.
  • После изменения настроек генератор пробует до 90 сеток и помечает ближайшее совпадение, если точного не нашлось.

Почему это важно

Проект делает сложность проверяемым свойством конкретной сетки, а не только названием режима: движок проходит решение и фиксирует действительно необходимые приёмы. Поэтому подсказки могут объяснять тот же ход, который использовался при проверке поля.

Кому это важно

Игра может быть интересна любителям логических головоломок и тем, кому важно понимать, почему уровень считается сложным. Особенно это относится к игрокам, которые хотят разбирать ходы с предположениями и более длинные цепочки вывода.

Как это применить

Можно выбрать уровень и настроить требования к числу ходов или глубине цепочек. Если сетка лишь близка к заданным условиям, это будет отмечено под полем; автор предлагает в таком случае ослабить настройку или выбрать большее поле.

Можно ли доверять

Описание опирается на техническое объяснение автора проекта: перечислены правила решателя, диапазоны оценок и лимит в 90 кандидатов на попытку. Независимых результатов проверки или сравнения с реальным временем решения в представленном тексте нет.

Риски и подводные камни

Сложные уровни могут требовать удерживать в голове цепочки предположений; для режима Insane автор прямо отмечает, что записи действительно помогают. Точная настройка может не найтись на выбранном размере поля, и тогда игра выдаст ближайший вариант, а не полное соответствие условиям.

«Каждая сгенерированная сетка полностью решается тем же логическим движком, который обеспечивает внутриигровые подсказки.»

— Описание Sunflowers