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

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

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

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

Разработчикам игр задали в Твиттере вроде бы безобидный вопрос: “Какие проблемы с дверями в видеоиграх?” Оказывается, проблем много. Такая, казалось бы, обыденная и ничем не примечательная вещь, как двери, может обернуться настоящим адом для разработчиков, если они решат включить их в свои игры.

news_61f1afe0d5ad2.lob

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

Но двери – далеко не единственная “простая” функция, которая неожиданно оказывается сложной в разработке.

Журналист IGN Ребекка Валентайн задала разработчикам вопрос: “Что в видеоиграх кажется простым, но на самом деле очень сложно в реализации?” Она получила почти 100 ответов как от разработчиков-одиночек, так и от тех, кто работал в командах из сотен человек.

Разработчики говорили о проблемах, связанных с повествованием, движением, взаимодействием с объектами, меню, системами сохранения, многопользовательской игрой, с тем, чтобы игры выглядели и звучали хорошо, и со всевозможными тонкостями дизайна, которые так редко обсуждаются за пределами самих студий. Многие отметили, что они получали гневные отзывы игроков, которые спрашивали их: “Почему бы вам просто не сделать вот так-то?” Ответ почти всегда таков: “Потому что это очень, очень сложно”.

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

Перемещение из одного места в другое

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

news_61f168060609a.jpg

Например, лифты. Несколько разработчиков рассказали о том, какую боль доставляют лифты, независимо от того, поднимают ли они игроков на один этаж в здании или служат псевдозагрузочными экранами между двумя игровыми зонами. Билл Гарднер, креативный директор The Deep End Games и ведущий дизайнер уровней в BioShock и BioShock Infinite, объяснил проблему с лифтами следующим образом:

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

Билл Гарднер, креативный директор The Deep End Games

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

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

Билл Гарднер, креативный директор The Deep End Games

Команда Skydance Interactive, стоящая за The Walking Dead: Saints & Sinners, столкнулась с проблемой, похожей на ту, что описывает Гарднер. Касается она дверей и сложностей со взаимодействием, но, к счастью, разработчики VR-игр смогли превратить сложную проблему в забавную новую функцию:

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

Билл Феррер, старший инженер искусственного интеллекта Skydance

Что ж, если двери и лифты слишком сложны, почему бы игрокам просто не ходить по лестнице? Джош Дэвис, специалист по обеспечению качества в компании-разработчике Guacamelee Drinkbox Studios (разработчик 2D-метроидвании Guacamelee!), говорит, что это тоже проблема.

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

Джош Дэвис, специалист по обеспечению качества в Guacamelee Drinkbox Studios

Все эти “транспортные” средства – потенциальный кошмар, но есть еще одна вещь, вызывающая мучения разработчиков: движущиеся платформы.

Перемещать игрока с помощью контроллера несложно; перемещать игрока, стоящего на платформе, несложно. Но объедините это вместе, и у вас будут две вещи, которые диктуют, как игрок должен двигаться. Что делать, если платформа толкает игрока вверх к потолку? Толкать игрока через платформу? Раздавить игрока? Остановить платформу? Заставить игрока присесть, давая немного больше времени, прежде чем раздавить? А теперь платформа движется вниз и игрок толкает ее. Должна ли платформа вести себя так же?

Кайл Доннелли, программист студии Land of Screens and Doki Doki Literature Club Plus и издатель Serenity Forge

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

Теперь добавьте в уравнение несколько движущихся платформ. Что, если игрок стоит на двух платформах, движущихся в противоположных направлениях? Должен ли игрок разделиться на части? Ехать на самой быстро движущейся платформе? Ехать на той платформе, к которой игрок находится больше всего? Как только вы решите, как платформы должны двигаться, возникает целый ряд новых проблем, связанных с их реализацией с помощью используемой вами физической модели.

Кайл Доннелли, программист студии Land of Screens and Doki Doki Literature Club Plus и издатель Serenity Forge

