Фиттс и угловые контролы

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

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

Мне нравится одна деталь в Виндоусе. Вот эта нажимаемая штуковина в углу — она скрывает все окна и показывает рабочий стол. Она клёвая, потому что сидит в самом углу: ты можешь как угодно ловко-резко увести курсор в угол и не промахнуться. Но оно и понятно — края экрана ловят указатель и дальше не пускают.

Не менее понятно, что сенсорный интерфейс не может остановить палец своими виртуальными границами. Но помочь человеку попадать в угловые контролы можно. Надо делать область срабатывания не только больше самого элемента, надо отдавать ему вообще всю площадь до краёв.

Полезно спрашивать себя. Почему я хочу очертить область срабатывания именно здесь? Почему какие-то 4−5 пикселей между контролом и пассивной сущностью (например заголовок экрана) не должны реагировать в данном случае? Зачем вообще человек устремляет палец в эту область экрана, и как сильно мы разрешаем недотёпе промазать?

Мысли.

1. Крайние контролы имеют все права реагировать по всей области до ближайших краёв.

2. Если учтено первое, то в крайний элемент попасть проще — сами края помогают осознать куда метить пальцем. В этом случае, если рядом есть не крайний контрол и они спорят между собой, не крайний имеет право на большую область, ведь в него сложнее прицелиться.

3. Области срабатывания у визуально равных контролов не обязаны быть равными.

Dark Souls 3

Закончился Dark Souls 3. Теперь уже совсем. Прошли с Ильёй последнее DLC включая опционального босса.

Я вообще любитель воздавать почести этой серии — писал раз, писал два. Посвящал музыку. Переставать хвалить не собираюсь.

Игра создаёт проникновенное личное приключение. Здесь всё на это работает: и пресловутая сложность, и мрачная атмосфера, и подача сюжета. Да даже фразы персонажей записаны, словно они говорят на ухо.

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

Блуждаешь по тёмным коридорам: лечения больше нет, что за поворотом не знаешь, со страхом заглядываешь за углы. Но вдруг видишь долгожданный, спасительный костёр. Огонь еле дрожит, в общем-то, как и ты. И вот подходишь, разжигаешь пламя и теперь вы оба воспряли. Это даже не просто радость. Dark Souls пробивает дыру в восприимчивости, и ты запросто чувствуешь все эмоции, которые она выдаёт.

Серия примечательна женскими образами. Будь то первая, вторая, третья часть или Bloodborn, «дома» тебя всегда ждёт такая героиня. Да сам по себе акт её нахождения у костра и ожидание тебя — уже образ. Это сделано ни разу не пошло (а япошки могут), а преисполнено достоинства, сродни рыцарским романам.

В игре убедительно показано рыцарство. Верю. Как у очага тебя ждёт прекрасная дама, так и на горизонте ждёт твой личный дракон. Много драконов… И иногда это даже буквально драконы.

И как же тоскливо, что приключение закончилось теперь уже навсегда. Разработчики заявили, что история Dark Souls завершена и более им рассказать нечего. Но закончили они на высочайшей ноте и лучше так.

Dark Souls это та игра, в которой титры досматриваешь до конца, а закрывая игру, прощаешься со своим персонажем.

The Last Guardian и повествование в играх

В этом посте содержится критический спойлер к Braid и небольшой спойлер к The Last Guardian. Если вас интересует последняя, я считаю, можете продолжать читать. Если вы планируете пройти Braid — не читайте.

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

В такие моменты игры показывают остальным формам искусства собственные, особенные зубы. Музей или кино не может использовать взаимодействие, как инструмент повествования. Но игры могут.

Примеры в студию. Разумеется Braid, разумеется последняя сцена базовой концовки. Всю игру главный герой, Тим, ищет некую принцессу. Наконец, в последнем уровне он находит её.

Принцесса убегает от какого-то негодяя и кричит о помощи. Видно, как она с помощью рычагов опускает платформы, чтобы герой бежал дальше — принцесса помогает Тиму. Музыка играет задом наперёд.

Когда принцесса добегает до кровати, действие оборачивается вспять. Мы уже не управляем героем. Игра воспроизводит наши действия в обратном порядке. Теперь музыка играет в правильном направлении. Это наводит на мысль, что обратное направление — настоящее. Оно противопоставляется субъективному виденью Тима. Тот же уровень рассказывает уже другую историю.

