21.06.2024

Миссия IO Interactive по ускорению разработки игр | GI Sprint

Когда Улас Карадемир последний раз работал в IO Interactive, это был датский разработчик игр, принадлежавший Square Enix, который создавал Hitman.

Он ушел в 2014 году и с тех пор занимал множество руководящих должностей в Unity, прежде чем присоединился к соучредителю Crytek Джевату Йерли, чтобы создать движок для распределенной разработки (RealityOS).

Теперь он вернулся в IO на должность технического директора компании, и он пришел в совершенно другую компанию. Сейчас она независимая, с офисами в Мальмё, Барселоне, Стамбуле, Брайтоне и Копенгагене, и работает над многочисленными проектами, включая Hitman, фэнтезийную игру и проект про Джеймса Бонда.

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

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

'Дешевле, быстрее, лучше' — это, по сути, слоган для нашей новой редакционной серии GI Sprint. А для Карадемира это во многом сводится к возможности быстро итерационно работать, тестировать и пробовать снова.

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

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

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

Большая часть этого заключается в создании инструментов, которые могут ускорить и автоматизировать часть процесса.

"[Думайте об этом, как будто у вас была отвертка, а теперь у вас дрель," объясняет он. "Если вы плотник, вы покупаете действительно хороший инструмент, который надежен и долговечен для вашего ремесла. Но если это хобби, вы этого не сделаете. С точки зрения инструментов, как только вы начинаете делать одно и то же снова и снова, вы начинаете инвестировать в инструменты, чтобы получить лучшее качество. Это не обязательно дешевле, но быстрее, потому что вы создаете эту экспертизу в производственных конвейерах.

"IO занимается этим уже 25 лет. Здесь много знаний. Что делает производство эффективным, так это то, насколько вы учитесь на своем прошлом и своих неудачах".

Он добавляет: "Это принцип Бойда: скорость итерации побеждает качество итерации".

Карадемир говорит, что идея полной автоматизации разработки игр нереалистична, потому что без взаимодействия с людьми, которые используют инструменты, как можно узнать, что нужно и что требует улучшения?

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

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

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

Собственная технология и движок IO позволяют полностью сосредоточиться на потребностях их игр, включая Hitman

Это подводит нас к преимуществу, которым обладает IO Interactive, а именно к их движку Glacier, который Карадемир помог разработать во время своего первого пребывания в IO. Компания может очень четко сосредоточиться на создании движка и инструментов, специфичных для своих индивидуальных нужд.

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

"Одной из крупнейших проблем с Unity и Unreal является то, что они постоянно пытаются расти. А рост означает, что они постоянно добавляют новые функции, потому что хотят привлекать новые типы пользователей. Это заканчивается загрязнением движка с точки зрения функций. Если вы посмотрите на верхнюю панель, вы увидите множество функций, и у них так много сценариев использования. И теперь они также создают для промышленной дигитализации, так что им нужно это поддерживать. И вдруг у вас появляется этот огромный код, и, возможно, кто-то использует лишь 40% или 30% из него, но вам нужно убедиться, что он стабилен и не падает.

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

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

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

"Когда следует создавать собственную технологию, это когда вы пытаетесь сделать что-то уникальное. Где есть какие-то инновационные новые игровые механики, которые раньше не делались".

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

Для некоторых студий имеет смысл использовать существующие технологии, такие как Unity и Unreal, и затем строить на их основе. Но у этого подхода есть недостатки.

"Часто люди берут движок Unity или Unreal, делают плагины и строят на их основе. Они вносят множество изменений в редактор или движок. Но это значит, что они застревают на старых версиях движка в процессе производства. У нас нет старых версий. У нас один движок. У нас нет релиза 2.0, мы просто обновляем наш движок каждый день в зависимости от наших потребностей."

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

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

"Мы должны быть более платформенно-инженерными, мыслящими в стиле dev ops," он объясняет. "Поэтому нам нужно адаптироваться к новым инструментам, таким как новые ИИ-инструменты, чтобы помочь нам автоматизировать повторяющуюся работу. Я хочу внедрить ИИ в написание тестов, например. Написание тестов для компании-разработчика игр раздражает, потому что всё всегда меняется. Это на 100% необходимо для компании, предоставляющей ПО как услугу (SaaS), и теперь, когда мы переходим на живую службу, нам нужно научиться работать со склад уma, присущим SaaS, и с инженерной точки зрения тоже."

Действительно, Карадемир заключает, что в ИИ явно есть возможности в плане его способности устранить ненужную повторяющуюся работу из процесса разработки.

"Такие вещи, как анализ исследований, анализ кода, автоматизация тестирования... с ИИ может произойти многое," он говорит нам. "И вокруг этого много стартапов. Это очень интересная область.

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

Комментарии
Добавить комментарий
Новости по теме