Учитывая, что все эти формы передвижения сложны, как насчет обычной ходьбы, чтобы добраться с места на место? Андреас Урвалек, программист из Unknown Worlds (разработчики Subnautica), сказал, что даже это может стать проблемой и работать ужасно неправильно.

На самом деле, не так сложно написать что-то и заставить персонажа двигаться, но сложно настроить все значения так, чтобы результат казался правильным. Потребовалось довольно много времени, чтобы найти значения ускорения и сопротивления, которыми мы были довольны в Subnautica, учитывая все модификаторы скорости, которые есть в игре (спринт, скольжение, течения, ветер и так далее).

Андреас Урвалек, программист Unknown Worlds

Но даже если вы все сделали правильно, протестировали и довольны результатом, то спустя время может оказаться, что вы что-то упустили.

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

Андреас Урвалек, программист Unknown Worlds

Взаимодействие чего-либо с чем-либо

Еще одна распространенная сложность, на которую указывает подавляющее число разработчиков, – это простая с виду идея о том, что любой “объект” в игре должен взаимодействовать с любым другим объектом. Персонаж, поднимающий предмет, или контакт между двумя персонажами – все это кажется настолько простым, но на самом деле оказывается невероятно сложным в реализации. И это мы не говорим о более сложных взаимодействиях со множеством объектов.

Бен Вандер, дизайнер симулятора летающего города Airborne Kingdom в студии The Wandering Band, объясняет проблему следующим образом:

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

Бен Вандер, дизайнер The Wandering Band

news_61f16de950740.jpeg

Одри ЛеПренс, соучредитель The Game Bakers, подтвердила, что столкнулась с этой проблемой при работе над Haven – игрой про двух влюбленных, которая изобилует множеством нежных контактов между героями.

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

Одри ЛеПренс, соучредитель The Game Bakers

Мэйби Сьюэлл, ведущий аниматор геймплея в Gearbox, привела еще один пример: погладить собаку. Популярность Твиттер-аккаунта “Can You Pet the Dog?” (каталог анимаций и игр, в которых можно погладить собаку) привела к тому, что разработчики стали массово добавлять эту функцию в свои игры. Но Сьюэлл отмечает, что на самом деле это может доставить множество сложностей из-за вышеупомянутых проблем, связанных со взаимодействием двух персонажей, не говоря уже о таких вещах, как движение ИИ, пользовательский интерфейс и многое другое.

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

Объекты и персонажи, движущиеся и взаимодействующие вместе, могут быть проблемой, если вы стремитесь к реализму или к определенному визуальному стилю. Художник и аниматор из Glitch Factory Жоао Эссе в качестве примера привел задачу из грядущей игры No Place for Bravery, в которой главный герой Торн несет на спине своего сына Фида. У двух персонажей независимые анимации, и каждый может выполнять отдельные действия одновременно. Например, Торн может сражаться с врагом, а Фид – указывать на что-то интересное.

Положения дуэта в некоторых анимациях оказываются очень сложными, особенно когда Фид движется вперед или назад в разных кадрах. Чтобы решить проблему, мы должны пройти через каждый кадр в каждой анимации, чтобы исправить положение каждого персонажа. Настоящие проблемы начинают проявляться, когда Торн совершает очень сложное движение, подобное тому, что показано на GIF’ке ниже. Фид и щит находятся позади Торна и Молота и вращаются вместе, создавая иллюзию удара молотом.

Жоао Эссе, художник и аниматор из Glitch Factory

Все становится еще сложнее, когда Фид отсутствует в определенных моментах. Мы не можем оставить анимацию Торна без изменений, потому что такие предметы, как его щит, анимированы специально для учета того, что Фид находится за спиной. Если убрать Фида и ничего не изменять, это выглядят забавно. Так что на этот случай у нас есть совершенно отдельный набор анимаций. Речь идет о 142 анимациях, 941 кадре, разделенном на 97 слоев, и все это только у главного героя!

