Самое сложное в создании игры – это... всё. Откровения разработчиков, часть 2

Самое сложное в создании игры – это... всё. Откровения разработчиков, часть 2

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

Перевод статьи Ребекки Валентайн “Turns Out The Hardest
Part of Making a Game Is...Everything” для IGN

Если вы пропустили первую часть материала, то рекомендуем ознакомиться вначале с ней:

Самое сложное в создании игры – это... всё. Откровения разработчиков, часть 1

Как заставить игрока делать то, что вы хотите

Когда сюжет сильно пересекается с геймплеем, перед разработчиками встает серьезная задача – заставить игрока сделать что-то конкретное для прогресса, направить его, подсказать. Кевин Зун, креативный директор и сценарист Young Horses (разработчик Octodad: Dadliest Catch), рассказал о том, что создавать подсказки – достаточно сложное мероприятие:

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

Кевин Зун, креативный директор и сценарист Young Horses

news_61f51631845cd.png

Александр Хорн, нарративный директор в Impulse Gear, ранее работавший над Kingdoms of Amalur: Reckoning, также сразу же отметил проблемы с обучением. По его словам, они, как правило, ломают четвертую стену, и ему “становится физически плохо от одной только мысли об этом”.

Начальная миссия в Amalur служит обучением, и первой задачей в первой комнате раньше было “поднять меч с мертвого тела” – для объяснения механики лута. Мой друг, довольно компетентный геймер, провел небольшое игровое тестирование и застрял почти на десять минут, не в силах найти меч и исследуя каждый закоулок комнаты. Было мучительно смотреть на это, хотелось кричать: “Эй! Вот же он! Прямо здесь!”, – но это был бесценный отзыв. В итоге мы просто положили меч перед дверью, чтобы после поднятия меча персонаж мог покинуть комнату.

Александр Хорн, нарративный директор Impulse Gear

Позволить игроку делать то, что он хочет

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

Монс Олсон, гейм-директор Minecraft Dungeons, поддержал это мнение. По его словам, одной из самых сложных систем во всей игре стал код, который позволял игрокам кликать на врагов для атаки.

В идеале щелчок должен просто выполнять любое действие, задуманное игроком, без каких-либо осложнений. Короче говоря, это должно “просто работать”. Но за кулисами происходит большое количество вычислений с целью выяснить, что это за намерение. Конечно, вы нажали на врага, но есть ли поблизости предмет, который игрок мог захотеть подобрать? Вы хотели атаковать врага или просто двигаться к нему? Вы в зоне поражения? Был ли моб ранее отброшен другой атакой, а в этом случае необходимо добавить временный баф к дальности атаки игрока, чтобы он не дергался вперед? И самое главное: что на самом деле хотел сделать игрок? Правильно ли он нажал на намеченную цель? Отражал ли момент этого щелчка его намерения?

Монс Олсон, гейм-директор Minecraft Dungeons

news_61f51678d02c8.jpg

Чтобы определить "намерение" игрока, команда разработчиков Dungeons создала несколько слоев проверок, чтобы отсортировать все различные возможности: угадать, что хотел игрок, когда клики не попадали по цели, и многое другое.

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

Мы разрешаем прицеливаться? Мы разрешаем стрельбу от бедра? Если да в обоих случаях, то какие должны быть различия между этими двумя режимами? Двигаем камеру при переключаемся между ними? Меняем ли угол обзора камеры? На сколько и как быстро для каждого оружия? Как выглядит анимация для этого? А как насчет разброса и отдачи оружия – они тоже должны измениться.

Сергей Мохов, старший геймплейный дизайнер Remedy

Для игр от третьего лица: пуля должна вылетать из дула пистолета или из середины экрана? Если из пистолета, то необходимо отобразить дополнительное перекрестие, потому что между оружием и целью может что-то находится. В Control вы всегда стреляете из камеры. И не забудьте добавить возможность переключения камеры в любом случае, но убедитесь, что все остальные способности и действия игрока по-прежнему работают на новом виде, или хотя бы не забудьте переключиться обратно, когда это потребуется – у нас была ошибка связанная с этим.

