— Да нет, конечно, — парень, кажется отныне и навеки ставший "Салакой", почесал в затылке. — Действительно ерунда какая-то.
— Правильно, ерунда! Ведь это неправильно! — горячился Глип. — Стоп! — Он резко поймал за рукав пробегавшего человечка в стюардовской белой курточке и с подносом, тот с готовностью осклабился. — Слышь, чел...
— Ай'м сорри?
— А черт! — Глип потряс стаканом, но когда "чел" ловко выхватил его и попробовал поменять на полный, запротестовал. — Нет, ты не понял. Водка есть? Уодка. Дриньк. Ферштейн? — повторил он раздельно.
— Водка?
— Ну!
— Йес, андестенд! Джаст э момент, сэр! -"чел" исчез.
— Убежал... Неправильно это, — грустно сказал Глип, изучая донышко стакана на просвет. И тут же без перехода понесся дальше: — Неправильно то, что мы узнаем о ходе дальнейших событий постфактум, опять же из скриптовых вставок между уровнями. Скриптами заражен весь игровой процесс, весь наш с вами, собратья, игровой мир! Игрок знает заранее, чем закончится очередной уровень, проблема только в том, как его пройти, как добиться результата. Правда, начиная с нашего, русского "Паркана" большинство игр имеют многовариантные скрипты, и, выглянув за угол, увидев там диспозицию противников, даже сохранившись, ты уже не можешь быть уверен, что при новой загрузке враги будут ждать тебя там же и так же. Но это все равно скрипты и их реакции на твои действия прогнозируемы. Ну, грубо говоря, как ты не хоти, а никто не струсит, не сбежит и, если это не предусмотрено программой игры, не согласится стать твоим агентом за деньги. А встанешь ты перед переходом на очередной уровень, не став ничего делать — и "гейм овер" к такой-то матери.
— А ты как хотел? — вмешался другой геймер, посолидней Салаки. — Это тебе не реал все ж таки. Мы имеем дело с виртуальным миром, где каждый выполняет свою четкую миссию...
Глип перебил:
— И тоже не правильно! Чтобы игра была интереснее, жизненнее, каждый поступок в игре должен вызывать адекватную реакцию всего сообщества персонажей. На наш ход Большой Босс и вся его кодла должны отвечает своим. И, желательно, не очевидным.
— Это уже не витруальность, это шахматы! Е-два, е-четыре.
— Хренушки! — Глип рубанул стаканом по локтю и для убедительности продемонстрировал на "отрубленной" руке средний палец. Засмеялись. — Это больше похоже не на шахматы, а на го! Обложим Босса, замочим его важных подручных, взломаем его комп, взорвем квартиру его любовницы, желательно вместе с ней, чтобы знала с кем спать в следующей жизни, блин!.. Заставим его поволноваться, ошибки начать делать, вроде срочного выезда со своей сверхохраняемой дачи-крепости в город, где мы ему прямо по дороге спокойно можем всадить пулю в лысую его башку из нашей любимой эсвэдешки.
— Ну, это из области фантастики, — сказал кто-то, и публика разочаровано загудела, соглашаясь.
— Это ИИ надо изобретать, — прибавил еще кто-то.
— Ну уж хрен то! Сам изобрелся уже один раз, чуть кирдык всем не пришел, — поддержал кто-то третий, и публика загудела еще сильнее.
А вот четвертый вступивший в разговор не согласился. Им оказался Степан Воронов, консультант концерна "РосБизнесИнформация", информационного спонсора чемпионата. Дмитрий уже видел его на недавних переговорах, где разговор шел о том, чтобы РБИ стал одним из издателей новых игр РЕОЛ'а.
— Зачем же обязательно искусственный интеллект? Все возможные правила развития событий... не варианты, обращаю внимание, развития событий, а именно правила!.. закладываются в алгоритм еще на этапе подготовки сюжета...
И они запели на два голоса: Воронов говорил, а Глип оттенял его слова примерами:
— И дальше идут уже не скрипты, а набор эвристических правил выбора.
— Да! Кстати, именно потому ближе аналогия с го, а не с шахматами. Игра должна предоставить игроку разные возможности получить доступные ему по его способностям информацию и средства для достижения поставленной задачи, а как игрок будет это осуществлять и, соответственно, как будет реагировать эвристическое ядро игры — уже его дело, хозяйское.
— Только так мы добьемся того, что каждый раз, запуская игру, мы будем получать свою, уникальную историю, свой ход событий, поскольку сами управляем ими, а не выполняем последовательность действий, заданную сценаристом.
— Ну! И в результате, замочив этого жирного лысого ублюдка, разгромив его базу и остановившись перед выходом с блаженной улыбкой на лице, мы таки доиграемся до того, что дождемся, блин, головорезов преемника Босса, которые или насадят наш зад на кол, а может, наоборот, отвезут в кабак, где радостный преемник предложит стать личным киллером с окладом в пару миллионов евро. Разве не круто?!
— И не потому, что сработал скрипт, не потому что так в сценарии, и ты его прочитать можешь...
— Ага: сюда не ходи, снег башка попадет, совсем мертвый будешь. Нет! Просто потому, что после смерти Босса остальные персонажи сделали свои ходы! А если еще включить в модель и возможность изменения сопутствующих условий, то может стать и вовсе реально — а ну как застрянут бравые ребята в автомобильной пробке, не успеют перехватить тебя, мстителя эдакого...
— А ты тут как тут — уже снова на вилле, потому как тебе позвонил некто и сказал, что преемником шефа стал еще больший отморозок, и ты решил замочить и его. До кучи! А тебя засекли на подъезде и сообщили застрявшим в пробке "торпедам". И они, развернувшись, рванут обратно. А?
Тут у Глипа, видимо, кончился полет фантазии. Он вдруг замер на полуслове, почесал нос стаканом и вздохнул.
— Нет, это, пожалуй, слишком сложно. Тут надо обсчитывать в реальном времени поведение всех персонажей. Так и впрямь все же придется вставлять искусственный интеллект, чтобы юниты стали принимать адекватные решения. Я об этом думал и ничего хорошего пока не придумал. А создавать ИИ — и впрямь нам всем дороже выйдет.
Глип вздохнул еще раз, но Воронов с ним не согласился:
— Не туда думал! — "Да они, оказывается знакомы?" — удивился Дмитрий, глядя, как Воронов отобрал у Глипа злополучный стакан, поставил его на поднос вновь пробегавшего мимо уже другого официанта и начал загибать пальцы: — Во-первых, мощность процессоров растет, и пришла пора тратить ее не на полигоны и текстуры, не на картинки и эффекты, которые уже и сейчас создают эффект полноценного видео. А на развитие самого игрового процесса. — Сказав это, Степан оглядел присутствующих, словно ожидая возражений, но поскольку их не последовало, загнул второй палец: — Во-вторых, ты, Гоша, в тему вспомнил про шахматы, а я про го. А есть еще ведь и древние варианты типа "столбовых" шахмат или шахмат, в которых при определенных условиях последовательность ходов определялась не по очереди, а в соответствии с бросками кубиков, когда один игрок мог сделать сразу два или три хода подряд. Эти стратегии и эвристики известны. В третьих...
Толпа внимала вороновским "в третьих, в четвертых". Над головами давно уже торчали вытянутые руки — с диктофонами, с включенными на запись мобильными телефонами.
— Больше того, — продолжал Воронов, не обращая внимания на нарастающий в толпе гомон — тоже, видимо, увлекся! — еще в прошлом веке был придуман искусственный язык ДИАЛ, позволяющий эти эвристики очень хорошо описывать. И поэтому нет ну никакой нужды создавать игрушке самосознание или встраивать в нее ИИ.
— Ну да, ну да, — закивал Глип и включился снова. — Достаточно использовать принцип той же го. Для каждой конфигурации камешков и их взаиморасположения есть правила определения их силы или слабости относительно конфигурации противника. А если вместо одинаковых камешков сделать фигуры, у каждой из которых есть свои возможности, то в совокупности столько вариантов будет! Это, вроде как, и не считаемо, а?
— Вообще-то, — соглашался Воронов, — напрямую не считаемо. Но эвристики выбора сильных и слабых позиций существуют. Кстати, именно позиций, а не ходов. Знаешь, как сильные шахматисты играют — они оценивают всю позицию, потом изменяют ее с помощью того или иного хода и сразу видят — ослабла новая конфигурация по сравнению с предшествующей или усилилась. Вот и в игрушке алгоритмы надо так же задавать. Каждый ход-поступок влияет на общую конфигурацию всей игры в целом, а не только данного игрового момента. И задача машины будет заключаться не в расчете всех возможных комбинаций ходов, а в сравнении силы получающихся конфигураций. Что-то типа просмотра и сравнения самоорганизующихся карт Коххоннена, понимаешь? — Как ни странно, Глип закивал явно осознанно. — Только более сложно организованных. Кстати, сейчас все сильные шахматные программы строятся на основе именно таких принципов...
Тут Воронов замолчал и огляделся -. что-то "ледоколом" раскалывало толпу на двое.
— Ай'м сорри, ай'м сорри! — — в середину "круга избранных" ворвался стюард в кителе и с подносом. С одиноким стаканом посередине. Полным, как положено по здешним установлениям, на две трети чем-то прозрачным. С профессионально выверенным "Плиииз, сэр!" "чел" приподнял поднос перед Глипом. Стакан Глип подхватил и, незамедлительно выпив и не поперхнувшись (иностранцы, ни разу не видевшие, как может пить русский человек, челюсти на пол пороняли), продолжал:
— Слушай, а ведь верно, Степан! Вот, сразу идея, с ходу! При таком варианте можно вообще от сейвов отказаться! Можно организовать запись событий, только основных, и связанных с ними эвристик и таким образом, в нужный момент, мы всегда сможем вернуться в прошлое в заданный интервал времени! Да чего там! — он взмахнул вновь пустым стаканом, как шашкой рубанул. — В такой игрушке можно с тем же успехом перенестись в возможное будущее! Причем в зависимости от условий того момента, из которого переносишься, будешь получать каждый раз новое будущее!
— А на фига? — осторожно спросил Салака, кажется, уже полюбивший Глипа на веки вечные.
— Зачем это надо, я, парень, и сам сказать не могу, — признался Глип честно. — Но ведь можно такую возможность использовать как сюжетный элемент, верно? А уж сценаристы на фирмах пусть придумают, зачем! Им за это хорошие деньги платят.
Толпа одобрительно загудела, обсуждая раскрывающиеся перспективы, а Глип, с удивлением взглянув на пустой стакан, вздохнул возмущенно:
— Блин, а водки-то так и не принесли! Тоже мне сервис хваленый! Эй, чел! Как вас тут дразнят-то... О! Гарсон номер два!..
Когда все вокруг радостно заржали, Глип, кажется, не понял с чего бы это...
Кстати, тайна явления Глипа на чемпионате объяснилась просто. Дмитрий потом спросил у негласного лидера российской сборной "Берсеркера": "Володь, я тут вроде бы Глипа вчера видел. Или мне показалось?" Володю вопрос смутил: "А чего, он опять что учудил? Я за ним ребятам присматривать велел..." Дмитрий успокоил, что ничего такого Глип не учудил, просто могли бы спонсоров проинформировать, предупредить, что ли... Тогда Володя задумчиво почесал подбородок и произнес: "Видишь ли, Дима, я человек, как ты знаешь, не суеверный, но... в общем, ребята меня просили. Типа талисман. Ей-Богу, за свой счет мы его сюда привезли, в складчину. "Клавой" клянусь!" — и Володя стукнул здоровенным кулаком по широкой своей груди. "Ага, — произнес Дмитрий. — У америкосов, значит, свин Хрюн'н'дейл, а у вас юродивый Глип?" — "Ну да, — радостно согласился Володя. — Все-таки не поросенок — дракон! Авось поможет!"
Про дракона Дмитрий не совсем понял, но Володя, который слыл любителем "старой доброй фантастики", как это он называл, объяснил, что кличка у Глипа по имени одного дракончика из старой-старой книжки про волшебника-недоучку из "Корпорации М.И.Ф." некоего абсолютно неизвестного Дмитрию писателя Роберта Асприна.
И ведь помог "юродивый дракон-геймер" Гоша Глип! Наши победили! Причем красиво: взяли все три первых места в личном зачете, а также первое и третье в командном! Потом писали всякие глупости про причины этого "сокрушительного успеха русских": про подсказки, подтасовки результатов и еще какую-то нереальную чушь. Смешно же! Чего тут подтасовывать, когда русские геймеры чуть не каждый год побеждают во всех чемпионатах, сколько бы их не было. Да и в других "национальных сборных", между прочим, всевозможных Ли-си Цынов, Си-ни Цынов, Волек-ибн-Алешей и прочих Айванов Иваноффых и Полов Хлебниковых хватало — купля-продажа в компьютерных игровых лигах шла не хуже, чем в футбольных. Только вот пока все было не так амбициозно. И еще: лучшие игровые — да не только игровые — программы пишут кто? — правильно, русские! Давно известно, не поспоришь. Пусть хоть и русские американцы, русские европейцы, русские китайцы, и русские индусы... Или наполовину индусы, как тот же Степан Воронов...
8. Москва, офис фирмы РЕОЛ, кабинет гендиректора. Чуть более 14 часов по Москве.
Вынырнув из приятных воспоминаний, Дмитрий улыбнулся. Ведь он, а не кто-нибудь еще, и придумал это принципиально новое. Простое и гениальное. Вот ведь как бывает. Думаешь, думаешь, а два случайных фактора совпадут — и озарение! Вот она идея, бери, работай.
Верно говорили тогда в Сиднее Воронов и Глип: главный недостаток современных игр — жестко заданная сюжетная канва, резко снижающая "играбельность" уже после трех-четырех полных прохождений. Как бы ни старался сценарист, придумывая многочисленные ответвления сюжета, его фантазия не бесконечна и, в большинстве случаев, сводится к весьма ограниченному количеству вариантов развития событий.
В этом смысле, внедрение в сценарий элементов случайности, а в итоге и отказ от сюжетной линии как таковой в пользу сложного нелинейного алгоритма, создающего самоорганизующееся фрактальное игровое пространство, в котором игровая ситуация после каждой битвы в каждом прохождении своя, может в корне преобразить игровой процесс.
Современный мир — это постоянное развитие сложных социальных процессов. Сидим ли мы в баре за чашечкой кофе или едем в метро, мы, даже сами того не желая, общаемся с людьми. Внешний облик, поза, выражение лица — все это акты коммуникации, все получает оценку окружающих.
В современных играх юнит солдата может спокойно стоять и курить, пока его раненый товарищ истекает кровью. Игрок-командир может завести свои части под огонь собственной же артиллерии, положить половину бойцов, провалить атаку — и его потом никто не захочет разжаловать или пристрелить. В человеческом мире такое, конечно, тоже иногда случается — вспомнить хотя бы ставшую легендарной Войну Инь, не говоря уж о привычных локальных конфликтах. Но в большинстве случаев неоказание помощи своему товарищу все же строго карается, а тупой командир имеет все шансы закончить карьеру рядовым. Или получить вместо повышения пулю от своих же подчиненных.
Также должно быть и в игре: каждое действие персонажа должно вызывать определенную оценку со стороны юнитов и, соответственно, вести к изменению его игрового статуса. А ведь фактически то Дмитрий ничего такого особенного то в этом смысле и не придумал — просто переложил на новые технологии то, что создавало и создает интерес к MMORPG-играм. Поскольку в них, как раз, все непредсказуемо, поскольку против тебя играют не только скрипты, а и скрывающиеся за многими из персонажей такие же как ты геймеры.