Gamedev Андрей Верещагин
5 237

Компьютерная помощь: как технология машинного обучения может повлиять на игровую индустрию

Использование в разработке и аналитике.

В закладки

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

Основатель компании-разработчика мобильных игр Playgendary Дмитрий Шеленговский в колонке для DTF рассказал, как машинное обучение применяется в игровой индустрии и как может изменить её в ближайшем будущем.

Типы машинного обучения в геймдеве

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

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

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

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

Машинное обучение в игровом бизнесе демонстрирует пользователям релевантную индивидуальную рекламу, формирует цены на внутриигровой контент и так далее. Пример: система изучает влияние различных игровых факторов на ключевые с точки зрения бизнеса метрики (retention, engagement, LTV) и самостоятельно настраивает их таким образом, чтобы они приблизились к оптимальным. Другими словами, система сама настраивается таким образом, чтобы оставаться прибыльной и не растерять аудиторию.

К бизнесу приходит понимание, что на машинном обучении в играх можно зарабатывать. Причём зарабатывать не только внедряя его в игры, но и обучая людей игре. Недавно небольшой ИИ-сервис Gosu.ai, помогающий научиться играть в Dota 2, PUBG и CS:GO привлёк 1,9 миллиона долларов от крупных венчурных фондов.

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

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

Наиболее популярными технологиями машинного обучения в геймдеве являются обучение с подкреплением, имитационное обучение и обратное обучение с подкреплением.

Обучение с подкреплением (Reinforcement Learning) — один из способов взаимодействия, в ходе которого испытуемая система (агент) обучается, взаимодействуя со средой. Если упростить, то работа строится по принципу «дают — бери, бьют — беги», получая после каких-либо взаимодействий со средой либо урон, либо награду.

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

В качестве примера можно привести кейс DeepMind, экс-подразделения Google, разработчики которого научили ИИ играть в Quake III Arena примерно таким же образом, как это делает человек. Для обучения использовалась система с подкреплением.

Machine Learning способствует появлению новых ниш в геймдеве. Например, алгоритм может проходить игры за человека. В какой-то степени это реализовано в системе контроля автомобилей оппонентов Drivatar в игре Forza Motorsport 5, которая собирает данные о том, как водят другие люди, анализирует их, а затем создает игроку оппонентов, стиль вождения которых похож на стиль других участников игровой вселенной.

Имитационное обучение (Imitation Learning). В этом случае алгоритм не управляет агентом, а наблюдает за тем, как взаимодействуют со средой другие агенты (человек или алгоритм). Он учится на их опыте. Этот подход работает как для обучения беспилотных автомобилей, так и для улучшения качества действий ботов в играх.

Обратное обучение с подкреплением (Inverse Reinforcement Learning). В этом случае наблюдение ведётся за внешним агентом с целью понять, какая у него целевая функция. Условно говоря, машина пытается понять, какую именно цель преследует человек, играя в Need for Speed: победить в гонке или красиво разбить машину.

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

Роботы к успеху идут: кейсы и примеры внедрения

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

Прогресс заметен. К примеру, в 2017 году ИИ от OpenAI мог играть в Dota 2 в режиме 1х1 против профессиональных игроков, но имел ряд уязвимостей, которые киберспортсмены использовали для победы над машиной. За год всё изменилось: 5 августа 2018-го пять ботов OpenAI победили команду профессионалов со счетом 2:0. Боты действовали как одна система — слаженно и синхронно.

На обучение первой модели ИИ затратили восемь petaflops-days, а для последней — уже 190 petaflops-days. Чтобы достичь этих результатов OpenAI лишь на вычислительные ресурсы тратит больше миллиона долларов в месяц.

Один из кейсов использования ИИ и машинного обучения в играх был представлен Valve Corporation еще в 2012 году. Тогда разработчики показали, чего можно добиться от игровых персонажей, ведущих диалог с протагонистом, если привлечь ИИ. Компьютер анализирует паттерны поведения пользователя в игре, данные его учетной записи и строит диалоги игровых персонажей на базе результатов анализа. Кроме того, игра запоминает ответы самого протагониста, способ ведения диалогов и строит дальнейшие линии коммуникации с ним соответствующим образом.