Сергей Мохов, старший геймплейный дизайнер Remedy

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

Если мы все сделали правильно, игрок ничего не заметит, но если мы где-то ошиблись, то это может испортить погружение и игровой опыт.

Сергей Мохов, старший геймплейный дизайнер Remedy

Поль-Эмиль, ведущий специалист по окружению в Absolver и арт-директор Sifu, говорит о том, что игроки просят добавить в Absolver простую возможность прыгать, чем смешат всю команду.

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

Поль-Эмиль, ведущий специалист по окружению в Absolver и арт-директор Sifu

Сохранения в играх

Много разработчиков сетуют на проблемы, возникающие из-за сохранения игр, контрольных точек, рестартов и загрузок. Фернандо Реско, старший программист в Armature Studio, привел список вопросов, на которые разработчики должны ответить при разработке системы сохранения и контрольных точек (и ошибок, которые могут возникнуть).

С точки зрения дизайна: сколько ячеек для автосохранений? Разрешаете ли вы игроку менять ячейку? Какой для этого интерфейс? Вы также разрешаете “ручное” сохранение? С инженерной точки зрения, какое состояние вы сохраняете? В большинстве случаев вы не можете просто сохранить все. Сохраняете ли вы состояние музыки? Состояние эффектов частиц? Запущенных скриптов? Что должно произойти при загрузке контрольной точки, чтобы все продолжало работать правильно? Геймплейные скрипты невероятно легко могут сломать систему сохранений. Например, я работал над игрой, в которой, если вы перезагрузились сразу после победы над определенным боссом, вы оказывались запертыми в комнате, потому что дверь, ведущая из нее, не сохраняла свое открытое состояние должным образом. Еще один пример того, как коварны двери.

Фернандо Реско, старший программист Armature Studio

news_61f51539c927b.jpg

Создатель и ведущий разработчик Renaine (студия Octosoft) под ником Squidly добавляет:

Люди не думают о том, как сложно сделать так, чтобы мертвое не осталось мертвым, а все то, что вы уже сделали, стало несделанным. Нужно многое продумать, чтобы просто вернуть все так, как оно было. Вот почему в некоторых из самых ранних игр не было сохранений. На самом деле, в оригинальных играх просто была установлена оперативная память, и если вы когда-нибудь перезапустите свой аркадный автомат с Pac-Man, вся таблица очков будет стерта. Так было до тех пор, пока разработчики Zelda не создали систему сохранений без пароля – это стало популярным, но это было очень сложно сделать.

Squidly, разработчик Octosoft

Менеджер по контролю качества Remedy Арто Суоминен также назвал сохранение игр причиной головной боли для команды, работающей над Control.

После прохождения Ashtray Maze мы обнаружили, что когда игрок перемещался с помощью фасттревела в Research Sector, то стены смещались туда, где их быть не должно. Тестировщики, дизайнеры уровней, программисты движка снова и снова обсуждали эту проблему, чтобы попытаться понять причину. Мы пытались воспроизвести эту ошибку, запуская игру в разных точках, умирая в разное время, перезапуская разные контрольные точки. Мы пытались понять, была ли проблема в том, как загружался игровой мир, или в том, как была настроена наша механика перемещения зданий. Дизайнеры уровней говорили, что это не они, а “геймплейщики” отвечали: "Мы тоже ни при чем".

Арто Суоминен, менеджер по контролю качества Remedy

news_61f514b630387.jpg

Мы копались в коде, пока один из программистов движка не выяснил, что наши скрипты сохраняют точку восстановления под названием “Research”, когда игрок перемещается в Research Sector после прохождения Ashtray Maze. Однако все наши сохраненные игры для этого сектора по умолчанию помещались во фрагмент сохраненной игры под названием “research”. Поскольку имена чувствительны к регистру, игра не распознавала, каким должно быть состояние мира вокруг игрока, и стены смещались. Нам понадобился месяц, чтобы понять, в чем проблема. Вот насколько сложны сохранения.

