Игры на заказ: как ИИ поможет создавать проекты на основе желаний пользователей Материал редакции

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

В закладки

Исследователь ИИ и доцент в Университете Альберты Мэттью Газдайал рассказал изданию Time о своей работе над искусственным интеллектом, который сможет самостоятельно разрабатывать игры. При этом в планах находится программа, которая создаёт проекты отталкиваясь от желаний игрока. Мы выбрали из текста главное.

​Одна из игр, созданных ИИ Газдайала

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

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

В игре можно наблюдать абсолютно за всеми условиям, в то время как в реальном мире это почти невозможно.

Самое главное, что у него [алгоритма] есть поощрение. У него есть разделение на: «Ты справляешься» и «Ты не справляешься». Создать такое в жизни крайне сложно.

Мэттью Газдайал
исследователь ИИ и доцент в Университете Альберты

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

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

Пример игры, созданной ИИ

Чтобы обучить ИИ создавать собственные платформеры в стиле, например, Super Mario Bros., Газдайал и его команда обучали алгоритм на видеозаписях прохождения разных игр. После просмотра роликов алгоритм пытался угадать правила игры, а затем проверял свои догадки, просматривая видео ещё раз. Когда он усваивал правила игры, он пытался создать новые уровни, на которых правила будут работать.

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

Мэттью Газдайал
исследователь ИИ и доцент в Университете Альберты
Как ИИ может помочь (или помешать) создать уровень

Алгоритм использует данные из графа, чтобы спроектировать уровень и воспроизвести всё то, что он «видел». Например, в одном случае алгоритм попытался объединить Mega Man и Super Mario Bros., чтобы создать что-то новое.

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

Мэттью Газдайал
исследователь ИИ и доцент в Университете Альберты

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

По словам Газдайала, его цель заключается вовсе не в том, чтобы заменить разработчиков игр. Он надеется, что его работа поможет уменьшить порог входа для тех, кто хочет создавать игры. Игроки даже без знания кода смогут разрабатывать собственные уровни — достаточно лишь придумать набор правил, на основе которых будет работать игра. Некоторые подобные конструкторы стали довольно востребованными среди пользователей. Например, Super Mario Maker от Nintendo пользуются большим успехом у фанатов серии.

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

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

[Сейчас] мы вносим последние изменения в интерфейс, а затем собираемся запустить исследование, чтобы выяснить, на правильном ли мы пути.

Мэттью Газдайал
исследователь ИИ и доцент в Университете Альберты

ИИ делает прогноз, игрок даёт обратную связь, ИИ вносит коррективы.

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

{ "author_name": "Владимир Семыкин", "author_type": "editor", "tags": ["\u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0435\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435","\u0438\u0438"], "comments": 30, "likes": 12, "favorites": 62, "is_advertisement": false, "subsite_label": "gamedev", "id": 102182, "is_wide": true, "is_ugc": false, "date": "Thu, 13 Feb 2020 14:19:44 +0300", "is_special": false }
0
{ "id": 102182, "author_id": 94357, "diff_limit": 1000, "urls": {"diff":"\/comments\/102182\/get","add":"\/comments\/102182\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/102182"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }
30 комментариев
Популярные
По порядку
Написать комментарий...
10

Я только ради этого сюда и зашел

Ответить
0

Придёт время и ИИ сделает такую игру. Может лет через 100, но так и будет!

Ответить
0

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

Ответить
8

Настала эпоха!

Ответить
2

Почти готово.

Ответить
0

Идея, берем немного зельды, пепер марио, кунио-куна, графику как в комиксах и сюжет как в портал

Ответить
2

Юбисофт придумали.

Ответить
–2

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

И вот вам, вроде бы, инди-автор. А на самом деле менеджер который сшивает чужой код с чужим артом.

Ответить
1

 Берётся чужой графический движок. Огл, дх.

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

Ответить
0

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

Ответить
6

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

Ответить
0

Ну называть систему рендера, движок и базовые ассеты это уже перебор

Жопой не читаем.
Я об этом и пишу. В 90х было нормой, а в 2020 давно пребор, давно все на готовом.

Ответить
0

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

Ответить
0

понахватавшись умных слов, не понимаете их значения

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

Зато я дал негативную оценку тому, что вы, сударь

А я тебе свою даю, ещё более негативную. Сударь, понимаешь!

Ответить
0

Вот бы в двадцать-двадцать говорить вместо "движок" - "стандарт апи, драйверы с поддержкой плюс набор библиотек и тулкитов".

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

Ответить
0

Между нами большая разница в том, что

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

отличить движок от спецификации

Ок, ок, ты умница что все термины выучил. Молодец.

Ответить
0

а ты и понять не можешь в чём его соль.

Откуда инфа? Я тож там спрошу, мож ещё что нового узнаю...
 все термины выучил

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

Ответить
0

не использовать слова, значения которых не знаешь

Ты как школьник который вчера выучил новый термин и теперь бегает всем рассказывает "это вот так правильно называется".

Откуда инфа?

Ты не очень то умён, да? Инфа из стартового поста ветки. Я там поднял вопрос о пути разработчика и идее полного заимствования кода и арта. И тут выскакивает ребёнок и начинает весело бегать с "огл не так называется". Не замечаешь например что вопрос вообще о другом? Кто детей сюда пускает вообще.

Ответить
0

который вчера выучил новый термин

и пытается лепить его во все места подряд (это про тебя, если что)
Ты не очень то умён, да?

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

Ничего про то, как OpenGL называется, если вы, сударь, не заметили, я не говорил. Я лишь обратил ваше внимание на то, что вы пишете бессмыслицу.

Ответить
0

Понимаю что ты обижен и изо всех сил хочешь что-то мне доказать. Но повторю тебе снова - стартовый пост ветки не про это.
Не про это.

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

Ответить
0

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

Ответить
0

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

На основании одной фразы, ага.
То есть буквально по двум-трём словам ты понял обо мне всё.
Упорство, достойное настоящего шиза.

Ответить
2

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

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

Ответить
1

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

Ответить
0

А можете привести пример настоящего автора?

Читай внимательнее.
Я пишу что их нету в 2020. Одни менеджеры остались, сшивающие чужой код с чужими спрайтами-моделями.
В 80х наверное были, всякие Мехнеры с Мейерами. А сегодня нет.

Ответить

Комментарий удален

0

А если игрок не знает, что он хочет, то ИИ создаст непонятно что

Ответить
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": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovz", "p2": "glug" } } }, { "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, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "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": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "chvjx", "p2": "ftwx" } } }, { "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" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbl", "p2": "gnwc" } } } ] { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwcm9qZWN0SWQiOiI1ZTRmZjUyNjYyOGE2Yzc4NDQxNWY0ZGMiLCJpYXQiOjE1ODI1MzY0Nzd9.BFsYFBgalfu_3oH9Fj-oBhiEgVx976VQfprRahAELFQ", "release": "3c305b26" }
{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }