Игры
Всякий ли расклад в маджонг-пасьянсе решается?
Нет — если фишки расставлены случайно, а именно так делает большинство маджонг-пасьянсов. У случайного расклада может не быть выигрышной последовательности вовсе, поэтому партия, которую вы проиграли, могла быть непроходимой ещё до первого касания. Расклад можно сделать решаемым, но только выбирая рисунки фишек по ходу смоделированной партии, а не рассыпая их заранее, — и это осознанное решение, которое студии приходится принять.
Почему случайная раздача бывает мёртвой сразу
Проблему создаёт одно правило маджонга. Фишка свободна только тогда, когда сверху на ней ничего не лежит и хотя бы один из соседей слева или справа отсутствует. Складывать можно только две свободные фишки.
То есть раскладка — это граф зависимостей. Каждая снятая фишка освобождает другие, а пара, половинки которой завалены друг под другом, не сложится никогда: первой нужно, чтобы вторая ушла, а второй — чтобы ушла первая. Если рассыпать рисунки по раскладке случайно, ничто не мешает такому расположению возникнуть.
Одной взаимно заваленной пары достаточно, чтобы убить расклад. Поэтому решаемость относится к способу порождения раздачи и не может быть добавлена позже, и поэтому же это самое сложное место в жанре. Спрашивать об этом стоит до установки любой из головоломок, которые её обещают.
Как расклад делают решаемым
Приём в том, чтобы перестать раздавать фишки и начать играть партию прямо во время раздачи.
Вместо того чтобы рассыпать рисунки по раскладке и надеяться, генератор моделирует допустимую партию и решает, какие будут рисунки, по ходу дела:
- Занять все позиции раскладки.
- Взять любые две фишки, которые свободны прямо сейчас по обычному правилу.
- Дать этой паре рисунок — такой, которого больше нигде на поле нет.
- Снять их, что освободит другие, и повторять, пока поле не опустеет.
Выбранная последовательность и есть готовая выигрышная линия, значит она доказуемо существует. Ни перебора, ни решателя здесь нет: гарантия следует из построения, а не из проверки постфактум.
Более сильное свойство вытекает из одной детали. Снятие фишки может только освободить другие фишки и никогда не заблокировать их — математик назвал бы такое правило монотонным. Значит, пара, свободная во время моделирования, остаётся свободной, пока её кто-нибудь не заберёт, и свободная совпадающая пара поэтому находится в любой момент, какой бы порядок ни выбрал игрок. Расклад не просто проходится по одному спрятанному пути. Он проходится по любому пути.
Именно так Midnight Mahjong раздаёт расклад на сложности по умолчанию. Гарантия здесь — свойство алгоритма, а не строчка в рекламном тексте, и поэтому на сложных уровнях её можно просто выключить и раздавать случайно для тех, кому нужна прежняя, рискованная игра.
На левой половине фишки лежит другая фишка, а по бокам от неё пусто. Свободна ли она?
Answer: Нет — сверху что-то лежит — Верно. Фишка свободна, только когда сверху ничего нет И открыт хотя бы один бок. Сначала должна уйти верхняя фишка.
Тогда почему я всё-таки застрял?
Потому что то, во что вы играли, раздавало иначе. На расклад, построенный описанным выше способом, застрять невозможно: свободная совпадающая пара есть в любой момент и при любом вашем выборе, значит тупик — доказательство того, что раздача была случайной.
Это стоит знать, когда игра предлагает и то и другое. Midnight Mahjong по умолчанию раздаёт гарантированный расклад и снимает гарантию на сложных настройках, поэтому вопрос «могу ли я здесь проиграть» — это настройка, а не загадка. Кнопка перемешивания в нём в обоих случаях пересобирает гарантированную раскладку, и потому это настоящий выход, а не ещё один бросок костей.
Управление полем по-настоящему решает исход там, где раздача случайна, и там, где идут часы. В обоих случаях помогают две привычки:
- Разбирайте сверху и с краёв. Фишки в верхних ярусах блокируют больше других, поэтому, освободив их раньше, вы расширяете каждый следующий выбор.
- Когда видны все четыре фишки одного рисунка, сначала посмотрите. Спросите себя, какая пара оставит две оставшиеся достижимыми, а не какая пара ближе.
Это то же чутьё, которое вознаграждает головоломка с блоками: ход, который приносит очки сейчас, не всегда тот, который сохраняет вам выбор. Вся полка — на странице «Игры».
Кнопка перемешивания — это то же самое?
Нет, и разница важна, когда вы выбираете игру.
Перемешивание берёт оставшиеся на поле фишки и перераспределяет их рисунки. Оно спасает застрявшую позицию, но обычно перераспределяет случайно, поэтому может выдать ещё одну мёртвую. В некоторых играх число перемешиваний ограничено. Это честный способ назначить цену за спасение и плохая замена раздаче, которая никогда не ломалась.
Гарантированная раздача снимает нужду в спасении на сложности по умолчанию. Midnight Mahjong оставляет перемешивание для сложных уровней, где раздача случайна и мёртвая позиция возможна, и это перемешивание пересобирает гарантированную раскладку, а не очередную случайную. Оно выводит из тупика всегда.
На что смотреть перед установкой
Утверждение дёшево сделать и дорого воплотить, поэтому смотрите, где именно оно сделано:
- В настройках, как сложность или переключатель — самый сильный сигнал. Студия строит управление только для того, что код действительно делает.
- В описании в магазине, конкретной фразой — «любой расклад решается» — это утверждение, «расслабляющий геймплей» — нет.
- Нигде — считайте, что раздача случайная. Гарантия решаемости — самое интересное инженерное решение в маджонге, и тот, кто его принял, об этом не молчит.
Пока вы читаете страницу магазина, она же говорит, во сколько игра обойдётся вам во внимании. Midnight Mahjong бесплатный, с баннером, полноэкранной рекламой каждую третью партию и необязательным роликом за подсказку; разовая покупка убирает всё это. Написано на его странице и на карточке, ещё до установки, — а рассуждение о том, почему мы об этом говорим, в статье во сколько обходится подписка на игру-головоломку.
Частые вопросы
- Бывает ли расклад маджонга, который нельзя закончить?
- Да, если фишки расставлены случайно. Про случайные раскладки «черепахи» обычно говорят, что несколько процентов из них не имеют выигрышной линии вовсе: можно сыграть безошибочно и всё равно проиграть. Расклад, построенный по ходу дела, таким быть не может.
- Как понять, раздаёт ли игра решаемые расклады?
- Ищите это утверждение в описании в магазине или в настройках игры. Если нигде не написано — считайте раздачу случайной: студия, взявшая на себя труд гарантировать решаемость, об этом говорит, потому что это самое дорогое, что есть в сборке.
- Решаемый расклад означает, что проиграть нельзя?
- При описанном здесь построении — да: свободная пара находится в любой момент и при любом порядке ходов, потому что снятие фишки может только освободить другие. Значит, застрять — это доказательство того, что раздача была случайной.
- Кнопка перемешивания — то же самое, что решаемый расклад?
- Нет. Перемешивание переставляет оставшиеся фишки, обычно случайно, поэтому может выдать ещё одну мёртвую позицию. Оно спасает застрявший расклад, но не делает исходную раздачу выигрышной.
- Почему в некоторых играх решаемость делают необязательной?
- Потому что гарантированный расклад убирает настоящие проигрыши, а часть игроков хочет риска. В Midnight Mahjong это привязано к сложности именно поэтому: по умолчанию гарантия есть, на сложных уровнях раздача случайная.
Приложения из статьи
- Midnight Mahjong — Ночные плитки, без таймера, и любой расклад решается.