Слишком быстро, потом слишком мягко: настройка тяги
Одна константа определяет ощущение TUNL сильнее, чем любая другая. Я менял её дважды за один день после того, как игрок сказал мне, что игра слишком быстрая, и второе изменение научило меня большему, чем первое.
Управление устроено не так, как думает большинство
В игре в стиле Flappy Bird один тап даёт птице мгновенную скорость вверх. TUNL устроен иначе. Удержание не задаёт твою скорость, оно задаёт твоё ускорение. Пока ты удерживаешь, к гравитации добавляется сила вверх, а когда отпускаешь, действует только гравитация. Корабль сохраняет инерцию при переходе, поэтому если ты отпустишь на пике подъёма, ты ещё мгновение продолжишь подниматься. Это придаёт игре вес, а заодно делает цифры очень чувствительными.
Её определяют три константы: гравитация тянет вниз, тяга толкает вверх, пока ты удерживаешь, а максимальная скорость ограничивает темп сверху. Для ощущения важнее всего пара чистых ускорений: насколько сильно ты ускоряешься вверх при удержании (тяга минус гравитация) против того, насколько сильно ты ускоряешься вниз при отпускании (только гравитация). Соотношение этих двух величин и есть характер игры.
Как она стала слишком быстрой
За несколько проходов я всё туже закручивал цифры, гоняясь за резким ощущением в духе Flappy Bird. Гравитация выросла с 1150 до 1300, тяга с 2400 до 3400, а максимальная скорость с 820 до 1080. Каждый шаг при тестировании казался лучше, потому что я настраивал систему на сокращение задержки между большим пальцем и кораблём. В итоге чистое ускорение вверх стало примерно в 1,6 раза больше чистого ускорения вниз.
Затем один игрок на Reddit написал, что ускорение кажется слишком быстрым, что он умирает ещё до того, как успевает почувствовать азарт забега. Это была первая неспрошенная обратная связь, которую игра когда-либо получила, поэтому у неё был вес. То, что я оптимизировал, отзывчивость, оказалось именно тем, что делало игру беспощадной.
Слишком мягко, потом где-то посередине
Первой реакцией было вернуть тягу к 2700. Это гораздо ближе к гравитации, чистое ускорение вверх лишь немного превышает чистое ускорение вниз. В тот же день я протестировал это, и ошибка оказалась в противоположную сторону: слишком мягко. Корабль словно повисал в воздухе, и подъём почти не отличался по ощущению от падения, а это ещё один способ потерять нужное ощущение.
Поэтому второе изменение стало компромиссом, выбранным путём сравнения обоих соотношений, а не только на ощупь. Изначальная резкая настройка давала примерно 2100 вверх против 1300 вниз. Смягчённая давала 1400 вверх против 1300 вниз. Я зафиксировал тягу на 3100, то есть 1800 чистого подъёма против 1300 чистого спуска, примерно посередине. Подъём всё ещё ощущается отзывчивее падения, но больше нет почти мгновенного упора в максимальную скорость. Гравитация и максимальная скорость за всё это время не менялись.
Урок, который я из этого вынес, в том, что «слишком быстро» и «слишком мягко» это два конца одного соотношения, а не две разные проблемы. Как только я взглянул на чистый подъём против чистого спуска, цель стала очевидной. До этого я просто крутил одну цифру и заново оценивал результат на ощупь.
Вторая половина ответа была в начале
Перенастройка тяги исправила ощущение, но не причину, по которой новый игрок быстро умирает. При измерении забега новичка медиана составила около секунды полёта. Одна только анимация запуска длилась дольше этого. И закономерность была очевидна: новичок нажимает и удерживает, корабль врезается в потолок, и всё кончено. Ничто в игре никогда не объясняло вторую половину схемы управления, отпускание.
Я отказался от текстовой подсказки. Я пробовал одну, «УДЕРЖИВАЙ для подъёма, ОТПУСТИ для падения», под заголовком, и убрал её в тот же день, потому что она казалась избыточной рядом с кнопкой, которая и так говорит удерживать, и загромождала ряд кнопок под ней. Информация была верной. Просто фраза была неправильным способом её донести.
Поэтому вместо этого учат стартовые монеты. На первом отрезке пещеры линия монет вынужденно идёт по плавной дуге, которая начинается ниже высоты запуска и поднимается выше неё. Чтобы взять первую монету, нужно отпустить и планировать вниз. Чтобы взять вторую, нужно удерживать и подниматься. К третьей ты уже почувствовал обе половины управления, и никто не сказал ни слова. Это сработало вместе с остальной частью изменения, безопасным стартовым отрезком с двумя царапинами корпуса, которые я описываю в посте о темпе.
Для чего нужна история настройки
Причина, по которой я веду этот журнал, в том, что подобная константа со временем дрейфует. Это число в файле, его легко чуть-чуть подвинуть, и каждый небольшой толчок оправдан в моменте. Я веду историю каждого значения, которое у неё когда-либо было, и почему, чтобы в следующий раз, когда кто-то (включая меня) подумает, что игра станет лучше с чуть большей резкостью, ответ уже был записан: это уже пробовали, и игроки сказали, что стало слишком быстро.
Модель ввода тоже неизменна. Удержание для ускорения - это идентичность игры, и настройка может двигаться внутри неё, но никогда не должна заменять её мгновенным импульсом. Экраны разного размера получают одну и ту же ощущаемую траекторию благодаря правилу масштабирования, которое я описываю в посте о справедливости.
Если хочешь почувствовать результат, корабль в одном тапе от тебя.