«Мне хочется верить!»
х/ф «Секретные материалы»
Настоящие мастера могут создавать очень сложных, многопрограммных, самообучающихся дублей. Такого вот супера Роман отправил летом вместо меня на машине. Дубль великолепно вел мой «Москвич», ругался, когда его кусали комары, и с удовольствием пел хором. Вернувшись в Ленинград, он развез всех по домам, самостоятельно сдал прокатный автомобиль, расплатился и тут же исчез.
А. и Б. Стругацкие, «Понедельник начинается в субботу»
В этот час программисты Денис Потапов и Алексей Дробышевский сидели в столовой офиса, доканчивая обед. Программисты, по своему обыкновению, гоняли персонажей, а где был Александр Соболев — неизвестно. Но судя по тишине, доносившейся с балкона, можно было допустить, что
— А что это за шаги такие на лестнице? — спросил Потапов, поигрывая ложечкой в чашке с черным кофе.
— А, это из ЛКИ к нам смотреть P.H.A.S.E of Resurgence идут, — ответил Дробышевский и выпил из стакана с чаем.
— А, ну-ну, — ответил на это Потапов.
Подымающийся по парадной лестнице журналист был тем временем уже на площадке верхнего этажа в доме по Садовой, «триста два-бис». Знаменитая «нехорошая квартира» № 50, где когда-то обитал Воланд со свитой, располагалась в соседнем подъезде. Но и здесь, у порога Sibilant Interactive, чувствовалось соседство с чем-то странным и невероятным...
Небелковая жизнь
Невероятным — в самом прямом смысле. Как только я узнал о P.H.A.S.E of Resurgence, «интеллектуальном квесте» от молодой компании Sibilant, то сразу почуял сенсацию.
А именно... Перед нами замкнутое техномагическое городское сообщество, в котором каждый NPC живет своей жизнью — спит, ест, общается, ходит на работу или на охоту в ближайший лес. Но это не просто расписание, как в TES IV: Oblivion, не просто скопление роботов с маршрутами «работа-дом». Тут под каждой электронной черепушкой бьются цифровые мозги, которые тщательно анализируют потребности, возможности, цели и пути их достижения и самое главное — информацию. Для начала — что где лежит. Кому из NPC можно верить, а кому — нет. Или кто нравится, а кто — не очень, ведь у персонажей есть и вкусы, и личные пристрастия, и склонности.
В этот замкнутый мир по сюжету попадает игрок, магически вселяясь в рядового горожанина. Другой горожанин, доселе мирный обыватель, ныне одержим врагом, который строит нам козни, вредит, мешает выполнить задание миссии и может даже попытаться убить. Но вначале два соперника не знают друг друга в лицо и могут лишь косвенно попытаться угадать, предположить — под чьей личиной скрывается противник. Тут и вступает в действие ценная информация. Любые странные действия, попытки совершить колдовской ритуал и необычное поведение могут быть зафиксированы свидетелями... По городу идут слухи: «Наш булочник бродил по лесу среди ночи!» — сведения доходят до соперника и влекут за собой последствия. Способы отвлечь внимание от себя, конечно, тоже есть — например, того же булочника можно заколдовать, сделать так, чтобы он послушно выполнял волю мага. Исход зависит не от того, кто имеет под рукой больше заклинаний, а от того, кто окажется хитрее и внимательнее — игрок или цифровой интеллект.
Неправдоподобно смелая заявка. Что скрывается за ней? В состоянии ли разработчики осилить задумку?
Фаза подготовки
Я позвонил в дверь булгаковского дома по «Садовой триста два-бис»,
К сожалению, потрогать игру руками или даже увидеть ее я не мог — на тот момент альфа-версия еще не была собрана: трудились моделлеры, собирая и раскрашивая персонажей по рисункам художников, работали специалисты по архитектуре, а программисты гоняли архетипы героев по схематическому городу... Чтобы дать представление о том, как будет выглядеть игра, Александр Соболев, раскрыв секретные закрома художников, продемонстрировал концепт-арты — персонажей, архитектуру и внутреннее убранство зданий.
— Да это же викторианская Англия! — воскликнул я.
— Девятнадцатый век минус техника плюс магия, — заметил Александр и продемонстрировал изображение загадочных кругов явно магического назначения. — А это круги Силы, в которых игрок или другой маг может выполнять магические ритуалы. Через ритуалы игрок или его противник смогут получить союзников, ценные в бою артефакты. Поскольку у нас игра — детективная, то магия частично будет предназначена и для получения информации. С помощью ритуала можно взглянуть издали на подозрительного NPC, принудительно разговорить его, а то и заставить невинную жертву безвольно выполнять приказы.
— Но почему именно такая магия? Почему нельзя колдовать, допустим, дома?
— Это сделано для того, чтобы ритуалы труднее было скрыть. Так аватарам придется хитрить, таиться и изобретать способы не попасться на колдовстве, чтобы сохранить инкогнито.
— А сколько всего будет миссий в кампании?
— Семь сюжетных миссий, каждая ограничена по времени — от четырех до десяти игровых дней. Это примерно от трех до восьми часов реального времен.
— И все время миссии игрок проводит в шкуре одного из горожан среди скольких NPC?
— Мы планируем что-то около тридцати персонажей на миссию. Притом каждая миссия будет уникальна с самого начала — при генерации будет варьироваться темперамент NPC, их отношения внутри сообщества и даже положение точек сосредоточения магической силы и артефактов. Поэтому способ выполнения задания каждый раз будет меняться. Это даст игре полную нелинейность в рамках отдельных миссий. Но даже в полностью нелинейной миссии события будут развиваться по фазам. На каждую фазу отводится день. В названии игры сокращение P.H.A.S.E расшифровывается как Prepare (подготовка), Hide (скрытность), Analyse (анализ), Seek (поиск) и Engage (собственно бой). Игрок исследует территорию, собирает вещи и ингредиенты для ритуалов, маскируется в обществе, проводит ритуалы, подслушивает разговоры, выявляет союзников и врагов — и в конце вступает в бой. Или не вступает, если находит другие способы выполнить задание.
— Кроме сюжета, будут ли еще какие-то игровые режимы?
— Да, в игре будет несколько «свободных» миссий, где игрок сможет сам выбрать себе задание, вселиться в нескольких персонажей на выбор — и экспериментировать. Если в NPC вселяются сразу несколько игроков, то получается многопользовательский режим. При этом правила остаются теми же — игрокам необходимо выполнить задание и попутно очень осторожно разузнать, кем из персонажей играет соперник, не выдав себя при этом.
— Но как вообще можно перепутать искусственного и настоящего персонажа? Они ведь даже двигаться будут по-разному?
— У игроков будут способы замаскировать свое управление NPC, — ответил Соболев.
— Уж не идет ли речь об онлайновом воплощении игры в мафию? — спросил я. — Наступила ночь, открыл глаза Маньяк...
— Да, определенное сходство есть, — кивнул Соболев.
Звездные умы |
Существуют игры, в которых персонажи ведут себя убедительно и выглядят на первый взгляд как живые противники со своими потребностями и непредсказуемым поведением, — это ближайшие аналоги концепции P.H.A.S.E of Resurgence. Игровые серии с естественным ИИ, формирующим игровой процесс, я припомню всего две, и обе, что характерно, связаны с космосом. Во-первых, «Космические рейнджеры», в которых население мира вместе с игроком сражается с захватчиками (и попутно обделывает свои разной чистоты делишки). Но там общение и обмен информацией были чисто номинальными — жизнь вселенной больше напоминала изящно задуманную и удачно воплощенную модель экосистемы. Во-вторых, пошаговая стратегия Galactic Civilization, в которой разработчики собирали свою модель ИИ для каждой космической расы. На сложных уровнях тягаться с хитрыми врагами было бесполезно — они не ловились на простые приемы, могли раскусить задумку игрока, а то и просто объединиться против слишком нахального завоевателя, не делая, впрочем, разницы между цифровым и живым игроком. С иезуитством этого ИИ не мог сравниться никакой Master of Orion. Кто-то может вспомнить The Sims или древних Creatures — но поведение норнов и симов не мотивировано, они не соперничают с игроком и друг с другом, а просто оживляют собой игру-песочницу. |
Препарировать электронный мозг
Теперь, когда поднята завеса тайны над тем, как будет происходит сам процесс игры, возникает вопрос — каким образом разработчики создадут разумных компьютерных героев, которые смогут противопоставить человеческому интеллекту свои искусственные хитрости. Одним словом, как будут работать мозги NPC?
— В программировании ИИ используется мультиагентная система и язык нечеткой логики, — говорит Александр Соболев. — Каждый NPC автономен, способен обмениваться информацией с другими в форме инфоблоков. Он может воспринимать состояние окружающей среды, осознает свои цели, первоочередные и вторичные — и способен целенаправленно действовать, чтобы их достигать самостоятельно или с помощью других персонажей. Нечеткая логика используется для распознавания ситуации и для реализации поведения.
— А как устроены информационные блоки, которым обмениваются персонажи — искусственные и живые?
— Информационные блоки одновременно должны содержать структурированную информацию, которой пользуются NPC, — и при этом должны очень легко преобразовываться в привычную для человека речь. Показать информационные блоки в их истинном виде могут программисты.
И мы отправились в святая святых Sibilant — в кабинет, где программисты Денис Потапов и Алексей Дробышевский корпели над цифровым интеллектом. Передо мной открылась классическая база данных.
— Каждое поле — это и есть информационный блок, — объяснил Денис Потапов. — В нем несколько полей — «где», «когда», «кто/что», «кого/что», «что сделал», «при помощи чего». Плюс несколько дополнительных характеристик, относящихся к сообщению: «важность», «достоверность», «условие получения» и скрытая «истинность». То есть если кто-то видит сцену убийства, он получает блок с примерно следующим содержанием: «В полдень на рыночной площади Охотник Крестьянина убил из ружья (это важно, достоверно, я это видел сам)».
— Над вопросом преобразования инфоблока в текст работают специалисты по русскому языку, — добавил Александр Соболев. — Проблем много — и это не только падежи и склонения. Например, блок может быть неполным — если персонаж что-то не разглядел или подзабыл — или не до конца подслушал. Это тоже надо отобразить в сообщении. Вдобавок к этому разные персонажи изъясняются по-разному — например, священник и крестьянин скажут об одном и том же разными словами.
— То есть инфоблоки могут со временем «портиться», если персонаж забывает детали? — спросил я.
— Ну, положим, сцену убийства забыть не так просто, а детали какого-то малозначительного разговора вполне могут вылететь из головы персонажа, — пояснил Соболев. — Кроме того, враг или NPC могут попросту солгать, если это в его интересах. Не только игрок способен пускать «дезу». Беседовать с NPC игрок будет при помощи специального конструктора фраз — то есть игроку не придется вводить тексты с клавиатуры, как это было в старых квестах. Кроме того, в распоряжении игрока будет журнал, куда автоматически заносятся все инфоблоки, которые он получает тем или иным способом.
— А вот так мы в данный момент работаем с самими персонажами, — сказали программисты и открыли отладочную программу.
На экране появилась схематическая карта деревни, по которой передвигались загадочные квадратики, обозначенные буквами.
— Это жилые дома, здесь бар, церковь — а это лес, где бегают кролики, — пояснил Алексей Дробышевский. — Да, кролики обозначены крестиками. Нет, они не размножаются в экологическом смысле этого слова.
Охотник ловко преследовал крестовидных кроликов и обездвиживал их. Убив нескольких, он немного постоял на месте, размышляя, и отправился в деревню.
— Охотник идет в бар, чтобы сдать убитых кроликов бармену и заработать денег. — сказал программист. — Ему нужны деньги, и он знает, что сданные кролики могут позволить ему разбогатеть.
В модели наступила ночь, и квадратики разбежались по домам.
— Время здесь ускорено в десять раз по сравнению с игровым — для того чтобы проще было отлаживать, — пояснили программисты. — Сейчас NPC хотят спать, и это стремление пересиливает все остальное.
Снова наступило утро — охотник вскочил и отправился на охоту.
— Сейчас мы создадим еще одного охотника. — Программисты открыли окно создания героя, задали несколько параметров, обозвали охотника «H1» и выпустили в деревню. — Попробуем устроить конкуренцию в лесу.
Свежесозданный охотник немного поразмыслил, а потом отправился в дом священника и пришил святого отца.
— А он знал, что в принципе может заниматься охотой? — спросил Соболев.
— Нет, не знал. Сейчас мы ему об этом скажем! — Смущенные программисты поколдовали над языком описания натуры персонажа, и второй охотник послушно отправился в лес, где вскоре пересекся с первым.
Первый, увидев конкурента, отправился в бар и рассказал бармену о том, что в лесу появился чужак.
— Так оно примерно мы над ИИ и работаем, — подытожили программисты.
Веселые истории экран покажет наш? | ||
Демонстрация быта искусственных «интеллектуалов» — это, конечно, очень наглядно, но занимающихся своими делами NPC, как и зверей в зоопарке, не заставить делать трюки на потеху журналистской братии. Поэтому программисты, вдобавок к показанному, рассказали несколько занимательных историй, которые происходили в жизни NPC в ходе работы над их искусственными мозгами.
|
Маньяк — тестовый убийца. Занимается мокрыми делами, старается не попасться полицейским.
Полицейский — следит за законом и порядком.
Охотник — зарабатывает на жизнь охотой на кроликов и продажей мяса Бармену.
Кролики — беззаботно бегают по лесу. Размножаются под строгим присмотром разработчиков (во избежание «синдрома озабоченного тушкана»).
Также — аптекари, крестьяне, священники.
Сладкая месть
Маньяк убил Бармена. У дочки Бармена появилось горячее желание отмстить за смерть отца. Она выяснила, кто совершил злодеяние, нашла зомбификатор, заколдовала Маньяка и приказала ему убить себя.
(Программисты тут добавили хором: «Об стену!»)
Закон есть закон
Маньяк, заколдовав Полицейского,
На всякий случай
Полицейскому поступила наводка от разработчиков — Аптекарь убил Крестьянина. Изучив место преступления, Полицейский арестовал истинного преступника — Маньяка. Но потом подумал и арестовал еще и Аптекаря. Мало ли что...
Тяжела и неказиста...
Маньяку не хватает денег на покупку орудия убийства. Он ходит по лесу, собирает тушки застреленных Охотником кроликов и продает их Бармену. Охотник, видя такое безобразие, идет в бар и начинает «жаловаться на жизнь» — рассказывает Бармену о таком странном поведении.
В самый разгар беседы в дверь заходит Маньяк с охапкой кроличьих тушек. Охотник вспоминает, что, кроме охоты, есть еще способы заработать денег... убивает Маньяка и обирает труп. «В другой раз будешь знать, как брать чужих кроликов!»
Вы звери, кролики!
Маньяк получил в свое распоряжение новое средство уничтожения мирных жителей — эликсир бешенства. Он заразил им кролика, ожидая, что тот взбесится и кого-нибудь прикончит. Потом он решил сходить в лес, чтобы убить Охотника... но тут наткнулся на бешеного кролика и погиб от его зубов в лучших традициях Монти Пайтона.
...А когда Бармена арестовали за убийство Аптекаря (подозреваемый был, естественно, под магическим контролем Маньяка), Охотник ходил к нему в тюрьму. Не на свидания, нет — он ему тушки кроликов там сдавал.
Все эти истории NPC разыграли самостоятельно, без всяких скриптов и подсказок.
Напоследок я спросил Александра Соболева о том, что, на его взгляд, будет сложнее всего реализовать в игре?
— Интерфейс, —
— А что, если привыкшие к стандартным NPC игроки не осознают всех возможностей ИИ и будут пытаться проходить миссии по старинке? — спросил я.
— Для таких мы предусмотрим возможность проходить сюжетные миссии «нахрапом», — ответил Соболев. — Хотя при этом они и не увидят всей глубины игры.
Безумство храбрых?
Как видите, P.H.A.S.E of Resurgence — проект потрясающе смелый... и именно поэтому меня не оставляет ощущение тревоги. Все в Sibilant понимают, что собираются делать революцию, штурмовать барьер, отделяющий игры с обычными тупыми NPC от игр с персонажами думающими, собирающими информацию, обменивающимися знаниями и использующих их в своих целях. Разработчики знают, что перед ними сложная и высокая вершина, но понимают ли они, насколько она высока? Не слишком ли оптимистично они перечисляют
Можно ли сейчас предсказать — по силам ли современным компьютерам обрабатывать в реальном времени даже десяток NPC с заявленными характеристиками? Не окажется ли вдруг, что для обсчета «свободной воли» задуманного числа персонажей нужны суперкомпьютеры? И не только в мегагерцах дело — необходимы еще и алгоритмы, которые позволят сделать из группы NPC реалистичное и естественное подобие человеческого сообщества. Притом реалистичности мало — цифровые соперники должны уметь что-то противопоставить человеческому интеллекту, они должны конкурировать с игроком, а не застревать в стенах. Реализация такого интеллекта — задача архисложная. А ведь разработчики планируют научить NPC лгать, осознанно обманывать, предвидя результаты дезинформации... это умение и людям-то не всем дано.
Воплотить все заявленное в компьютерной игре — задача посложнее, чем научить компьютер играть в шахматы или го. Но... хочется надеяться на лучшее. Хочется верить, что где-то там, в булгаковском доме, готовится переворот в игровой индустрии.