Машинное обучение используется и в околоигровой сфере, например, для управления контентом трансляций Twitch в реальном времени. В качестве примера можно привести технологию AutoMod — она позволяет эффективно фильтровать неприемлемое и агрессивное поведение пользователей в чатах Twitch, снимая с модераторов основную часть нагрузки.

Проблемы машинного обучения в геймдеве

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

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

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

Необходимость создания инфраструктуры. Вся связка «клиент-сервер» со всеми сопутствующими затратами очень ресурсоёмкая.

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

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

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

#технологии

{ "author_name": "Андрей Верещагин", "author_type": "editor", "tags": ["\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438"], "comments": 21, "likes": 51, "favorites": 44, "is_advertisement": false, "subsite_label": "gamedev", "id": 25618, "is_wide": false }
{ "id": 25618, "author_id": 22254, "diff_limit": 1000, "urls": {"diff":"\/comments\/25618\/get","add":"\/comments\/25618\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/25618"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954 }

21 комментарий 21 комм.

Популярные

По порядку

Написать комментарий...
6

приведёт к появлению большого количества сравнительно обеспеченных людей со свободным временем

Ага. Если только введут систему безусловного дохода

Ответить
3

Это, конечно, любопытная технология и небезынтересная статья.

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

А оправданный ML в геймплее, ботах, диалогах и т.п. – это все неопределенное будущее от "когда VR выстрелит" до "когда ад замерзнет". И то, что Valve делает чисто по-приколу (и по-пиару) к остальным не относиться.
Ну и пример с Gosu.ia такой себе, если честно.

Ответить
1

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

Ответить
1

У автотестов и машинного обучения по большей части разные роли и задачи.

Ответить
1

Если банальные технологии еще не внедрили, странно думать о том, что игры будет тестировать ИИ.

Ответить
0

Тут про тестирование без явных тест-кейсов, скорее всего.

Не из разряда "могу ли я прыгать".

Ответить
1

С учётом накладных расходов на расчёт мл модели в выигрыше смогут быть только владельцы "наитопейших" пк.. Ну и их продавцы, конечно)

Ответить
1

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

Ответить
1

База мл и большая часть алгоритмов разработана 40-60 лет назад. Эйдж в хайповости. А так скукотень та ещё)

Ответить
0

Так-то без разницы. Пару лет назад каждый второй разработчик уговаривал продактов впилить хоть немножечко AI/ML/CV, ну хоть куда-нибудь, ну позязя. Очень хотелось поработать с этим (желательно за зарплату). Сейчас, вроде, поспокойнее стало.

Ответить
1

В машинном обучении - главное что? Правильно ! Человек ! Который поставит этим алгоритмами задачу.

Про глубину проработки диалогов в игре - я честно сказать ... Посмеялся. Учитывая текущие тренды на кооп, и уход от синглплеера- то этого не будет. Максимум будет развитие технологии подгонки раскрытия рта под язык озвучания. Но эта технология ещё в Скайриме была.

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

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

Ответить
1

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

Ответить
0

I know this feel bro

Ответить
0

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

Примерно так это уже работает. По-крайней мере на конференциях зачастили с докладами про ML в персонализации офферов.

Ответить
1

Статья интересная, стимулирует фантазировать на тему других применений ML в геймдеве :) Главное вовремя! Как раз под выход RTX с её Tensor ядрами и DLSS.

Единственный момент: осознал, что очень привык к простому и живому языку статей на ДТФ, и не ожидал вдруг спотыкнуться об:

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

Ответить
0

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

Ответить
0

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

Ответить
2

Ага. Зато имитировать живых игроков – без проблем. Особенно в Дотке: случайно выбираешь из списка: "факю","мамку твою ебал","крабы тупые" – и никто от живого не отличит.

Ответить
0

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

Ответить
0

А почему у этой статьи нет аудиоверсии?

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
EA анонсировала DLC для DLC
для аддона для спин-оффа
Подписаться на push-уведомления