Арто Суоминен, менеджер по контролю качества Remedy

Кооперативная игра

Многопользовательская игра, будь то онлайн или локальная, также вызывают множество сложностей. Генеральный директор Nine Dots Studio (RPG с открытым миром Outward) Гийом Буше-Видаль сказал, что внедрение такого “простого” элемента, как сплит-скрин, “делает каждое дизайнерское решение намного сложнее, чем кажется”.

Если вы решили добавить разделенный экран в свою игру, то как поступите с меню? Может ли один игрок поставить паузу, а другой продолжить играть? Что делать с сюжетом и наградами? Проходить игру необходимо вместе или игроки могут присоединяться и покидать игровые сессии? А что насчет квестов, если игрок может присоединиться к игре во время его выполнения? А как воспроизводить звуки?

Гийом Буше-Видаль, генеральный директор Nine Dots Studio

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

Гийом Буше-Видаль, генеральный директор Nine Dots Studio

Переходя к многопользовательским онлайн-играм, старший программист Phoenix Labs (бесплатная action-RPG Dauntless) Крис “Chhopsky” Поллок поднял проблему серверов и то, что все думают, что простое добавление серверов – это панацея от всех бед, но все гораздо сложнее.

Каждая онлайн-игра “падает” в первый же день. Интернет кричит: “Добавьте больше серверов”, но чаще всего нехватка серверов не является проблемой. Люди думают следующим образом: сервер может обслуживать X игроков, Y человек хотят играть, поэтому Y / X = количество серверов = проблема решена, верно? Если просто, то нет. В онлайн-игре есть как минимум еще четыре проблемы, и каждая из них усугубляет предыдущую.

Крис “Chhopsky” Поллок, старший программист Phoenix Labs

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

Моя служба входа в систему может обработать 100 000 запросов в минуту, но что происходит, когда куча игроков одновременно обращается к одному и тому же сегменту базы данных? Что происходит, когда этот сегмент базы данных пытается создать резервную копию с изменениями, и резервное копирование занимает больше времени, чем частота, с которой оно выполняется?

Крис “Chhopsky” Поллок, старший программист Phoenix Labs

news_61f5142832e31.jpg

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

Крис “Chhopsky” Поллок, старший программист Phoenix Labs

Олли Фриман, вице-президент по разработке в 1047 Games (бесплатный онлайн-шутер Splitgate), рассказал о подборе игроков в соревновательных играх, особенно в тех, в которых нет многотысячной аудитории.

Вы всегда стараетесь балансировать между временем поиска, низким пингом и подбором игроков. Что лучше: подождать десять минут, чтобы получить идеально сбалансированную игру на сервере в вашем регионе, или подождать одну минуту, чтобы получить плохо сбалансированную игру быстро? Что лучше: хорошо сбалансированная игра с пингом 100 или плохо сбалансированная игра с пингом 50? Правильного ответа нет, зато есть много неправильных, но мы усердно работаем над этим.

Олли Фриман, вице-президент по разработке, 1047 Games

Меню и пользовательский интерфейс

Независимый разработчик и бывший игровой директор Q-Games Лиам Эдвардс назвал главное меню “повторяющимся кошмаром” при создании игр.

Вы всегда должны учитывать очень много факторов при создании главного меню. Мало того, что это первое, что игрок увидит, запуская вашу игру, (поэтому первые впечатления важны с художественной точки зрения, тональности и так далее). Это также первый раз, когда они увидят ваш шрифт, элементы управления и будут пытаться взаимодействовать с вашим дизайном и испытывать его. Вы должны быть осторожны с универсальным языком игр и не сбивать игроков с толку, пытаясь экспериментировать или отличаться. Если вы не будете использовать такие слова, как "Начать игру" и "Настройки", игроки не будут знать, как начать игру! Представьте, если бы вы изменили элементы управления, чтобы использовать Y и B для прокрутки меню вместо стика или крестовины? Это странные незначительные изменения, которые могут буквально отпугнуть игрока.