Жоао Эссе, художник и аниматор из Glitch Factory

Хотя вода сама по себе не является объектом, она представляет собой еще один набор трудностей, связанных с обеспечением взаимодействия. Соучредитель Unknown Worlds Макс Макгуайр объясняет, что большинство игроков понимают, как сложно реализовать классную воду в играх, но добавляет, что часто упускается из виду то, как трудно потом убрать воду из тех мест, где она вам не нужна.

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

Макс Макгуайр, соучредитель Unknown Worlds

Как только вы вводите в этот водный мир корабли, подводные лодки, базы или пещеры, то сталкиваетесь с проблемой. Пространство, занимаемое корпусом этих объектов, не должно содержать воды (если только у вас нет утечки!) и должно быть вырезано из объема воды. Часто для каждой из взаимодействующих с водой систем используются разные подходы. Для игрового кода может быть серия проверок, чтобы определить, может ли игрок дышать в своей текущей позиции. Игрок находится внутри объема океана? Он внутри лодки? Лодка тонет? Код, отвечающий на вопрос “Находится ли игрок в воде?”, стал чрезвычайно сложным для реализации в Subnautica.

Макс Макгуайр, соучредитель Unknown Worlds

Как рассказать связную историю

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

news_61f16cd60b7d5.jpg

Арон Ле Брей, бывший нарративный дизайнер в BioWare, рассказал увлекательную историю о трудностях создания игр, подобных Mass Effect. Он говорит, что “отслеживать последствия” – это настоящее испытание. Реализовать, что при событии A или B будет происходить C или D, в большинстве случаев не вызывает проблем, но время от времени случается что-то неожиданное, и все может пойти наперекосяк.

Ле Брей приводит пример решения, принятые в оригинальной Mass Effect, которые вызвали непредвиденную ситуацию в Mass Effect 3. В первой игре большинство игроков встречались с Гаррусом, Рексом и Тали на Цитадели, и те могли присоединиться к Шепарду. Тот, кто не присоединился, позже появлялся на Нормандии и просил принять его в команду, но игроки могли отказаться брать с собой третьего компаньона в этот момент. По его словам, только “крайне незначительное количество игроков” сделало такой выбор.

Для тех же, кто сделал такой выбор, это могло привести к ошибке, которая ломала игру. BioWare смогли ее обнаружить только на очень позднем этапе разработки. Маловероятное стечение обстоятельств, когда Рекс находится в группе на Вермайре, а у Шепарда недостаточно очков Героя или Отступника, чтобы помешать ему атаковать, Лиара не завербована, а Гаррус ранее был отвергнут на Цитадели, а затем убивает Рекса, приведет к тому, что игрок не сможет собрать полный отряда и продолжить игру.

К счастью, мы нашли этот баг до того, как отправили игру в печать… Но вот Зомби Тали мы упустили.

Арон Ле Брей, бывший нарративный дизайнер в BioWare

В Mass Effect 3, незадолго до финальной миссии, могла появиться Тали, несмотря на то, что она была мертва. По словам Ле Брея, этот баг во многом похож на ошибку с Рексом: персонаж проходил определенную невидимую проверку отношений с кварианкой, и сцена показывалась, если он достиг определенного развития отношения с ней, но при этом игра не проверяла, был ли персонаж жив или мертв.

Чтобы столкнуться с этим, игрок должен активно поддерживать роман с Тали в Mass Effect 2 и продолжать развивать отношения в Mass Effect 3, встать на сторону ПРОТИВ Тали и ее расы (кварианцев) и наблюдать, как она уходит, а затем НЕ завязать роман с любым другим персонажем. Позже мы исправили это в патче, но все равно выпустили игру с этим багом.

Арон Ле Брей, бывший нарративный дизайнер в BioWare