Принцесса пытается помешать Тиму. Она дёргает рычаги включающие ловушки, но Тим минует их. В конце принцесса видит того персонажа, что в начале казался злодеем. В обратном порядке их фразы несут совершенно другой смысл. Принцесса просит персонажа о помощи, прыгает ему на руки, и те уходят за кадр. Тим остаётся не у дел.

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

Другой пример виртуозного гейм-дизайна — обучающий уровень игры Megamen X. Человек, любящий видеоигры, должен если и не поиграть в этот уровень самим, то хотя бы знать его видеоразбор.

Самый смак здесь — бой с боссом. В ролике всё сказано, но повторюсь: игра использует доступные ей и только ей инструменты, чтобы создать нужное настроение. У босса нет полоски здоровья, он слишком сильный для раннего этапа игры. Игрок не понимает, что ему вообще делать. Вот она паника, вот оно отчаяние. Вот оно повествование игровой механикой.

Так вот The Last Guardian. Отдельный рассказ о ней писать не хочется: взаимодействие со зверем весьма так себе, но с эмоциями и атмосферой всё отлично. Есть и фокус, о котором речь в посте: классная сцена с повествованием через геймплей. Об этом моменте подробнее.

По ходу нашего путешествия с Три́ко (имя зверя), мы научаемся понимать его поведение. Это сделано здорово: тебе действительно приходится наблюдать за зверем. Трико действует не мгновенно, а как настоящее, непредсказуемое животное: подолгу обнюхивает места, внимательно осматривается и издаёт только ему понятные звуки.

Вы находите такой витражный щит.

Трико он явно не нравится. Зверь рычит, упирается, внимательно смотрит на него и не реагирует на наши команды. Герой скидывает щит в пропасть, и Трико снова приходит в норму. В дальнейшем мы понимаем: зверь боится этого знака, и наши враги используют его, чтобы контролировать Трико.

Взглянем на это с позиции игровой механики. Игра учит нас: витражные щиты выводят зверя из строя. Чтобы продолжать путь, нам надо избавляться от них: скидывать в обрывы и разбивать. Далее игра комбинирует щиты с врагами — у негодяев появляются переносные щиты. Пока одни обезвреживают Трико щитами, другие беспрепятственно гонятся за героем.

Наступает та самая сцена. Двое врагов со щитами встают на пути. Трико не может прыгнуть туда — он боится щитов. Негодяи стоят на краю пропасти. Мы прикидываем, что если подберёмся к ним со спины, сможем столкнуть их с края (не переживайте, по сюжету это бездушные механические доспехи).

Однако, это значит, что мы должны на время покинуть дезактивированного зверя. Герой пробирается в тыл тех двоих. Уровень сделан так, что нельзя миновать засады: в погоню за нами пускается ещё пачка врагов. Трико не может прийти на помощь, мы чувствуем себя уязвимыми. В панике мы бежим скорее скидывать негодяев со щитам, чтобы зверь смог пройти и защитить. И теперь, что называется, watch this.

Мы успеваем толкнуть только одного щитоносца. Героя хватают и уносят прочь. Игра научила нас: пока все витражные щиты не пропадут, Трико не работает.

Мы понимаем, что нужно вырываться (эта механика тоже здорово сделана: нужно судорожно нажимать все кнопки геймпада) и скидывать второго. Ещё мы понимаем, что сделать это будет сложно. Вокруг слишком много врагов. Только мы вырвемся из захвата, героя сразу же подхватит другой. Ситуация безвыходная. Как вдруг происходит внезапное. Зверь прыгает за нами, не смотря на то, что остался ещё один щит. Трико разбивает его своим приземлением и раздаёт тумака остальным негодяям.

Это сильнейший момент. Игра нарушает созданное ей же правило, чтобы рассказать историю. Трико настолько привязался к мальчику, что преодолевает страх и прыгает прямо на щит. Вот этот же момент в динамике.

Не говорится ни слова. Никакой закадровый голос не комментирует происходящее. Сцена показана только игровыми средствами. Жемчужина.

