Обычный способ играть в блок-головоломку — взять фигуру, перенести её через доску и отпустить над нужным местом. Это кажется естественным и требует больше, чем кажется. Нужно удерживать контакт всё движение, держать руку ровно и оценивать место падения, которое закрывает ваш собственный палец. Альтернатива, при которой положение выбирается отдельными тапами, снимает большую часть этого, и стоит понять почему.
Сколько точности нужно для установки
Доска 9x9, то есть 81 клетка. Число мест, куда может встать фигура, зависит от её формы. Фигура, которая w клеток в ширину и h клеток в высоту, помещается в (9 − w + 1) x (9 − h + 1) позиций на пустой доске, потому что её левый край может стоять в любом столбце, где есть место для остальной части, и так же для верхнего края.
Возьмём прямой брусок из 3. Лёжа он 3 в ширину и 1 в высоту, поэтому у него 7 x 9 = 63 позиции. Стоя вертикально — 9 x 7 = 63 ещё. Всего 126 установок, а у блока 1x1 их 81. У домино 2 x (8 x 9) = 144, больше всех фигур на диаграмме ниже, а у квадрата 3x3 только 7 x 7 = 49. Реальная доска никогда не бывает пустой, поэтому живое число меньше, но цифра для пустой доски показывает диапазон, в который может целиться установка.
Каждая установка — это определённый набор клеток, и соседние установки отличаются на одну клетку. Поэтому перетаскивание должно попасть примерно в полклетки от нужного места, иначе фигура окажется рядом. Если доска из 9 клеток имеет ширину 324 px, что правдоподобно для телефона, то каждая клетка имеет 36 px в ширину. Подушечка взрослого пальца примерно 10 мм шириной, что на большинстве телефонов больше одной такой клетки, поэтому палец закрывает клетку, в которую вы целитесь.
Что идёт не так при перетаскивании
- Перекрытие. Палец закрывает цель. Игроки справляются, заранее просчитывая установку, а затем доверяя руке, которую не видят.
- Постоянный контакт. Перетаскивание требует, чтобы палец удерживался и двигался по контролируемой линии. Тремор, слабый хват, стилус или указатель на голове, а также тряская поездка в поезде — всё это усложняет задачу.
- Нет дешёвой коррекции. Сдвиг на одну клетку при отпускании — и фигура поставлена, либо нужно начинать перетаскивание заново.
- Использование одним пальцем и переключателями. Некоторые вспомогательные способы ввода могут выбирать, но не могут удерживать нажатие во время движения.
Ничто из этого не делает перетаскивание плохим. Оно быстрое, и многие его предпочитают. Суть в том, что игра, предлагающая только этот способ ввода, превращает требование моторных навыков в часть головоломки, которая должна быть о пространственном планировании.
Что говорят рекомендации по доступности
WCAG, Рекомендации по обеспечению доступности веб-контента, написаны для веба, но их правила широко используют как ориентир для приложений. Версия 2.2, опубликованная как Рекомендация W3C в октябре 2023 года, добавила два критерия, которые напрямую относятся к этому вопросу.
- 2.5.7 Перетаскивание (уровень AA). Всё, что можно сделать перетаскиванием, должно быть также возможно одним указателем без перетаскивания, например тапом или кликом, если только перетаскивание не является обязательным.
- 2.5.8 Размер цели (минимальный) (уровень AA). Цели для нажатия должны быть не меньше 24 x 24 CSS-пикселей, с исключениями, в том числе для целей, расположенных так, что круг 24 px с центром на каждой не перекрывает другой.
Минимум 24 px намеренно низкий. Более строгий критерий уровня AAA, 2.5.5, требует 44 x 44 CSS-пикселя. Для клеток 36 px выше клетка проходит минимум AA с запасом и не дотягивает до размера AAA, что честно описывает доску 9x9 на телефоне: клетки достаточно велики, чтобы по ним тапать, но не щедры. Размер клетки и необходимость перетаскивания — разные проблемы, поэтому критерий перетаскивания существует наряду с критерием размера.
Тап как альтернатива, а не замена
Ввод, который состоит из последовательности отдельных дискретных действий, даёт три преимущества при установке. Каждое действие короткое, поэтому не нужно удерживать контакт и держать руку ровно. Выбор можно сделать и проверить до подтверждения, поэтому палец больше не должен угадывать, что он закрывает. И одно и то же действие работает для пальца, стилуса, переключателя или мыши.
Противоположный пример — Big Ben Blocks: Block Puzzle в описании сказано, что управление «тап, чтобы поставить» служит альтернативой перетаскиванию, наряду с символами фигур и цветами, подписями для программ чтения с экрана и поддержкой уменьшенной анимации. В описании не расписано подробно, как работает управление, поэтому и эта запись не расписывает; цель здесь — общий довод в пользу способа ввода. Связанная запись о игроках с дальтонизмом рассказывает о стороне символов фигур того же дизайнерского подхода.
Брусок 1x3 имеет 7 x 9 = 63 позиции лёжа и 63 стоя, всего 126. Точность в каждой клетке важна, потому что соседние установки отличаются на одну клетку.
Хорошая игра при тапах
Если вы ставите фигуры тапами, время уходит на планирование, и несколько привычек переносятся из любой блок-головоломки.
- Сначала решите, какой набор клеток нужен, и только потом выполняйте ввод. Поскольку доска не закрыта, можно позволить себе посмотреть на неё целиком.
- Работайте от краёв. Ссылка на запись о краях в первую очередь объясняет, почему установки у стены оставляют меньше неудобных пустот.
- Пользуйтесь подсказками, которые разрешает режим. Отмена, подсказки, поворот и бомба доступны в Classic и Adventure, а Daily Challenge и Time Attack их отключают, согласно описанию. Ссылка на запись об этих подсказках рассказывает, когда каждую стоит использовать.
Общее правило для любого способа ввода: он должен отнимать внимание только на решение, а не на механику. Головоломка на сетке 9x9 и так даёт достаточно пищи для размышлений: 27 групп, которые могут очиститься, и до 144 установок для одной фигуры. Прицеливание не должно добавляться в этот список.
Big Ben Blocks: Block Puzzle — это блок-головоломка на сетке 9x9: режим Classic без таймера, трёхминутный Time Attack и Daily Challenge, который меняется в полночь по времени Великобритании (UK). Управление «тап, чтобы поставить» служит альтернативой перетаскиванию. Игра работает офлайн, без рекламы и покупок внутри приложения, а монеты, которые вы зарабатываете, не имеют денежной стоимости.