Редактор пространства
16 июня, 13:22 реального времени
— Берегись! — завопил Махмуд, заметив, что метрах в двух от земли засветилось пятно переходного тамбура.
Мак-Мэд проворно отскочил в сторону как раз в тот момент, когда из тамбура выкатился обшарпанный погрузчик с грудой ящиков. Задумчиво покрутив колесами, он со страшным грохотом рухнул вниз.
— Ксен, не дрова ведь грузишь! — возмущенно заметил Банзай.
Сидящий за рычагами погрузчика программист высунулся из кабины:
— Ну знаешь, если бы вы потрудились выучить пару команд и реестр идентификаторов, мне бы не пришлось изображать из себя грузчика!
— Нет уж, хватит, — сурово отрезал Банзай. — Кеша вот попробовал — еле откачали.
— Так то Кеша, — уныло буркнул Ксенобайт.
В том, что горемычный дизайнер снова умудрился чего-то напутать, ничего удивительного не было. Но вот последствия очень впечатлили всю компанию.
Задача была, в принципе, несложной: подключиться к одной из библиотек, куда Ксенобайт заранее сложил нарисованные Кешей модели, текстуры и прочий скарб, выбрать там нужную штуковину и установить ее в пространстве игры. Для удобства Ксенобайт даже сделал что-то вроде визуального интерфейса: здоровенный ангар со стеллажами, на которых лежали ящики. На каждом ящике было изображение содержимого или, на худой конец, ярлычок с текстовым описанием.
По мнению Ксенобайта, решительно все было сделано для удобства пользователя. Мелисса, правда, тут же рекомендовала оформить все в виде каталога, по которому нужную модель можно будет просто заказать, но пока они с Ксенобайтом спорили о теории интерфейсов, Кеша умудрился напортачить там, где никто не ждал. Как ему это удалось, осталось загадкой, но дизайнер завис где-то между редактором пространства и библиотекой, в области кода, ну никак не предусматривающей визуализации.
Ксенобайт потом утешал Кешу, что оказаться посреди выполняемого кода не так уж и плохо. Лучше, конечно, вляпаться в какой-нибудь архив, там даже по-своему красиво, но главное — все стоит на месте и можно спокойно обмозговать сложившуюся ситуацию. Даже если при этом тебя самого заархивирует. Это как йога: с непривычки действует на нервы, но со временем перестаешь замечать, что твоя левая ступня торчит у тебя из-за уха.
Вообще, затруднительно описать, что испытывает человек в виртуалке, вылетая по каким-либо причинам из зоны визуализации. Десятки предохранителей и фильтров обычно отключают пользователя прежде, чем с ним произойдет что-то уж совсем странное. Но уж если не повезет, то бедолага получает по полной программе: поток полной чепухи по всем каналам восприятия. Кеша провел в мире математической абстракции две минуты и четырнадцать секунд, но за это время, по его словам, насмотрелся такого, что волосы на голове встают дыбом. Мало того, под впечатлением пережитого он залез в вирт-редактор и нарисовал несколько «пейзажей», пытаясь передать свои впечатления. Надо сказать — получилось. Тестеры, глянув на эти абстрактные инсталляции, делали теперь все, чтобы не оказаться в схожей ситуации.
В результате доставкой объектов (а вернее, их экземпляров) из библиотек в игровое пространство занимался лично Ксенобайт. Программист, более других привычный к подобным казусам, ворчал, но не очень громко, прекрасно понимая, что в случае чего Мелисса моментально найдет ему еще какое-нибудь занятие.
Некоторые модели и даже целые сцены приходилось не возить из библиотек, уже подключенных к движку игры, а напрямую конвертировать из вирт-редактора, чтобы потом, собрав локацию, упаковать ее в новую библиотеку. Тут снова чуть не произошел конфуз, когда Ксенобайт — случайно — едва не упаковал локацию вместе с Мелиссой, Внучкой и Кешей.
Так или иначе, работа продвигалась. Тестеры начерно сотворили материк, после чего приступили к знакомой со времен Енотограда работе: обустройству локаций. Правда, на этот раз им приходилось возводить не бетонные коробки, а бамбуковые хижины, пагоды и усадьбы в абстрактно-восточном стиле, а вместо руин и свалок создавать парки и сады камней.
Впрочем, все это было лишь разминкой, небольшими тестовыми локациями, пока окончательно утверждались эскизы и сценарий стартовой местности игры. А пока Банзай решил занять всю компанию не менее важным, чем строительство, делом.
— Где выгружать?
— Я не знаю... Ну, давай вон на той полянке.
— Ладно.
Ксенобайт крутанул баранку погрузчика. Башня из напоминающих гробы ящиков качнулась и опасно накренилась. Не обращая внимания на сердитые вопли Банзая, программист бесцеремонно свалил ящики в кучу на указанной полянке.
— Ксен, ну ты совсем озверел, — поморщился Мак-Мэд. — Просто натуральный грузчик... А если сломается что-нибудь?
— Да что им сделается, — равнодушно махнул рукой Ксенобайт.
— И где теперь какой?
— А какая разница?
— Тоже правильно. Ладно, вскрывайте!
Махмуд, ворча, подошел к одному из ящиков и, примерившись, ловко вогнал под крышку ломик-активатор. Индикатор распаковки пробежался до ста процентов, после чего крышка отлетела в сторону. В похожем на гроб ящике лежало что-то очень похожее на труп, что, в общем-то, неожиданностью не было.
Кеша любил рисовать вирт-пространства. Еще больше он любил смотреть, как нарисованное им оживает в игровых мирах. И как никто другой он знал, что между этими двумя точками лежит целая куча тяжелой работы.
Полбеды, когда речь идет о какой-нибудь детали пейзажа, желательно статичной: например, куске стены. Гораздо сложнее разобраться, к примеру, с монстром, который должен не просто сидеть на полянке, а двигаться, атаковать, обороняться, бегать, прыгать, а порой — еще плавать и летать.
Патологически конфликтующий со всяким программированием Кеша сравнительно легко мог нарисовать достаточно сложную анимацию, просто выстраивая кадр за кадром. Но анимация персонажей для вирт-игр — штука более замысловатая. Ведь монстр должен не просто разыгрывать перед зрителем заранее определенное представление, а реагировать на поведение игрока, желательно — без видимых перескоков с одной анимации на другую.
— Ну, давайте, что ли, оживляйте покойничка, — вздохнул Банзай. — Внучка, ты готова?
— Всегда готова! — весело сообщила Внучка, оглядывая поляну через видоискатель неизменной камеры.
— Хорошо. Значит, так, я все равно буду делать захват движений, но постарайся снимать буквально все, даже если оно тебе покажется не сильно интересным, ладно?
— Нет проблем, я тут вокруг еще несколько стационарных грабберов поставила, так что будет даже с нескольких ракурсов.
— Умничка. Мак, готов?
Вместо ответа Мак-Мэд медленно растаял в воздухе. Зато «покойничек» в ящике вдруг вздрогнул, с театральным всхлипом втянул в себя воздух, утробно замычал и, вытянув вверх руки со скрюченными пальцами, сел.
— Хорош комедию ломать, вылезай, — равнодушно буркнул Банзай.
Мак-Мэд в новом теле пожал плечами и вылез из ящика. Выглядел он, что ни говори, жутковато: модель автоматически подстроилась под его габариты, но кожа еще не была текстурирована и покрашена. Гладкая, матовая, больше похожая на пластик, нежели на что-то живое, она имела пепельно-серый цвет без оттенков по всей поверхности, отчего лицо и правда напоминало физиономию свежего утопленника с бескровными губами. Мало того, широкие штаны имели тот же цвет и текстуру, отчего казалось, что они растут прямо из бедер модели. Впрочем, так оно, строго говоря, и было. Мак-Мэд потянул шеей, передернул плечами и пару раз подпрыгнул, привыкая к модели.
— Ну что ж, — проговорил наконец стрелок, — запускайте болванчика!
Ксенобайт пошевелил пальцами, вызывая панель управления. Воздух в двух метрах от Мак-Мэда вдруг подернулся рябью, сгустился, и через миг там, точно отражение в зеркале, появилось еще одно тело.
Раунд 01: Мак-Мэд против имитатора
16 июня, 13:43 реального времени
Мак-Мэд слегка поклонился своему доппельгангеру. Тот, немного подумав, повторил его движение. Покончив с формальностями, стрелок встал в стойку и, подойдя к двойнику, медленно обозначил простой и прямолинейный удар рукой в корпус. Выждав пару секунд, он отошел назад, а Ксенобайт что-то перещелкнул на своей виртуальной панели. Двойник Мак-Мэда, точно запаздывающее отражение в зеркале, встал в стойку и попытался нанести удар.
— Банзай, а что они делают? — спросила Внучка.
— А, это интересная штука, — хмыкнул старик. — Наработка базы движений. Понимаешь...
— Погоди, я сейчас камеру поудобнее поставлю... Вот, говори.
— Хм... Ну да. Так вот, понимаешь, давно было замечено, что чуть ли не единственный способ сделать движения персонажа естественными — это просто оцифровать движения настоящего человека. Во всех остальных случаях получается не кино, а мультик, если ты понимаешь, о чем я. Как видишь, сейчас двойник-имитатор попросту повторяет движения Мак-Мэда.
— Здорово, — вздохнула Внучка. — А Мак что, какими-то единоборствами занимался, да? Он на самом деле какой-то там черный пояс? Я всегда это подозревала!
— Знаешь, — вздохнул Банзай, — я подозреваю, что все мальчишки в детстве если и не ходили в какую-нибудь секцию, то, во всяком случае, смотрели боевики со всякими рукомашествами. Так что не делай поспешных выводов.
— Значит, в игре двойник будет просто копировать движения Мак-Мэда?
— Все не так просто, — покачал головой Банзай. — Двойник сейчас не просто копирует. Он учится. Мак делает какое-то движение, допустим, наносит удар. Имитатор пытается ударить его так же и смотрит, как реагирует оператор. Запоминает. И, если в следующий раз оператор нанесет такой удар, постарается скопировать его же реакцию.
— То есть Мак-Мэд как бы сам его учит?
— Точно. Так и называется: «анимация путем обучения».
Мак-Мэд со своим двойником уже разыгрывали довольно сложные пассажи из всякого рода блоков, ударов, уклонений и перемещений. Но последнее слово каждый раз, понятное дело, оставалось за Мак-Мэдом.
— Скукота... — уныло вздохнул Ксенобайт.
— А по-моему, очень интересно, — не согласилась Внучка.
— Такой способ имеет ряд недостатков, — тактично заметил Банзай. — Один из которых — действительно утомительный процесс сбора базы данных движений.
— Которым, — снова не выдержал Ксенобайт, — должны заниматься профессиональные спортсмены. Или каскадеры. Или кто-нибудь еще, кто рубит фишку. В крайнем случае берут и покупают уже готовую базу, с сертификатом соответствия от ассоциации единоборств.
— Да ну, это скучно, — поморщилась Внучка. — Кому понравится, если во всех играх противники будут вести себя одинаково?
— Во-во, нам примерно такую задачу и поставили, — кивнул Ксенобайт. — Мол, не забывайте, все игры «Самары Софт» несут свою специфику, они должны быть не похожи на другие игры того же жанра. От нас, видите ли, ожидают, что мы сочиним какие-нибудь новые, более реалистичные виды единоборств...
— Ну и сочиним! — оптимистично заявила Внучка.
Программист только безнадежно махнул рукой и демонстративно зевнул.
— В любом случае, — поспешил переключить на себя внимание Внучки Банзай, — все это, так сказать, лишь набор сырого материала, кирпичиков, из которых позднее придется строить... О, смотри-ка! Интересный момент! Мак-Мэд стал пропускать удары! Можно переводить тактический симулятор на новый режим: обозначить обоим противникам запас здоровья.
Ксенобайт еще раз душераздирающе зевнул и пошевелил пальцами, нажимая какие-то кнопки и передвигая регуляторы на виртуальной панели управления.
— Давай, Мак! Ты его сделаешь! — завопил Махмуд, подражая болельщикам на боях без правил. — Порви его, как Тузик грелку! Я на тебя поставил, парень...
Ксенобайт навострил уши и быстро произнес:
— Десятку на имитатора!
Махмуд прекратил дурачиться и удивленно глянул на программиста:
— Не понял?
— Ставлю десятку на имитатора! — ухмыляясь, повторил Ксенобайт.
— Ксен, на этом этапе все шансы не в твою пользу, — с сожалением покачал головой Махмуд. — Это будет даже не интересно. Ты плохо Мак-Мэда знаешь, если думаешь, что он уже выдохся. Могу поспорить, у него в запасе еще есть пара грязных... А, черт, и что, жульничать не будешь?!
Программист демонстративно скрестил пальцы и заверил:
— Честное двоичное, не думал даже!
— Даже так... Ладно, по рукам.
Мак-Мэд, прекрасно слышавший весь диалог, только неодобрительно покачал головой.
Ксенобайт, картинно хрустнув пальцами, вызвал две дополнительные панели инструментов и два терминальных окна с какими-то данными. Расположив все это хозяйство поудобнее, он быстро прошелся пальцами по панелям.
На этот раз двойник Мак-Мэда взял инициативу на себя. Перейдя в стойку, он стал осторожно подкрадываться к стоящему неподвижно стрелку. Тот стоял неподвижно, но явно не пропускал ни одного движения противника. На секунду они замерли друг напротив друга. Ксенобайт продолжал нажимать какие-то клавиши и двигать регуляторы на своих панелях, и двойник вдруг стремительно перешел в атаку.
— Знаешь, Банзай, — неуверенно проговорила Внучка, — Ксенобайт все-таки жульничает. Я не знаю, как и в чем, но просто косичками это чую!
— Конечно, жульничает, — удивленно откликнулся Банзай. — Но — честно жульничает.
— Это как?! — удивленно моргнула Внучка.
— Да смысл был бы иначе спорить? Ситуация была стабильная: при старых условиях выигрывал тот, кто придумает что-то новенькое. Правда, процесс как раз начинал выходить к насыщению: с одной стороны, Мак-Мэд стал ошибаться, с другой — с каждым разом ему все трудней придумывать новые трюки. Но уж поверь, момент, когда бот его задавит, еще очень далек.
— На что же надеялся Ксенобайт?
— Как всегда, в основном на себя. Я ведь тебе недаром говорил: все, что сейчас происходит, — лишь подготовительный этап. Поведением бота управляет тактический анализатор. Он решает, стоит ли нападать или обороняться, какую часть тела прикрывать или куда нанести удар. В зависимости от задачи — подбирает движение из базы. И это только основа. Сложные анализаторы следят за каждым движением противника, пытаются предугадать его намерения, замечают, если ты теряешь равновесие или попадаешь в невыгодное положение. В общем — как с шахматами. Чтобы обыграть новичка, много не надо, но против гроссмейстера нужно строить фактически отдельный компьютер.
Внучка вздохнула: Банзай явно увлекся одной из любимых тем.
— Знаешь, какое-то время назад были даже проекты виртуальных тренировок по рукопашному бою. Ничего, правда, путного из этого не вышло, хоть пополам тресни, а рефлексы, наработанные в виртуалке, на реальном ринге гроша не стоят. Хотя ходили слухи, что...
— Банзай, мы отвлеклись. Все-таки что делает Ксенобайт?
— А, ну да... В общем, он на ходу пытается настроить скрипты управления. Вводит вручную все те параметры, обсчитывать которые в реальном времени у простого компьютера кишка тонка. Напрямую управлять телом он не может, да и не хочет, зато пытается повлиять на ход поединка через скрипт.
Внучка с сомнением глянула на программиста. Тот продолжал сосредоточенно барабанить по панелям. О результатах его манипуляций судить было трудно, так как нападать бот не спешил.
— Ну что они там топчутся?! — нетерпеливо прикрикнул Махмуд.
— Ха. Бот, кажется, выучил главную мудрость поединка: всякий наезд на Мак-Мэда рано или поздно выходит ему боком, — усмехнулась Мелиса, которая хоть и корчила недовольную физиономию, но с не меньшим интересом наблюдала за происходящим.
— А-а, ну, это понятно... Мак, а ты чего зеваешь?! Врежь ему! Порви на ленточки!
Ксенобайт, поморщившись, решительно двинул вверх какой-то регулятор. Бот обреченно глянул в его сторону, как бы говоря что-то насчет идущих на смерть и Цезаря. А потом пошел в атаку.
Атака была достаточно прямолинейна и являлась, скорее всего, лишь приглашением к длительному обмену ударами и блоками, как это происходило до сих пор.
Мак-Мэд не стал блокировать удар или наносить встречный, просто чуть отклонился, пропуская кулак противника. К чему-то подобному бот был готов, поэтому не стал сильно вкладываться в удар и не потерял равновесия. Точнее, не потерял бы, если бы Мак-Мэд ему не помог. Когда кулак имитатора оказался в пределах досягаемости, он попросту схватил его, прижал к солнечному сплетению (куда тот, похоже, и летел изначально) и крутанулся всем телом на месте.
Эффект был тот же, как если бы бот сунул руку в вентилятор. Описав дугу, он шмякнулся на землю. Пока бедолага пытался встать, Мак-Мэд без особых изысков и комплексов пнул его ногой по ребрам, снова повалив на землю.
— Эй! — завопил Ксенобайт. — Так нечестно, дай ему встать!
— Честно-честно! — в полном восторге завопил Махмуд. — Мочи его, Мак! Мы же не на приеме у английской королевы...
— Как раз то, о чем я говорил, — со снисходительной улыбкой заметил Банзай. — Стоило Мак-Мэду в корне сменить стиль, и бот сел в калошу: он просто не знает, как реагировать.
— Ладно, проехали, — мрачно буркнул программист, отключая бота. — Махмуд, двадцатку на реванш!
— Ксен, ты сегодня совсем плохой, — с жалостью в голосе сообщил ходок. — Тебе что, делать нечего?
— Давай, чего ты жмешься? Дай мне возможность отыграться! — заныл программист.
— Тебе так не терпится потерять еще двадцатку?! — начал злиться Махмуд. — Ладно, заводи шарманку по новой!
Внучка удивленно глянула на программиста и успела заметить, как программист ей ехидно подмигивает. Впрочем, может быть, ей только померещилось.
— Он точно жульничает, — буркнула она себе под нос.
В следующем раунде чуда не произошло. Ксенобайт снова рвал на себе волосы и лихорадочно просил отыграться. Сбитый с толку и мастерски разогретый программистскими подначками Махмуд сердито заявил, что, в конце концов, кто он такой, чтобы мешать всяким неумным людям отдавать ему деньги, и поставил сразу полсотни. Ксенобайт тут же согласился и, пока Махмуд не успел заподозрить неладное, третий раз активировал бота.
Бой продлился недолго. Бот опять попытался атаковать, Мак-Мэд захватил его для броска, крутанул... Однако на этот раз имитатор устоял на ногах, более того, извернулся и попытался провести свой бросок. Какое-то время противники вальсировали по площадке, пытаясь провести бросок. Наконец боту это удалось. Мак-Мэд продержался еще минут пять, но, заполучив преимущество, бот с легкостью шел на равноценные размены.
Махмуд медленно повернулся к программисту:
— Вы ведь с Мак-Мэдом заранее договорились, да?
— Нет, конечно! — искренне возмутился Ксенобайт. — Да как ты такое мог подумать?! Он сам догадался, не маленький.
— Мак, это правда? Как ты мог?! — с обидой упрекнул Махмуд друга.
— Махмудыч, — вздохнул Мак-Мэд, — ты упускаешь из виду один простой факт, который, в свою очередь, в полной мере оценил и использовал в своем гнусном плане Ксенобайт.
Махмуд вопросительно глянул на друга. Тот пояснил:
— Я тут уже полчаса конечностями дрыгаю. Замахался! А если думаешь, что это все легко, попробуй сам.
Возмущенно фыркнув, Мак-Мэд взмахнул рукой, вызывая панель управления и давая команду на выход. Тело осело, как мешок с овсом.
— А между прочим, это идея, — задумчиво сообщил Махмуд. — Эй, Ксен! Давай-ка сюда своего монстра...
Раунд 02: Махмуд против имитатора
16 июня, 14:22 реального времени
Тела, в которых тестеры обычно работали, очень избирательно взаимодействовали с окружающей виртуальной средой. Это было удобно для работы, особенно когда дело касалось строительства, но, конечно, имело и свои недостатки. И, уж конечно, для того чтобы как-то оценить боевую систему, нужны были полноценные игровые тела, в полной мере взаимодействующие с физическим симулятором и системой расчета взаимодействий и повреждений. Именно такие тела Ксенобайт и привез в ящиках из библиотеки.
Эти тела, хотя и предназначались для мобов, все-таки умели подстраиваться под габариты оператора. Так что сейчас модель, в которой недавно находился более сухощавый Мак-Мэд, на глазах стала чуть шире в плечах, прибавила в весе и убавила в росте.
— А подать-ка сюда Ляпкина-Тяпкина! — злодейски ухмыляясь в сторону Ксенобайта, велел Махмуд.
Программист пожал плечами и меланхолично пошевелил пальцами, оживляя бота. Тот встал, огляделся и, увидав многозначительно потирающего кулак Махмуда, втянул голову в плечи. Но противиться электронной воле движка он не мог.
Махмуд встал в боксерскую стойку, вынеся правую руку вперед и прикрывая левой челюсть, и принялся прыгать из стороны в сторону. Бот осторожно приближался к нему, время от времени жалобно поглядывая на Ксенобайта, но тот оставался равнодушен. Имитатор последний раз примерился и, чуть ли не зажмурившись, ринулся в атаку.
И был тут же встречен мощным, хорошо поставленным правым хуком, от которого бедолагу едва не развернуло. Не давая противнику опомниться, Махмуд зарядил ему апперкот, а потом снова хук.
Хилые попытки блокировать эти удары так же, как раньше удары Мак-Мэда, результатов не приносили: Махмуд просто сметал их, вкладывая всю массу тела в удар. В первом раунде электронный противник слег, кажется, даже не поняв, что именно с ним случилось. Махмуд, последний раз пнув бедолагу, издал победный клич Кинг-Конга, колотя себя кулаками в грудь.
— Ну что, програмилла, съел?! — восхищался собой ходок. — Ну, кто тут чемпион? Ха-ха!
Ксенобайт, недобро сощурившись, цыкнул зубом и стал что-то менять в настройках бота. Поймав на себе любопытный взгляд Внучки, он пояснил:
— Я сместил приоритеты тактического анализатора. Во-первых, он проводит усиленный анализ последнего боя, но тут у нас маловато информации. Во-вторых, я немного понизил приоритет блокировки удара и повысил приоритет уклонения. Сейчас он рассчитает оптимальную стратегию... О, готово.
Имитатор дрыгнул конечностями и принялся вылезать из кустов, куда его зашвырнул последним ударом Махмуд. Увидав противника, решившегося на второй раунд, Махмуд утробно взревел и снова заколотил по груди кулаками.
— Надо к этому действию озвучку прикрутить, — поставил себе галочку Банзай. — А то звук получается скучный, как по мешку с песком, а должен быть звонкий...
— Ну, исторический раунд... Чарльз Дарвин с доказательством своей теории против процессора! Сейчас глянем, что придумал наш тактический симулятор... Гонг!
Основываясь на результатах предыдущего поединка и руководствуясь расставленными Ксенобайтом приоритетами, система расчета поведения приняла достаточно простое и логичное решение. Едва завидев Махмуда, бот развернулся и задал стрекача.
— Эй, а ну стоять! Стой, я тебе говорю! — оскорбленно взревел Махмуд, бросаясь вдогонку.
Куда там! Бот несся, петляя словно заяц. Ксенобайт лихорадочно колотил по панели управления, пытаясь призвать своего подопечного к порядку. Ни в какую: имитатор твердо усвоил, что единственный шанс если не победить, то хотя бы сохранить ситуацию стабильной, — это держать между собой и Махмудом дистанцию.
— Повысь ему приоритет атаки! — прищелкнул пальцами Банзай, внимательно наблюдающий за забегом.
Ксенобайт раздраженно толкнул какой-то регулятор до упора вверх. Бот резко затормозил и с разворота нанес прямой встречный удар Махмуду в челюсть. Ноги ходока взлетели вверх, в глазах мелькнуло легкое удивление, а потом он рухнул навзничь. Ксенобайт покосился на свои терминалы с данными и констатировал:
— Нокаут!
...Следующие два раунда закончились для имитатора плачевно: оскорбленный в лучших чувствах Махмуд старательно пытался перепустить противника на фарш.
Однако без боя бот не сдавался. С угрюмым терпением он мотал на ус суровую науку, и все чаще тумаки Махмуда, точно бумеранг, прилетали ему обратно. И все же раз за разом ходок отправлял своего противника в нокаут, после чего принимался шумно восхищаться собой.
— Ха! Ну что, съели?! Берегись, планктон, Махмуд-Разрушитель идет! Я непобедим! Я шикарен!
— По-моему, — мрачно заметила Мелисса, — Махмуд переигрывает.
— Да ладно тебе, — неуверенно проговорила Внучка. — Это он от скуки. Ну и, конечно, ему обидно, что во втором раунде его так подловили...
— И все равно надо бы сбить с него чуток спеси, — нехорошо прищурилась Мелисса. — Ксен, у тебя в этих гробах женское тело найдется?
Программист уставился на Мелиссу. Потом глаза его распахнулись, а на губах появилась коварная усмешка:
— Не завидую я Махмуду...
Раунд 03: Мелисса против Махмуда
16 июня, 14:48 реального времени
То, что было надето на выбранном Мелиссой теле, с большим успехом можно было назвать не одеждой, а цензурой. Вернее, на поясе-то у нее, как и у прочих моделей, были намертво приклеены широкие полотняные штаны ги, а вот нейтральный топик на груди, после того как модель подстроилась под габариты Мелиссы, стал выглядеть скорее рисунком, нежели одеждой. Пришлось Ксенобайту по-быстрому сгонять в библиотеку, чтобы разыскать там какую-нибудь куртку.
Увлеченный очередным сеансом избиения бота Махмуд ничего не заметил. Имитатор, правда, был уже не тот, что раньше: подняв обе руки, он угрюмо оборонялся, время от времени огрызаясь короткими мощными ударами.
Но вот имитатор в очередной раз отправился в нокаут, и Махмуд снова издал победный клич.
— Эй, красавчик, — ухмыльнувшись, прошипела подкравшаяся к нему сзади Мелисса, — готовься. Теперь тобой займусь я.
Махмуд осекся и испуганно обернулся. Смерив Мелиссу опасливым взглядом, он отошел в сторонку.
— Не проблема, он полностью твой, — с фальшивым энтузиазмом заявил ходок, указывая на бота. — А я пойду пивка хлебну, что ли...
— Ты не понял, — покачала пальчиком Мелисса. — Я имела в виду тебя.
— Да ладно тебе, Мелисса, я обучил парня почти всему, что знал... Он твой, только не делай с ним ничего такого, о чем он потом не сможет рассказать Кеше.
— Махмуд, завязывай дурака валять и готовься.
— Мелисса, это же не серьезно... — пробормотал ходок, потихоньку начиная пятиться. — Черт, завязывай... Не подходи, хуже будет... Ну, сама нарвалась!
Махмуд крутанулся, нанося короткий, почти без замаха, но мощный удар по корпусу и тут же уходя в оборонительную позицию. И не зря: Мелисса, легко уклонившись от удара, немедленно перешла в атаку, проводя серию.
Махмуд отбивался отчаянно, но Мелисса была намного быстрее. К тому же она ловко использовала удары локтями и коленями. Махмуд начал закипать. Это его и погубило. При очередном ударе он слишком сильно наклонился, теряя устойчивость. Мелисса тут же ухватила его за запястье, дернула вперед, нанося встречный удар коленом. Махмуд полетел на землю, едва успев заслониться руками от еще одного удара — ногой в лицо, попытался встать, но Мелисса подбила ему колено и, схватив противника за голову, резко крутанула. Раздался характерный хруст, однако индикатор жизни остался на месте. Мелисса нахмурилась, Махмуд попытался было что-то сказать, но девушка снова сильно крутанула его башку.
— Э-э-э... Надо будет добавить это в систему расчета повреждений, — задумчиво проговорил Ксенобайт, — а то как-то неудобно получается... Мелисса, да брось ты его, не видишь, он уже на все согласный. Эй, а вы чего приуныли?
Кеша и Внучка сидели с вытянутыми физиономиями и выпученными глазами. Кеша мелко дрожал.
— Когда Мелисса грозила открутить кому-то голову, — пискнул он наконец, — я всегда думал, что это она так, фигурально... А вот сейчас почему-то думаю, что нет...
Мелисса застенчиво потупилась и погрозила Кеше пальцем, после чего обернулась к растирающему шею Махмуду:
— Ну что, реванш хочешь?
Ходок промычал что-то невразумительное. По застывшей в глазах тоске можно было заключить, что внутри него происходит мучительная борьба: с одной стороны, отступать без попытки реванша было как-то неудобно, с другой — получать новую взбучку на глазах у друзей тоже как-то не хотелось. Мелисса моментально просекла его дилемму и, улыбнувшись, проговорила:
— Хотя, может быть, как-нибудь в другой раз, я тут вспомнила, что мне еще кое-куда зайти надо.
Махмуд бросил на Мелиссу полный благодарности взгляд. Банзай деликатно уставился куда-то в небо, делая вид, что ничего такого не заметил. И только Ксенобайт бестактно заржал.
— Быть может, Ксенобайт меня пока заменит?! — холодно проговорила Мелисса, смерив программиста недобрым взглядом.
Раунд 04: Ксенобайт против Махмуда
16 июня, 15:02 реального времени
— Кеша, а не сообразишь ли ты нам по-быстрому чего-нибудь вроде ринга?
— Ну, — нерешительно проговорил дизайнер, — у меня как раз есть один в буфере, я собирался установить его в монастыре... Но это скорее, помост, хотя на ринг и похоже.
— Кеша, найди четыре дерева и обнеси их веревками, этого будет вполне достаточно. Ксен, ты как, морально готов?
— Махмуд, отстань, — вяло отмахнулся программист, бегающие глаза которого выдавали некоторое беспокойство.
— Не-не-не, покажи нам свое кунг-фу, мастер!
— Мое «кунг-фу» — в основном здесь, — отрезал Ксенобайт, кивая на панель управления.
— Ладно, я попробую перефразировать: выходи, идолище поганое, биться будем. Так доступнее?
— Махмуд, иди в пень.
— Да ладно тебе, Ксен, — умоляюще проговорила Внучка. — Это же будет, во-первых, поединок века, а во-вторых, почти не больно! В конце концов, ты сегодня всех подначиваешь, а сам не дерешься... Это нечестно!
Ксенобайт удивленно вытаращился на Внучку. По всему было видно, что с этого фланга он атаки не ждал.
— Ксен, прими это как неизбежность, — серьезно посоветовал Махмуд. — Поверь мне, если ты не согласишься, я превращу твою жизнь в кошмар. Я подсыплю тебе в кофе слабительного. Я буду подкладывать тебе кнопки на стул. Я свяжу между собой твои шнурки. Я...
— Надо же, я, оказывается, работаю бок о бок с гением зла, — саркастически ухмыльнулся Ксенобайт. — Кажется, у меня просто нет выбора...
Программист быстро пробежался пальцами по панели управления и исчез. Спустя секунду один из ящиков подпрыгнул, его крышка с треском вылетела. Программист вылез из ящика, встряхнулся и широким шагом направился к импровизированному рингу.
— Что-то мне это не нравится, — тоскливо пробормотал Кеша.
— Да ладно тебе, — постаралась утешить друга Внучка. — Мне тоже немного жаль Ксена, но поверь, увидеть, как он получает взбучку, — не такое уж частое удовольствие...
— Да ты посмотри на него! — перебил ее Кеша. — Посмотри на его физиономию! Что-то не похоже, чтобы он был сильно расстроен перспективой драки!
Внучка удивленно глянула на Кешу, потом на Ксенобайта.
— Ой-ей! Слушай, я не знаю, где и как, но он точно жульничает! Вот прямо сейчас и жульничает....
Программист, приподняв веревку, шагнул на огороженный Кешей ринг. Там его уже поджидал Махмуд.
— Ну что, начнем? — задорно спросил Махмуд и осекся.
Как у всякого опытного ходока, у него было профессиональное чутье на неприятности. Одного взгляда на Ксенобайта ему хватило, чтобы, не вдаваясь в глубокий анализ, перейти к превентивному рукоприкладству. Точнее — попытаться перейти. Пока он замахивался, программист молниеносно сократил дистанцию, не оставляя кулаку Махмуда дистанции для разбега.
Ксенобайт и Махмуд сцепились в клинче. По всему было видно, что ходок не был готов к столь стремительному развитию схватки и упустил инициативу. Программист осыпал его ударами, не давая опомниться и собраться для контратаки, а потом вдруг прыгнул на спину ошарашенному противнику и вцепился зубами в его загривок.
— Ксен, ты что, совсем озверел?! — испуганно взвыл Махмуд. — Уберите его от меня, он заразный!
Неимоверным усилием ему наконец удалось стряхнуть с себя противника и метким пинком слегка разорвать дистанцию. Ксенобайт приземлился достаточно мягко и, тут же вскочив, всем своим видом дал понять, что готов повторить атаку в любую секунду. Деморализованный и взбешенный Махмуд, взревев, бросился в атаку.
Движениям Ксенобайта, быть может, недоставало отточенности и изящества, но и впечатление, что он просто молотит кулаками куда придется, было обманчиво. Программист уворачивался как угорь и при этом постоянно пытался схватить противника за конечность, чтобы вывернуть ее, выломать, выдернуть из сустава...
— Что мы, в сущности, знаем о Ксенобайтах? — задумчиво проговорил Банзай, наблюдая, как программист терзает прижатого к столбику ринга Махмуда. — Вот ведь живем с ним бок о бок и не знаем, что рядом с нами — кровожадное чудовище...
— Интересно, а в реале он такое повторить может? — с некоторым беспокойством спросила Внучка.
— Вряд ли, — пожал плечами Банзай. — Хотя, зная способность Ксена преподносить сюрпризы, я бы воздержался от экспериментов.
Логово тестеров
16 июня, 15:29 реального времени
Ксенобайт с самым невинным видом пил кофе, изредка бросая на Махмуда ехидные взгляды.
— Даже не смотри в мою сторону, маньяк, — ворчал Махмуд, демонстративно стараясь устроиться как можно дальше от программиста.
— Хватит уже дуться, как гимназистка на бакинских комиссаров, — примирительно ухмыльнулся Ксенобайт. — Ну хочешь реванш?
— Да ну тебя к лешему, Тайсон сушеный, — проворчал ходок. — Неудачный у меня сегодня день какой-то... Просто удивительно — чтобы меня вот так, на ровном месте, три раза подряд облапошили.
— А я тебе давно говорил: вещи редко бывают тем, чем выглядят, — поучительно заметил Мак-Мэд. Говоря по совести, стрелок жалел, что покинул виртуалку и оставил друга «на поругание».
Мелисса и Внучка увлеченно просматривали отснятый материал.
— Ну Ксен, вот ведь зараза, кто бы мог подумать?! — приговаривала Мелисса, просматривая запись пропущенного поединка. — Слушай, давай заметку напишем... «Программист сходит с ума на рабочем месте и кидается на сотрудников»... Или так: «Нападение программистов-каннибалов»...
— А я все слышу, — елейным голосом сообщил Ксенобайт. — Хотите, прямо сейчас вам свежих фактов к репортажу подкину?
— А ты не больно-то зазнавайся, — прищурившись, предупредила Мелисса. — Махмуд вон тоже был слишком уверен в своих силах!