Историю The Last Guardian можно подать только заставив игрока чувствовать связь мальчика и зверя на себе. Одно прямое изложение текстом не сработало бы. Рассказ геймплеем работает.

P. S. У меня теперь есть канал в Телеграмме, куда скидывается всё новенькое от меня: треки, посты, твиты и фоточки в инстаграмме :з

Михалыч, дорогой

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

В мои, что-то около, 8 лет мы с дедушкой зашли к нему на работу. Дело было в Москве, дедушка приехал туда по командировке. В столичном офисе его хорошо знали, но давно не видели. Только мы показались, к дедушке подошёл мужчина примерно его возраста, пожал ему руку, похлопал по плечу и тепло-тепло так сказал:
— Михал Михалыч, дорогой, давно тебя ждём.

Я тогда хмыкнул про себя, мол, что это, один мужик другого «дорогой» называет. Да и нежно так. Во чудные! Само это уже проблема: ну с чего маленькому мне думать, что отношения у мужчин обязательно должны быть жёстче. Но про это уже сказано и не раз, сейчас о другом.

Далее, по собственному опыту я, конечно, замечал, что отношения между мужчинами бывают разными. Бывают и очень тёплые. Бывают соревновательные. Бывает откровенное писькомерство. Бывает и совершенно армейское пренебрежение.

Про себя я понимал: альфа-самцово-жёсткое общение точно не моя тема. Постоянное тонкое подтрунивание друг над другом, мол, мы конечно все друг друга любим, но всё равно держитесь в тонусе — да, это понимаю. Всё же это утомляет, долго так нельзя.

Недавно Илья посоветовал мне аудиокнигу Гришковца «Асфальт». И вот что я там выделил, это удивительно трепетные отношения между мужчинами-друзьями. Про «Миша, дорогой» молчу: мягкие обращения друг к другу там единственно существующая норма. Срабатывает мой любимый элемент творчества: находишь в нём отражение своих не особо популярных мыслей. Радуешься, что не один такой странный.

Мягкость к женщинам разумеется сама собой. Это понятно и в моей графомании не нуждается. Быть мягким к другому мужчине, не парясь кто там чего подумает — это золото, это ценю, за это уважаю © композитор и физик-теоретик Джейсон Стэтхэм.

Проблема с точностью

С передвижениями в Москве есть проблема. Которая как бы и не проблема… Но проблема! Объясняю.

Столичный и подмосковный транспорт двигается по строгому расписанию. Не говорю о стихийных маршрутках без рода и племени. Они, наверное, пытаются следовать внутреннему порядку, но броуновское движение на дорогах Москвы размоет любой график.

Проблема со строгим расписанием такая: ты абсолютно точно, с погрешностью в минуты три, знаешь когда окажешься в пункте Б. Электрички приезжают минута в минуту. Если опаздываешь — опоздаешь. Быстрее ехать не будут. Понятно, что и не должны, но дайте надежде умирать подольше. Да о надежде и речи нет. Для каждой конкретной электрички уже известны времена прибытия.

Яндекс.Метро заранее знает, сколько времени займёт путь между станциями. Беспощадную точность приложения можно обмануть вытворяя какой-нибудь неждан в переходах. Тем не менее, относительно моей средне пешеходной скорости, Яндекс не ошибается.

Совсем мрак: на больших площадях столицы издалека видать все светофоры. Смотришь на таймер до переключения света, калибруешь скорость шага и подходишь точно к зелёному свету.

Вот я. Мой путь на работу состоит из электрички, метро и чуть-чуть ножками. Тайминги электрички известны и точны. Аналогично с метро. Так теперь и пешеходная часть более-менее предсказуема! Как выходишь из метро — светофор вон он вдали. Просто ускоряешься или замедляешься, чтобы прийти на зелёный.

Если это читает кто-то из сотрудников: я иногда не иду сразу к подземному переходу, а захожу в макдачную за завтраком :)

Повторяя такие паттерны перемещений достаточно долго, рискуешь довести всё до автоматизма. Иной раз вообще на время не смотрю ни разу. Просто чувствую, что угодил в протоптанный график.

Из перемещений уходит случайность, приходит точность. Время становится предсказуемым. Это как бы и не проблема. Но проблема!

Неинтересно так.