Лиам Эдвардс, независимый разработчик

Инди-разработчик Таня Шорт из Kitfox Games углубилась в это, назвав работающие меню настроек особенно сложными, но воспринимаемыми как должное “даже в самой дрянной игре раннего доступа”, еще больше сложностей добавляет внедрение специальных возможностей или аппаратно-зависимых элементов.

news_61f513eb85250.jpeg

Несколько разработчиков, в том числе создатель симулятора ходьбы Eastshade Дэнни Вайнбаум и UX-директор Panache Digital Games (игра про выживание в открытом мире Ancestors: The Humankind Odyssey) Этьен Болье, назвали пользовательский интерфейс проблематичным из-за того, что игроки ожидают, что он легко интегрируется в их опыт, в отличие от количества информации, которую он должен передать.

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

Дэнни Вайнбаум, создатель Eastshade

Тип меню, который есть во многих играх, – инвентарь, и старший технический дизайнер Firesprite (хоррор The Persistence) Фред Хорган объяснил, насколько сложной может быть его проработка не только в том плане, чтобы игроки могли легко с ним разобраться, но и в том, чтобы он работал с остальной игрой, например, когда игрок хочет выбросить предмет.

Выбросить предмет может быть очень сложно. Если вы решили, что можно выбрасывать предметы куда хотите, нужно убедиться, что эти предметы “безопасно” сбрасываются, чтобы их можно было восстановить. Возможно, мы просто решим, что некоторые предметы будут помечены как “неудаляемые”, если они критически важны для основного квеста или чего-то еще. У выпадающих предметов включена физика? Если да, то можно ли их использовать для сумасшедших вещей, таких как строительство лестниц в недоступные области или блокирование областей, чтобы предотвратить вход или выход NPC? Если это не то поведение, которое нам нужно, то как далеко мы готовы зайти, ограничивая действия игрока для “сохранения видения игры”? Если у этих предметов нет физики, нам нужно убедиться, что при падении они соблюдают определенные правила размещения, чтобы они не занимали одно и то же пространство или не начинали проваливаться в ландшафт и так далее.

Фред Хорган, старший технический дизайнер Firesprite

news_61f51147e74bd.jpg

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

Фред Хорган, старший технический дизайнер Firesprite

Подводим итоги

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

Первый дал Джоннеманн Нордхаген из студии Dim Bulb Games, ответственной за проект Where the Water Tastes Like Wine, который ответил на вопрос о том, какую проблему разработки игр недооценивают игроки, очень простым ответом: что происходит, когда вы нажимаете на кнопку?

На что я потратил много часов, так это на обработку команд игрока. Это кажется простым – вы нажимаете пробел, и персонаж прыгает. Но затем вы сталкиваетесь с особыми случаями. Что, если игрок приседает? Что если на пробел назначено и взаимодействие с объектами? Как насчет того, чтобы игроки могли использовать контроллеры вместо клавиатуры? Как насчет того, чтобы разрешить игрокам переназначать схему управления? Что происходит, когда игра поставлена ​​на паузу? Что если, да поможет вам Бог, это сетевая игра, и вам нужно отправить это на сервер? Это превращается в систему, которая требует нескольких уровней абстракции, чтобы иметь возможность обрабатывать всевозможные ситуации, которые могут произойти в игре, когда игрок просто хочет прыгнуть или нажать пробел.

Джоннеманн Нордхаген, программист Dim Bulb Games

Второй ответ дал Митч Дайер. Сценарист Gotham Knights и Star Wars: Squadrons нашел способ ответить на вопрос о проблемах разработки игр так, что каким-то образом охватил почти все.

Представьте, что вы пишете сцену для ААА-игры, в которой двум персонажам просто нужно встретиться и обменяться информацией. Самый скучный вариант: они стоят и ничего не делают, кроме как разговаривают друг с другом. Вроде просто, но вам по-прежнему нужна лицевая анимация, чтобы персонажи не выглядели, как роботы, а это дорого. Чтобы сделать сцену более интересной, вы решаете, что действие это будет происходить в кафе. Они встречаются, чтобы обсудить что-то за чашкой кофе. Отлично! Как сценарист, вы только что создали совершенно новый набор – кофейне нужны такие вещи, как стулья, столы, меню. А если это уникальная для игры тематическая закусочная (скажем, закусочная 50-х годов), теперь у вас есть новые текстуры для ваших шахматных стен, ваших старинных кофеварок и так далее.

Митч Дайер, сценарист Gotham Knights и Star Wars: Squadrons

news_61f511d3782b3.jpg

“Подождите”, – говорит художественный отдел. Вы хотите, чтобы они на самом деле ПИЛИ кофе? У нас нет симуляции жидкости, так что, если вы хотите, чтобы официант налил вам чашку, и вы хотите увидеть, как кофе ведет себя правдоподобно в кружке, – забудьте об этом. Не говоря о том, что нам нужны визуальные эффекты для пара и деталей на столе, пятен кофе или рваных диванов в кабинках кафе. Решения, которые кажутся незначительными – два персонажа обсуждают событие в одном месте – могут иметь ОГРОМНЫЕ последствия. Иногда вы можете позволить себе построить закусочную и нанять аниматоров, чтобы сделать “простую” сцену, подобную этой. Иногда это просто невозможно! Ничто из этого не относится к проблемам игрока в определенном смысле... но это потрясло мой мир. Каждое действие, которое персонаж совершает в каждый момент игры, должно быть тщательно обдумано, прежде чем его можно будет совершить... потому что это много работы, связанной с множеством проблем, позволяющей персонажу просто выпить чашку кофе.

Митч Дайер, сценарист Gotham Knights и Star Wars: Squadrons

Третий ответ дала соучредитель Beans Габриэла Сальваторе, которая сказал, что самое сложное при разработке игр – это “заставить художников открыть JIRA” (программное обеспечение для отслеживания задач и управления проектами). После чего добавила:

Веселье. Трудно что-то сделать, еще труднее сделать так, чтобы это работало, а еще труднее сделать так, чтобы в это было весело играть. Когда в игре что-то кажется хорошим, это происходит потому, что 1000 микро-решений работают слаженно, чтобы создать цельный опыт для игрока. Когда мы говорим об этом с друзьями, мы склонны сводить это к наиболее очевидному описанию механики: прыгать как Марио – хорошо и весело!

Габриэла Сальваторе, соучредитель Beans

Самое сложное в создании игры – это... всё. Откровения разработчиков, часть 2

Но насколько на это удовольствие влияют дизайн уровней или показатели, определяющие максимальную высоту и расстояние, которое Марио может преодолеть с помощью своего прыжка? Сколько удовольствия исходит от ощущения игры? Элементы управления? Нажатие “А” для прыжка удобнее, чем нажатие “В”? Долгое нажатие, чтобы прыгнуть выше, более увлекательно, чем двойное нажатие кнопки? Как хорошо выглядит анимация? Как прыжок сочетается с дизайном и внешним видом персонажа? А какая высота прыжка? А время в полете? А как влияет звук на ощущение от прыжка? Взаимодействие прыжков, например приземление на Гумбу или удар по блоку? Зависание в воздухе, когда вы прыгаете на предмет? Как насчет усиления суперпрыжка? Если вы создаете игру, и одна из ваших основных механик – это то, что ваш персонаж может “прыгать”, то на какие вопросы вам нужно было бы ответить, чтобы заставить ее работать, не говоря уже о том, чтобы это выглядело хорошо? Каждая механика начинает длинный список вопросов, подобных приведенному выше, 1000 микро-решений, которые должны четко сочетаться друг с другом, и когда они работают должным образом, игроки не должны их замечать – все это только для того, чтобы создать ощущение приятного прыжка.

Габриэла Сальваторе, соучредитель Beans

Источник

Читайте также