видеозаписи Witcher 3: Wild Hunt, the

Мастера на все руки: чем занимаются геймплей-программисты

Крупным компаниям необходимы универсальные специалисты, которые могут служить звеньями, связывающими разные отделы. О функциях одного из них — геймплей-программиста —рассказална конференции Games Gathering 2016 Роман Тиньков, работающий на аналогичной должности в Ubisoft.

Меня зовут Роман Тиньков. Около восьми лет я работал в фирме «Меридиан'93», а сейчас тружусь в Ubisoft. Среди проектов, в которых я принимал участие, были Far Cry Primal и Watch Dogs 2.

Ведущий геймплей-программист — это эксперт по взаимодействиям и комфорту игроков.

Взаимодействие

Пользователь влияет на игровой процесс, или игровые сущности взаимодействуют друг с другом. Цель взаимодействия — правдоподобность. Она важнее реализма. Например, в Asassin's Creed персонаж может прыгнуть с большой высоты в стог сена: не реалистично, но достаточно правдоподобно, чтобы в это можно было поверить.

Комфорт

Вы наверняка видели такую картинку — зоны комфорта, обучения и паники.

Составные части комфорта можно назвать «по-домашнему», «всё под контролем» и «снимаем боль».

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

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

Про «боль» очень легко забыть, но если игра будет её причинять, пользователь просто перестанет играть. Болезненными бывают манипуляции (если одновременно нужно нажать на слишком много клавиш), визуальные эффекты (быстрое раздражающее мигание красным, чёрным, белым цветами), ужасные звуковые эффекты.

Для геймплей-программиста важно, чтобы игра была эргономичной и бросала пользователю вызов. Результат его успешной работы — полное погружение человека в игру.

Роли и обязанности

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

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

Прототипирование

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

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

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

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

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

Измерения

Всё, что можно измерить, можно постараться улучшить, понизить или повысить: лаг, FPS, скорость работы игровых алгоритмов, ввод (input), а также доступность и отзывчивость игры. Главная ошибка при измерениях — строить какие-то теории до того, как получены данные.

Игрок вознамерился произвести действие. Время, которое пройдёт до того, как он его произведёт — это задержка, лаг. Низкий лаг приоритетнее для геймплей-программиста, чем количество кадров в секунду.

Это время состоит из физических ограничений (нажатия на кнопку), передачи сигнала в ОС, обработку сигнала системой, сетевой части. Дальше игровой движок обрабатывает команды ввода, игрок видит графический эффект, проигрывается анимация, а потом — геймдизайнерские задержки (например, персонаж высоко подпрыгнул и очень долго падает). Неудачная анимация также может создавать впечатление, что игра медленно работает. У FPS игры (количества выдаваемых в секунду кадров) не должно быть резких падений и пиков.

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

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

Качество анимации важнее мешей (mesh), моделей. Пример — игра Grow Up. В ней очень простой меш, но благодаря анимации пользователи отлично погружаются в игровой процесс.

Вовлечённость

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

Второй вариант — намеренная вера. Примером могут быть мультики. Нарисованные персонажи — ненастоящие, но достаточно правдоподобны, чтобы мы в них верили.

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

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

Также геймплей-программист использует знания о восприятии и старается учитывать физиологические ограничения человека. Люди фокусируют взгляд в определённой точке экрана. Например, в гоночных играх фокусное зрение обычно сосредоточено на машине противника, а для остального пространства используется периферийное. Это значит, что если мы поместим значок «резкий поворот направо» в углу экрана — игрок не заметит его и врежется в стену.

Эмпатия. Основной её принцип: чем больше игровой персонаж похож на нас, тем сильнее мы ему доверяем и привязываемся. Как в мультике «ВАЛЛ·И»: сначала мы не испытываем к роботу никаких чувств. Но он ведёт себя почти как человек, и постепенно мы начинаем ему сочувствовать.

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

Игра не должна быть несправедлива по отношению к игроку. Не нужно убивать главного героя за каждую ошибку, если это не игра про постоянное умирание. Геймплей-программисты стараются компенсировать подобные ситуации. В Prince of Persia если персонаж стоит на краю обрыва и пользователь случайно нажмёт на клавишу движения в сторону пропасти — он не упадёт, а повиснет на краю. Это помогает игроку не совершать фатальные ошибки. Как говорил один программист из Ubisoft: «Потеряться на карте — это не цель игры».

Все эти элементы в той или иной степени входят в зону ответственности геймплей-программиста.

Подведём итоги. Геймплей программист — это дизайнер взаимодействий. Игроку должно быть комфортно их производить. Чтобы достичь этого, геймплей-программист использует прототипирование, измерения, знания о восприятии, анимации и эргономике.

Нравится12
Комментарии
    B
    i
    u
    Спойлер