Обновил игру "Сапёр с инструментами". Игра описана в посте: Сапёр с инструментами - небольшая игра, где у сапёра наконец-то появился миноискатель
В двух словах - классическая головоломка сапёр с тем отличием, что в игре есть протагонист с металоискателем и сапёрным щупом.
Выложил на itch обновлённую версию, ссылка в конце поста.
Большое спасибо всем, кто попробовал игру и особенная благодарность тем, кто написал пожелания, мнения, сообщил об ошибках.
Поскольку больше всего писали про управление, давайте поговорим про него подробней.
Сапёр с инструментами это браузерная мультиплатформенна игра, что накладывает некоторые ограничения на доступные способы ввода:
- курсор как игровой элемент недоступен на мобильных устройствах
- правая кнопка мыши недоступна на мобильных устройствах
- долгое нажатие для мобильных устройств неудобно, т.к. имеет большую задержку срабатывания и плохую обратную связь - не понятно, сработало ли и что там под пальцем вообще происходит. Также оно конфликтует с жестами, тяганием объектов и прочими частыми операциями для сенсорных экранов.
- клавиатура недоступна на мобильных устройствах, а виртуальная клавиатура (или кнопки управления) съедают довольно много места (в Phaser 3 её ещё и писать с ноля придётся)
- правая кнопка мыши может конфликтовать с "жестами мышью" в некоторых браузерах и расширениях на ПК
- средняя кнопка мыши доступна далеко не на всех ПК (устройства Apple не имеют такого функционала в принципе, тачпады ноутбуков как правило требуют нажатия несколькими пальцами и очень неточны)
- автоматически определить, какая схема управления оптимальна для устройства, в общем случае невозможно (например, ноут с сенсорным экраном или смарт с мышкой - да-да, и такое бывает) - необходимо либо делать под всё сразу, либо дать возможность выбрать схему управления, при этом явно обозначить такую возможность
- игра очень похожа на уже существующую и известную, а потому важно явно и ненавязчиво сообщить об отличиях (новых доступных функциях) - мало кто станет смотреть туториал или лезть в справку по Сапёру.
Начальная схема управления учитывает все эти ограничения (на самом деле это уже третья итерация, но именно она вышла в первый релиз):
- клик по разведанным ячейкам отправляет персонажа пешком в указанную ячейку - это безопасное и единственное доступное в данном случае действие
- клик по неразведанным ячейкам вызывает меню действий, которое рисуется вокруг нажатой ячейки - это страхует от нечаянного прохода по мине, а также показывает и привязывает доступные действия к месту их применения
- клик по меню вызывает нужное действие (персонаж подойдёт к ячейке по максимально безопасному пути)
- расположение элементов меню позволяет двойным кликом ставить флаг, что также обезопасит от случайного выбора потенциально опасного действия прохода в клетку
Главный минус такой схемы в том, что частое действие - пройти в неизвестную клетку - становится неудобным и требует 2 клика в разные места экрана (сначала меню на клетке, потом кнопка на уровне соседней клетки)
Долго думал как улучшить существующую схему управления не потеряв её достоинств и устранив недостатки и решил:
- оставить меню действий, но разделить расстановку кнопок в зависимости от способа вызова - тогда двойное нажатие на разные кнопки приведёт к разным действиям
- добавить жесты для установки флага - необходимо для сенсорных экранов из-за отсутствия альтернативного меню
В итоге управление теперь такое:
- ЛКМ / нажатие - открывается меню, где под курсором действие "идти"
- ПКМ - открывается меню, где под курсором действие "поставить флаг"
- жест в виде прямой линии через клетку - поставить флаг (работает и с мышью)
- соответственно двойной клик ЛКМ / двойное нажатие - пойти в клетку, двойной клик ПКМ - поставить флаг
Всё равно не самая оптимальная схема с точки зрения пользователя, но если учитывать затраты на разработку...
Полный список исправлений:
- поправлена отрисовка цифр - контур сделан отдельным слоем, который всегда (почти) рисуется поверх картинки для большей контрастности
- увеличена контрастность меню действий, отдельные действия теперь имеют свой цвет
- увеличена контрастность неразведанных ячеек, особенно при перекрытии объектами - туман рисуется поверх всех объектов, теперь деревья не скрывают важную информацию
- добавлено отображение пути от протагониста до курсора, а также пути, по которому происходит текущее движение
- добавлена возможность посмотреть поле после окончания игры
- поправлены баги с установкой флагов и вопросов
- улучшена генерация мин
- на 30% увеличена скорость движения персонажа
- немного изменены размеры и положение кнопок выбора действия (проще попасть, сложнее промазать)
- поддержка жестов и длинного нажатия для устройств с сенсорным вводом
- поддержка правой кнопки мыши
Ссылки
1. Игрушку можно заценить на https://gamruls.itch.io/minesweeper-with-tools (версия с окном побольше https://itch.io/embed-upload/6350431?color=605948)
Буду рад обратной связи.