Украинский программист в Париже делает офлайн-игру с настоящим искусственным интеллектом

5612
5

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

И если 10 лет назад на выбор давали 20 вариантов ответа — была хоть иллюзия отыгрыша — то сейчас держи колесико “Да”, “Нет”, “Сарказм” и не жалуйся. Украинский программист и гейм-дизайнер Сергей Мохов основал во Франции инди-студию Ocelot Society: он с командой делает игру, которая может все это изменить.

Additional_barrel

Над космическим приключением Event[0] сейчас работают бывшие сотрудники Ubisoft (компания, создавшая Assassin’s Creed и Watch Dogs), Amplitude Studios, Tequila Works. Главная фишка игры, вдохновленной “Космической Одиссеей” Кубрика: вы можете общаться с другими NPC. Не перебирая варианты реплик в диалоговом окне, а буквально печатая все, что придет в голову, в чат.

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

Как родилась команда

Сергей увлекался играми с самого детства: первый компьютер у него появился в 6 лет. В 10 лет понял, что хочет создавать игры сам. Уже учась в школе, расспрашивал у торговцев пиратскими СD на Лукьяновке, в какой программе можно делать игры. Когда нужно было выбирать, какой язык учить — немецкий или французский — просто подсчитал, в каких странах — немецкоговорящих или французскоговорящих — больше игровых компаний. Потом поступил в КПИ, параллельно работал игровым журналистом, делал собственные игры на тогда еще недавно вышедшем движке Unity. Игра для “айфона” под названием Dedale даже принесла создателю какие-то деньги.

После окончания КПИ Сергею предлагали неплохие варианты трудоустройства. Например, звали в украинский офис Crytek. Но он решил, что сначала нужно выучиться гейм-дизайну. На тот момент (2012 год) в Украине не было магистерских программ по игровому дизайну, так что решил поступать за рубеж. Знакомые посоветовали Национальную школу интерактивных медиа и видеоигр, что в Ангулеме. Во Франции есть возможность учиться бесплатно, это сыграло ключевую роль в выборе вуза.

Во время обучения Сергей собрал команду из 10 человек, которая работала над выпускным проектом — игрой о космосе. Проект успешно защитили, но работа над ним не заглохла и после выпуска. На тот момент Сергей и его коллеги по выпускному проекту уже работали в известных игровых студиях: Ubisoft, Amplitude Studios, Tequila Works. Но как только появилась возможность, точнее — деньги для разработки, они решили снова соединиться в команду.

event2

Половину денег, необходимых для создания игры, дал Французский национальный центр кинематографа и мультимедиа — это государственный грант. Еще половину удалось получить от частного инвестора. При этом новосозданная студия Ocelot Society не делилась долей в компании, основатели обязались выплатить инвестору часть прибыли с продаж игры.

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

Как родилась идея игры

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

Тогда команда посмотрела на диалоги в играх: как это обычно делается в индустрии. “Есть проблема с диалогами: все они написаны писателями, игрок может просто выбрать вариант А или Б, его персонаж всегда говорит что-то заранее написанное. Мы посчитали, что это довольно грустная ситуация и что игроку хотелось бы больше участвовать в истории”, — рассказывает Сергей.

event1

Уже были попытки “оживить” диалоги: в Facade игроку предлагалось общаться с NPC, как с живыми людьми в чате, но почти сразу же ИИ сбоил с ответами и можно было догадаться, что по ту сторону — робот. Это приводит к тому, что игрок не погружается полностью в мир игры, его вышибает оттуда искусственность происходящего. Похожим образом действуют чат-боты на сайтах знакомств: вы думаете, что общаетесь с живым человеком, но довольно быстро бот заваливает “тест Тьюринга”, невпопад комментируя вопросы.

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

spaceosissey

Схема “игрок общается со сломанным компьютером в космосе” не могла не напомнить о “Космической Одиссее”. Фильм Кубрика Сергей называет в числе главных вдохновителей игры. Ее решили делать в стиле ретро-футуризма, а игрока поместить на безлюдный космический корабль “Наутилус”, чтобы общаясь с ИИ, он мог понемногу раскрывать историю корабля, узнавать, что на нем случилось.

Как в игре работает ИИ

Технология работы ИИ создается командой полностью с нуля. Цель искусственного интеллекта в игре — провести “обратный тест Тьюринга”. Игрок изначально знает, что перед ним компьютер, но ближе к концу игры разработчики хотят привязать игрока к компьютеру эмоционально, заставить относиться к нему как к личности, как к человеку с характером. Как это реализуется?

У компьютера-героя игры есть матрица 3Х3 возможных состояний, которые измеряются по двум осям “любовь-ненависть” и “стресс-доверие”. Все, что происходит в игре — это события (events) и они дают ИИ контекст того, что происходит. Также у ИИ есть два типа памяти: кратковременная и долговременная. Как это работает? К примеру, игрок просит ИИ открыть дверь в комнату. Начинается событие “дверь”: ИИ понимает, что все, сказанное сейчас, имеет отношение к двери. Затем дверь открывается, видна комната, наполненная другими объектами. Если игрок заговорит о стуле в комнате, начнется событие “стул”.

Кратковременная память ИИ запомнит содержание последних пяти фраз, так что, если игрок сначала спросит: “Зачем здесь стоит стул?”, а потом “Почему он красный”, ИИ поймет, что речь все еще о стуле.

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

ИИ “понимает”, о чем речь, благодаря системам input и output. Когда игрок пишет текст в чате, он анализируется по тегам (они отражают видово-родовые отношения объектов, т.е. к примеру, объекты “стул”, “стол”, “шкаф” будут объединяться по тегу “мебель”). То же касается прилагательных, глаголов и т.д. Исходя из информации из тегов, а также эмоционального состояния ИИ на данный момент, компьютер будет формировать ответы.

Готовых ответов в базе данных ИИ нет, персонаж будет создавать фразы из кусков фраз и отдельных слов, ориентируясь на контекст. У одной фразы-ответа может быть до 100 вариантов. “Эту игру невозможно пройти одинаково, даже если вы будете писать все время одно и то же. Все это будет создавать иллюзию того, что вы говорите с реальным персонажем”, — говорит Сергей.

От общения игрока с ИИ будет зависеть концовка игры (их будет множество). Как это все выглядит на практике?

Допустим, игроку нужно выйти в космос, чтобы добраться до другой части корабля. Нужно попросить компьютер открыть дверь. Если он настроен к игроку нейтрально, он может ответить, к примеру, так: “Я бы с радостью, но я не уверен, что ты вернешься. Ты же не хочешь, чтобы я здесь остался один и разговаривал сам с собой”. После этого игроку нужно убедить компьютер разрешить ему выйти. У любой игровой ситуации много путей решения. В этом случае можно наговорить компьютеру гадостей, он обидится, выпустит игрока в космос и запрет за ним дверь. У игрока запас кислорода в скафандре — на пару минут, так что придется уговаривать его опять открыть двери.

Но при всем этом игра — не хардкорная, она про историю — о том, что случилось на корабле. Здесь можно умереть, но нужно сильно постараться, говорит Сергей.

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

Оставить комментарий

Комментарии | 5

Поиск