Проблема с повествованием, связанная с выбором игрока, возникла и у разработчиков The Elder Scrolls Online. Основным элементом дизайна игры было требование, чтобы игрок мог “изменять мир”. Мэтт Фирор, директор студии ZeniMax Online, приводит пример. Игрок сталкивается с деревней, которая находится под атакой и объята пламенем, и у него есть два выбора: помогать жителям или нет. Для этого им пришлось сделать две разные версии одной и той же деревни – одну для игроков, которые помогли, и одну для игроков, которые этого не сделали.

news_61f16e2024312.jpg

Во время тестирования эта система работала прекрасно, но когда игру выпустили, все быстро пошло не по плану.

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

Мэтт Фирор, директор студии ZeniMax Online

По словам Фирора, команде пришлось вернуться к каждому квесту, в котором использовалась эта механика – а в то время их было более сотни! – и реструктурировать их так, чтобы влияние игрока было снижено. Некоторые из них все еще остаются в игре, в основном в стартовых зонах, где игроки с меньшей вероятностью будут собираться в группы. Но весь процесс исправления этой проблемы занял у команды The Elder Scrolls Online больше года.

Системы, основанные на выборе, – не единственные места, где повествование и текст могут создавать проблемы. Продюсер Harebrained Schemes (серия Shadowrun, BattleTech 2018) Джей Си Лау ответила на вопрос о простых, но сложных вещах, сказав:

Я хочу выделиться в этом вопросе и просто сказать “вывод одной строки текста на экран”, потому что как человек, который работает с UI/UX, повествованием, удобством и локализацией, могу заверить, что это никогда не бывает таким простым и очевидным, как вы думаете.

Джей Си Лау, продюсер Harebrained Schemes

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

Когда я работала над Battletech, у пакета шрифтов, который мы использовали для русского языка, по какой-то причине были все символы на два пикселя выше, чем символы на латинице, и этого было достаточно, чтобы они ломали свои текстовые поля, а русский текст просто не отображался. Мы долго ломали голову, почему это происходит, пока UI-дизайнер не посмотрел и не сказал: “Да это потому, что этот шрифт чуть выше английского, потому что… ну, потому что”.

Джей Си Лау, продюсер Harebrained Schemes

Именно из-за таких мелочей, по ее словам, обеспечение качественной локализации может вызвать ряд проблем.

Когда я работала над локализацией в Xbox, то при разворачивании списка друзей появлялось небольшое всплывающее окно с надписью “Socialize with your friends” (“Общайтесь со своими друзьями”), побуждающее людей использовать список друзей. На польском языке это было переведено как “Поддержите социализм с друзьями”, что, к счастью, мы заметили.

Джей Си Лау, продюсер Harebrained Schemes

news_61f16f857d566.jpg

Джей Си Лау не одинока в своем мнении относительно сложностей с локализацией. Джо Мирабелло, директор Terrible Posture Games (динамичный шутер Mothergunship), назвал перевод “обманчиво простым”, сославшись на проблемы, начиная от каламбуров, которые теряются при переводе на другие языки, и заканчивая проблемами с разной длиной слов в разных языках.

Обычно заблаговременное планирование помогает, но ничто не подготовит вас к немецкому. Немец разрушает ваши лучшие планы. Немец победит тебя. Вы думали, что это текстовое поле будет нуждаться только в одном слове из 10–20 символов? Неа. В немецком языке для этого есть уникальное слово, состоящее из ста двенадцати символов. У нас в команде даже есть немецкий разработчик, но он отказывается переводить наши игры на немецкий язык. Все это, конечно, сказано в шутку, просто для того, чтобы проиллюстрировать точку зрения, и это проблема; какую гибкость масштабирования вы запланировали в своем пользовательском интерфейсе с учетом локализации? Этого не достаточно. Этого всегда недостаточно.

Джо Мирабелло, директор Terrible Posture Games

Продолжение следует...

Источник

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