Дизайнер Fallout Тим Кейн рассказал как команда неделями боролась со "скольжением ног" персонажей – а игроки могли даже не заметить проблему
Тим Кейн – легендарный геймдизайнер и создатель культовой постапокалиптической RPG Fallout, опубликовал развернутое видео-объяснение одной из самых трудоемких проблем, с которыми столкнулась команда разработчиков в 1995 году – известного "скольжения ног" персонажей, когда между персонажем и поверхностью, на которой он движется, нет ощущения физического взаимодействия.
Оказывается, эта техническая сложность поглотила месяцы работы команды, хотя большинство игроков, возможно, даже не заметили бы ее в финальной версии игры.
Разработка игр в 90-е: эпоха "разберись сам"
Кейн начал очередной выпуск своего видеоблога рассказом о контексте – каково вообще было разрабатывать игры в 90-е годы.
Это было время, которое я называю "разберись сам". Не было движков, которые можно было купить готовыми. Книг по специфическим вопросам было мало, а онлайн-туториалов или видеоуроков и вовсе не существовало.
По словам Кейна, практически все разработчики того времени должны были самостоятельно решать технические проблемы, с которыми сталкивались впервые. Существовали лишь некоторые источники базовых знаний, такие как серия книг "Graphics Gems", но они объясняли только общие принципы, требуя от программистов глубокого понимания векторной и матричной математики.
Если бы вы не умели самостоятельно разбираться в проблемах, вы просто не продержались бы в игровой индустрии 80-х и 90-х годов. Оборудование, задачи – со всем этим многие сталкивались впервые.
Новый подход к анимации в Fallout
Команда Fallout использовала революционный для своего времени подход к созданию спрайтов персонажей. Вместо традиционного ручного рисования каждого кадра анимации для всех направлений движения, разработчики использовали 3D-софт Alias на рабочих станциях SGI под управлением операционной системы IRIX (разновидность Unix).
В предыдущих играх Interplay спрайты создавались с помощью 2D-программ, где художники вручную рисовали модели и анимировали их для каждого направления движения. Мы поступили иначе – создавали одну 3D-модель персонажа с одним циклом ходьбы, а затем поворачивали камеру в шести различных направлениях, соответствующих гексагональной сетке Fallout.
Это позволяло существенно экономить ресурсы – одна модель и один цикл анимации давали все шесть необходимых направлений движения. Более того, изменения в экипировке персонажа (добавление брони или оружия) также требовали гораздо меньше времени, так как было достаточно модифицировать базовую модель и перерендерить анимацию.
Проблема "скольжения ног"

В начале 1995 года команда столкнулась с серьезным дефектом анимации.
Когда персонаж доходил до конца цикла ходьбы, происходил заметный притормаживающий лаг. Полный цикл ходьбы – это когда персонаж, начиная с исходного положения, выставляет левую ногу вперед, затем правую, и возвращается в исходное положение. На стыке циклов происходил очевидный скачок.
Помимо этого, ноги персонажей словно скользили по поверхности и команда никак не могла правильно настроить смещение спрайтов между кадрами.
Мы думали, что проблема в несовершенном зацикливании. Это значит, что когда персонаж движется, не только его ноги, но и верхняя часть тела, голова, руки – все должно возвращаться в точно такое же положение в конце цикла, иначе будет заметный рывок.
Разработчики потратили недели, пытаясь идеально выровнять положение всех частей тела персонажа в начале и конце цикла. Однако даже после посмотра 3D-модели и проверки, что руки, голова, все элементы с точностью до пикселя совпадают с начальным положением, по какой-то причине в игре все равно наблюдался сбой.
После долгих исследований команда обнаружила вторую, более фундаментальную проблему – несоответствие типов проекции.
Как выяснилось, Alias в начале 90-х поддерживал только перспективную проекцию, где объекты уменьшаются по мере удаления от камеры, а параллельные линии сходятся. Но игра использовала ортографическую проекцию, где клетка в нижней части экрана имеет те же углы и края, что и клетка в верхней части, а параллельные линии не пересекаются.
Разработчики оказались в тупике:
Нельзя использовать спрайт, созданный с перспективной проекцией, в игре с ортографической проекцией. Но программа Alias не поддерживала ортографическую проекцию, и не было никаких признаков, что Autodesk планирует добавить эту функцию. А нам нужно было срочное решение.
По воспоминаниям Кейна, изящное решение нашел художник Джейсон Андерсон:
Он определил, что если отодвинуть камеру на практически бесконечное расстояние, то края клеток будут выглядеть параллельными, так как эффект перспективы становится незаметным на таком расстоянии. Затем нужно было увеличить масштаб камеры почти до бесконечности. С физической камерой это не сработало бы – все было бы размыто, но с виртуальной камерой это оказалось возможным.
Это хитроумное решение устранило проблему, и анимация ходьбы стала идеальной.
Потраченные ресурсы и сомнительная ценность

По словам Кейна, решение этой проблемы заняло недели работы художников и программистов. В общей сложности команда потеряла месяцы на исправление этого бага.
Интересно, что когда в 1996 году вышла Diablo, в ней наблюдалось такое же "скольжение ног", будто персонажи двигались по льду.
Никто не обратил на это внимания. Я бросаю вызов – найдите мне хоть один обзор 1996 года, где кто-то упоминает эту проблему, думает о ней или обсуждает ее. Даже в онлайн-группах, которые уже тогда были полны людьми, готовыми придираться к малейшим деталям игры, я не слышал ни слова об этом.
Это заставило его задуматься о приоритетах в разработке. Так как до релиза оставался еще год, Кейн беспокойно подумал, что команда потратила кучу времени на то, что никого не волнует.
Кейн признает, что современные фанаты часто пишут ему, что для них эта деталь очень важна.
Но заставило бы вас наличие этой проблемы отказаться от покупки игры? Я так не думаю. Взгляните на все другие проблемы, с которыми Fallout вышла в релиз. Возможно, они могли бы быть исправлены, если бы эти художники и программисты посвятили свое время их решению. Я не могу это доказать, но, проработав над игрой три с половиной года, я уверен, что мы потратили слишком много времени на проблему скольжения ног.
Уроки для современных разработчиков
Завершая рассказ, Кейн проводит параллели с современной индустрией. По его словам сегодня многие разработчики работают с готовыми движками и инструментами, что абсолютно нормально. Именно поэтому выходит намного больше игр, особенно от независимых разработчиков – они могут использовать готовый движок, который делает большую часть необходимой работы.
Однако Кейн подчеркивает важность наличия людей с менталитетом "разберись сам" на стадии прототипирования:
Когда вы достигаете стадии прототипа, вам нужно больше людей, способных самостоятельно разобраться в проблемах, чем тех, кто ждет, когда им скажут, что делать. В 80-х и 90-х практически каждый разработчик был таким человеком.
История со "скольжением ног" в Fallout остается для Кейна примером разработки игр в 90-х годах и интересным кейсом для размышлений о приоритетах:
Это идеальный пример проблемы, которую мы исправили, но должны ли мы были это делать? Что мы упустили, исправляя ее? Это интересный кейс, на который можно смотреть с разных точек зрения.
Похоже, у Кейна еще осталось много историй про разработку Fallout. Увы, видеоматериалов о самом процессе, похоже, не сохранилось, так что приходится только слушать его воспоминания.