Пространство игры «Покорители забытых перекрестков»
Техническая зона
12 августа, 13:06 реального времени
— Ну, как это будет работать? — волновался Кеша.
Ксенобайт смерил дизайнера взглядом, вздохнул и закрыл глаза, погрузившись в изучение скрипта. Минуты три он хмыкал, делал какие-то пассы руками — очевидно, прогоняя скрипт через виртуальный дебаггер. Наконец программист открыл глаза, помотал головой и бессильно развел руками:
— Сдаюсь! И как?
Физиономия Кеши вытянулась.
— А... собственно, я-то откуда знаю? Я думал, ты разберешься.
Ксенобайт задумчиво посмотрел на Кешу, подбирая слова для относительно деликатного ответа.
— Как бы тебе объяснить, Кеша... Вот скажи мне: кто этот скрипт написал?
— Ну я, — смутился дизайнер.
— Правильно, — важно кивнул Ксенобайт. — Так кто же обязан знать, как эта штука должна работать?! Ты вообще зачем его писать начал? Что ты этим хотел сказать?!
Кеша смущенно ковырял носком ботинка землю. Ксенобайт тяжело вздохнул:
— В обычных условиях я бы сказал, что есть простой способ проверить, что делает эта штука. Попросту взять ее и запустить. Но когда дело касается твоих экспериментов, тут все не так однозначно. Помнишь кротов? Безобидные зверушки, их из дробовика валить можно было, а каких мутантов из них сделал ты?! Огненная модель, прожигающая сквозные дыры до самого буферного коллектора и оставляющая вместо кротовин плюющиеся магмой кратеры. А что было, когда эти паразиты докопались до подземного резервуара с нефтью? Вспомнить страшно, нам же половину той локации перерисовывать пришлось.
— Игрокам понравилось, — буркнул Кеша.
— О да, такой фейерверк был — вспомнить тошно. И все эти катаклизмы только потому, что тебе было лень алгоритмизировать процесс рытья!
— Я запутался, а сделать хотелось поскорее!
— Ага, именно. А твоя кошмарная колбаса?! Это же было бедствие всесерверного масштаба, пока не догадались, что к чему...
Кажется, Кеша был готов провалиться сквозь землю от смущения. История с колбасой и правда вышла прямо-таки мистической. Ксенобайт так и не смог понять, каким образом Кеше удалось изуродовать самый обычный продукт до такой степени, чтобы при условном съедении он не исчезал из мира, а складировался внутри виртуального тела персонажа.
И ведь поначалу все было ничего, за исключением того, что постоянные потребители колбасы стали стремительно набирать вес — впрочем, без малейшего ущерба для фигуры. Некоторые игроки начали робко жаловаться, что их немного заносит на поворотах, настилы порой проваливаются у них под ногами, а транспорт зачастую ведет себя как при перегрузе. Другие, напротив, очень быстро оценили возможность, разбежавшись, попросту проломить кирпичную стену, а связав новые возможности с колбасой (и ведь догадались же!), стали целенаправленно отъедаться.
Но всему хорошему приходит печальный конец. Фактически где-то внутри виртуального тела образовывалась постоянная по объему ячейка, помеченная как «колбаса». Эта ячейка с каждой новой порцией наращивала свою массу, не меняя объема, и в конце концов особо рьяные пожиратели колбасы начали коллапсировать.
Администрация сервера, в том числе и тестеры, с ног сбились, устраняя возникающие на месте коллапса черные дыры. Но это были цветочки. В одном месте пять одновременно коллапсировавших любителей колбасы едва не зажгли сверхновую. Окончательно обалдевший от такого мракобесия движок заикался, тестеры матерились, вопрошая логи, откуда на них такая напасть.
Не передать цензурными словами, сколько сил и нервов ушло, чтобы увязать вместе черные дыры, колбасу и Кешу. Когда следствие наконец вывело Ксенобайта на дизайнера, он едва не задушил бедолагу, позабыв от прилива чувств, что они в виртуальном пространстве. Как раз в это время вспыхнула сверхновая, и тестеры пулей понеслись исправлять нанесенные повреждения, выдав дизайнеру пинка и приказ все исправить.
Кеша, как мог, исправил. Ему в голову пришло просто-таки гениальное по своей простоте решение проблемы: чтобы злополучная колбаса не накапливалась внутри персонажа, она должна, в полном соответствии с природным аналогом, стремиться покинуть его тело...
В общем-то, Кеша был не так уж и неправ. Только вот колбаса почему-то предпочитала покидать виртуальное тело, проламывая изнутри грудную клетку, что породило массу нездоровых аналогий с синематографом прошлого века...
Еще какое-то время сервер развлекался отстрелом колбасы, несмотря на то, что изуродованный Кешей скрипт давно заменили на резервный. В общем и целом, игрокам понравилось, Михалыч чуть не отравился валерьянкой, а тестеры до сих пор и на реальную колбасу не могли смотреть без отвращения.
Собственно, именно после этого скандала Михалыч и попросил Ксенобайта либо хоть чуть-чуть обучить Кешу премудростям скриптописания, либо закопать его где-нибудь в тихом месте.
А скриптеры были очень нужны. Первая волна популярности, вызванная естественным интересом к новой игре, сходила на нет. Пришла пора как следует перетряхнуть игровой мир, тщательно проанализировав накопленный за прошедшие месяцы опыт. Даже работы по обустройству новых локаций были приостановлены, а весь персонал переброшен на фронт модернизации уже запущенных в игру элементов.
— Вернемся к нашим баранам, — угрюмо призвал Кешу на грешную землю Ксенобайт. — Итак, что делает этот скрипт?
— Э-э-э...
— Попробуем зайти с другой стороны. Что он должен был делать по первоначальному замыслу? Думай, Иннокентий, думай, это даже не логика — это просто память!
— А! — просиял дизайнер. — Мы... это... отрабатывали триггер агрессии. То есть, если я ударю вот этого монстра, он должен на меня напасть.
— Так, — кивнул Ксенобайт. — Почти правильно. Если точнее, задача выглядела так: условия срабатывания триггера агрессии. А именно: триггер срабатывает после атаки либо непосредственно на монстра, либо на вожака группы. Таким образом, если я атакую кого-то из стада, на меня обижается только он. Но если я атакую вожака — атакует все стадо. Так?
— Ну... Вроде да.
— И как думаешь, ты с задачей справился?
Кеша беспомощно развел руками. Ксенобайт вздохнул и произнес сакраментальную фразу:
— Есть только один способ проверить, правда?
— А может, не надо? — занервничал Кеша.
Ксенобайт не удостоил его ответом. На небольшой площадке перед ними стояло штук шесть зубастых ящеров, примерно с человека ростом, с длинными загнутыми когтями. Ксенобайт взмахнул рукой, внедряя в каждого из них написанный Кешей скрипт. Ящеры вздрогнули и открыли глаза. Кеша сглотнул.
— Хм, — после минутного молчания сообщил Ксенобайт, — пока все не так уж и плохо. Сервер не ушел на перезагрузку, нас не выкинуло в коллектор... и даже ящеры на нас не бросаются. Хорошо, теперь попробуем активировать триггер...
Ксенобайт подошел к ближайшему ящеру и с размаху треснул его ладонью по морде. Ящер мотнул головой, зло фыркнул и закрыл глаза короткими передними лапками.
С минуту программист пытался осмыслить суть происходящего. Ящер продолжал стоять. Время от времени он осторожно приподнимал лапки, убеждался, что Ксенобайт на месте, и снова их опускал.
— Это что такое?! — требовательно осведомился программист.
Тем временем ящер успокоился и вернулся в первоначальное сонное состояние. Ксенобайт отвесил ему вторую затрещину. Ящер с рычанием оскалил внушительную пасть — и опять закрыл глаза лапами. Программист, насупившись, подошел к другому ящеру и выдал ему оплеуху. Тот прореагировал точно так же, как и его сосед. Ксенобайт устало потер переносицу. Подождав, пока оба ящера не успокоятся, он подошел к стоящему чуть поодаль вожаку и пнул его в голень. Все динозавры на полянке, как по команде, съежились и закрыли глаза.
— Хм, какая-то извращенная логика в этом есть, — вынужден был признать Ксенобайт. — Будем считать, что условие срабатывания ты задал правильно. Но что, ради нулевого кластера, они делают?!
Программист, досадливо щелкнув пальцами, вернулся к изучению скрипта. Потом ошарашенно глянул на Кешу. Снова на скрипт. Не открывая глаз, Ксенобайт забормотал:
— Хм... Видим... Не видим. Есть — нету. Вот черт... Как дети, ей-богу...
Неподалеку от Кеши засветился портал. На поляне появился Махмуд, чем-то явно озабоченный.
— А, вот вы где! Слушай, Ксен, мне, похоже, понадобится твоя консультация. И, кстати, тебя Мелисса искала, говорила, что... Чего это они на меня уставились?!
Ящеры, до этого меланхолично дремавшие на полянке, и правда с подозрением глядели на вновь прибывшего.
— Да не обращай внимания...
— Да как не обращать, разговаривать же невозможно... Ну что ты пыришься? А?
Махмуд отвесил вожаку динозавров крепкую затрещину. Стадо, привычно взревев, закрыло глаза. Махмуд обалдело хмыкнул.
— Это... Чего это они?
— Это они тебя уничтожили, — едко пояснил Ксенобайт.
— Да? Интересно. А как?
— Очень просто. Раз они тебя не видят — значит, тебя нет.
— С самомнением зверушки, однако, — холодно заметил Махмуд. — Мак-Мэду расскажи, ему понравится. Кеша, что ли, тренировался?
— Точно. Кеша, ну вот как ты этого добился, а? Я даже не спрашиваю, зачем ты, собственно, полез переопределять функцию агрессии, но вот этого ты как добился, а?
Ксенобайт зло треснул по морде приоткрывшего было один глаз вожака. Тот аж заскулил от ненависти.
— Ладно, по настройкам условий агрессии — зачет. За остальное — два наряда вне очереди. Махмуд, что там у тебя стряслось?
Логово тестеров
12 августа, 13:38 реального времени
— Что значит «происходит что-то странное»? — раздраженно уточнил Ксенобайт.
— То и значит, — хмуро буркнула Мелисса. — Поступает масса жалоб... Даже не то что жалоб, просто на форуме пишут, что происходит какая-то ерунда в каньонах.
— Ну хорошо, а что там вообще есть?
— Да ничего, в общем-то, и нет. Длиннющие трассы, на которых можно устраивать ралли с перестрелками. На северной окраине — старая нефтеперегонная станция. Еще есть свалка техники и на юго-востоке военная база, попавшая под выброс, там теоретически можно неплохо разжиться снаряжением, но... радиация и полно мутантов.
— Что за мутанты?
— Да мелочевка всякая: бешеные коровы, попрыгунчики, духи, черпаки и деды. В двух-трех местах — псевдопрапорщики. Рейд-босс со свитой. Стандартный армейский набор — ни интеллекта, ни обаяния.
— Та-ак... Ну и?
— Что «ну»... В последнее время все чаще байки травят про эту локацию. Мол, кто-то лично видел, как в старой военной части попрыгунчики построились на плацу и занимаются строевой подготовкой под командованием псевдопрапорщика.
Ксенобайт презрительно сморщился.
— Мало ли что наплетут для красного словца?..
— Я бы тоже так подумала, — мрачно отозвалась Мелисса. — Но уж больно сообщений много. Несколько раз говорили, что по каньонам колесит грузовик, набитый ботами. Еще... Ну ладно, это и правда обычные байки. Но поступали и жалобы. Один игрок приехал на машине и залег неподалеку от нее в засаде. Пока он там лежал, у него свинтили колеса, слили горючку из бака и вычистили багажник. Пострадавший уверяет, что это сделали мутанты с базы, скорее всего, духи.
На этот раз Ксенобайт уважительно покачал головой:
— Ага, вот это уже тянет на сенсацию. Еще что-нибудь?
— Есть. Несколько раз жаловались, что черпаки и духи расползаются вокруг базы. Вроде их даже видели в других локациях, впрочем, даже если и так — не факт, что именно из этой части. Кто-то рассказывал, что видел деда, переодетого пустынником. Ну и наконец, недавно кто-то стопанул конвой, идущий от нефтеперегонного с цистерной. Обычное дело, в общем-то, на то локацию и проектировали. Но персонажи клянутся, что их вздули боты! И не просто вздули, а аккуратно отбили цистерну и увели к себе на базу. Другая компания пыталась пошарить на военной базе — так они говорят, что боты устраивают там вполне организованную оборону! В общем, Ксен, я понимаю, что каждая из этих историй в отдельности — ерунда, потому как каждый игрок норовит немного приукрасить свои приключения. Но что-то уж слишком много историй. Там недавно скрипты поведения перенастраивали, может, перемудрили чего? Сходи проверь.
— Ладно, — не стал спорить Ксенобайт. — Схожу проверю. Махмуд, а у тебя там что было?
— А? — Махмуд оторвался от каких-то распечаток и рассеянно уставился на программиста. — О! Да... слушай, такое дело... я тут заметил, что сервер просто-таки проседает на обсчете одной локации. Это пока не заметно, но все резервы процессорного времени выжираются подчистую, а главное, я никак не могу понять — на что?! Вот я и подумал, может, какой программный глюк?
— Возможно. Обсчет какого-нибудь дурацкого цикла, замкнувшаяся рекурсия... А что за локация?
— Ты будешь смеяться — каньоны!
— Обхохочешься, — пробурчал Ксенобайт.
Локация «Каньоны»
12 августа, 14:23 реального времени
— Ксен, а какого черта мы едем туда столько времени, вместо того чтобы прыгнуть порталом, как нормальные админы?
— Потому что мы временно не админы. Все здешние курьезы случаются только с игроками. Я интересовался, было несколько скандальных историй, к которым привлекали администрацию. Дежурный админ прибывал на место происшествия, оглядывался по сторонам и заявлял, что ничего необычного не находит.
— То есть ты считаешь, что они чуют инженерный флаг и специально морочат нам голову?
— Кто — они? — холодно уточнил Ксенобайт.
— Боты.
— Я этого не исключаю. В любом случае творящаяся чепуха не имеет ярко выраженного центра, так что нам все равно придется поездить вокруг, посмотреть...
Друзья катили по обширной равнине на небольшой машинке-багги. Большинство игроков порядком недолюбливало эти устройства за отсутствие брони, но тестерам не требовалось ничего, кроме скорости и всепроходимости, а уж по этим параметрам мало что могло тягаться с маленьким сваренным из труб драндулетом.
Инспектировать каньоны Ксенобайт с Махмудом отправились вдвоем. Программист едко бурчал, что, если б с ними поехала Внучка, следом наверняка увязалась бы остальная компания в полном составе. А Внучка уж всяко вознамерилась поучаствовать, будь она сейчас в игре, а не в редакции.
Но, увы, у всех было дел невпроворот. Даже Кешу, пока Ксенобайт препирался с Мелиссой, уволокли на какие-то работы. В результате остался только Махмуд, с которым Ксенобайт договорился «по бартеру»: ходок помогает ему разобраться со странностями, а программист в ответ — с утечкой вычислительных мощностей.
— Подъезжаем к границе локации! — сообщил Махмуд. — Смотри внимательно.
Машина подъехала к некой невидимой черте, и Ксенобайт сразу понял, о чем говорил Махмуд. На один краткий миг реальность вокруг, казалось, запнулась, моргнула и тут же скачком выровнялась.
— Хм... Да, я заметил.
— И, что характерно, абсолютно непонятно, из-за чего. Игроков в локации почти нет. Ну... точно меньше, чем, скажем, неделю назад. Крупных рейд-боссов нет. Сложных объектов нет. Ничего, елки-палки, нет! «Населена роботами».
— Разберемся, — хмуро откликнулся Ксенобайт, сворачивая с шоссе на грунтовую дорогу, карабкавшуюся в гору.
— У тебя есть идеи, с чего начать? — уныло спросил Махмуд.
— Начнем с того, что оглядимся по сторонам.
Открытое пространство локации представляло собой как бы два лабиринта: один — петляющая внизу дорога, второй — по гребням изрезанного каньонами плато. Сейчас Ксенобайт уверенно направился на верхний ярус, рассчитывая оглядеть оттуда большое пространство.
— Тут есть одна площадочка, — сообщил он Махмуду. — Идеальный наблюдательный пункт. С него можно контролировать здоровенный сектор.
Вскоре Ксенобайт притормозил, внимательно огляделся и, кивнув самому себе, загнал машину в неприметную расселину.
— Дальше пешком, — сообщил он, доставая из ящика, заменяющего багги багажник, автомат и «разгрузку», набитую всякой полезной мелочью — от запасных обойм до гранат.
— А это зачем? — хмыкнул Махмуд.
— На всякий случай.
— Во как... А для меня «на всякий случай» не догадался чего-нибудь прихватить?
— Обижаешь, — ухмыльнулся Ксенобайт, копаясь в ящике.
Спустя минуту Махмуд, умиротворенный чем-то крупнокалиберным за плечом, шагал за программистом по тропинке, слишком узкой для машины. Тропинка вывела на небольшую площадку, находящуюся на возвышении. Ксенобайт деловито разложил небольшую треногу, установил на нее универсальный бинокль и принялся неспешно осматривать сектор за сектором.
— Гляди-ка, — вдруг хмыкнул он. — Конвой ползет!
— Где?! — оживился Махмуд, доставая свой бинокль. — Ха, и верно! Слушай, а давай его стопанем, а?
— Нельзя, — с явным сожалением покачал головой Ксенобайт. — Мы на работе... Да и снаряга нарисованная, так нечестно! К тому же ох и начистили бы нам рога...
— И ничего не начистили бы! — обиделся Махмуд. — Нам бы сюда еще Мак-Мэда...
— Ну, сказанул... Вот ведь черт, а ты гляди, какой жирный караван, а?
— Да, ребятки явно пожадничали... Две цистерны, да еще и грузовик... Грузовик-то они где взяли? Кузов забит всяким барахлом, в основном, кажется, запчасти...
— И при этом всего пять машин охраны! — простонал Махмуд. — Ксен, надо их наказать! Ну просто надо, это же... Я не знаю... Значит, так, две гранаты: одна по головной машине, другая по задней...
— Заднюю лучше зажигательной в бак, — перебил Ксенобайт.
— Согласен. Потом ты снимаешь того фраера на квадроцикле, и у них остается только...
— Слушай, а ты ничего не слышишь? — нахмурился вдруг Ксенобайт, отрываясь от бинокля.
— Вроде как двигатель, — рассеянно пожал плечами Махмуд. — Что-то легкое, квадроцикл или...
— Да у нас же тачку угоняют!
С наблюдательной высотки тестеры скатились, точно подбитые метким броском кегли, и еще успели увидеть, как их родная машинка резко сорвалась с места, обдав бывших хозяев фонтаном пыли и мелкого гравия. Махмуд выпустил по угонщику очередь с бедра, однако без особого эффекта, разве что тот еще сильнее вдавил педаль газа.
— Бегом! — рявкнул Ксенобайт, забрасывая автомат за спину.
Махмуд, глухо зарычав, последовал примеру программиста. Тот бежал не вслед за машиной, а куда-то в сторону: это рождало надежду, что у программиста есть какой-то план.
— Ты видел?! Ты видел, кто был за рулем?!
— Не уверен, — зло буркнул программист.
Виртуальная реальность давала им возможность не особо беречь дыхание, но оба тестера дышали тяжело: то ли от злости за пережитое унижение, то ли так, по привычке.
— Помятая каска, грязная гимнастерка, погоны... Мелисса была права! Нашу машину угнал бот!
— Если кто-то узнает, нам обоим придется сделать сеппуку! Или четвертовать этого гада, чтобы смыть позор!
Впереди показался обрыв и послышалось жужжание двигателя. Спускаясь по серпантину, багги вынуждена была огибать плато, в то время как тестеры его попросту пересекли, оказавшись прямо над дорогой.
Одного взгляда вниз достало, чтобы понять: они почти успели. Именно что почти — машинка как раз проезжала прямо под ними. Пожалуй, Мак-Мэд сумел бы, на бегу сорвав с плеча винтовку, снять угонщика влет, Ксенобайту же не оставалось ничего, кроме как без особой надежды попробовать. Сорвав с плеча автомат, он выпустил очередь в сторону проносящейся мимо машинки.
Махмуд все понял. По перекошенной физиономии приятеля, по слезам ярости, застывшим в его глазах, и по положению ствола его автомата. И, даже не успев задуматься, что, собственно, делает, сделал то последнее, что еще можно было. Не сбавляя хода, он повернул чуть левее, так, чтобы бежать в ту же сторону, что и машина, и, оттолкнувшись от обрыва, рыбкой ушел вниз.
Внизу что-то хрустнуло, пискнуло, багги, чиркнув днищем по грунту, подскочила на рессорах. Завизжали тормоза, на миг Ксенобайту показалось, что сейчас машина нырнет с обрыва так же, как секунду назад это сделал Махмуд, но в последний момент кто-то выкрутил руль, и машина уткнулась носом в скалу.
Теряя в спешке пункты здоровья, Ксенобайт съехал вниз по почти отвесному обрыву, чтобы присоединиться к Махмуду.
— Живым брать, демона! — завопил он, с размаху вклиниваясь в потасовку.
По правде говоря, угонщик не очень-то и сопротивлялся. Да и тестеры колотили его больше для восстановления душевного равновесия. Наконец Махмуд выволок угонщика из машины и как следует встряхнул.
— Ну вот, я же говорил, что чудес не бывает, — удовлетворенно кивнул Ксенобайт. — Коровы не летают, кирпичи не плавают, а боты машин не крадут!
— Ладно, народ, хорош уже меня мочалить, а? Поговорим? — пробурчал похититель машины.
— Сначала мы тебя расстреляем... Погоди, это что, игрок? — нахмурился Махмуд.
— Именно, — кивнул Ксенобайт. — Так что можем спокойно слить его в утиль.
— Э, мужики, не надо! — оживился пленный. — Ничего личного, просто колеса очень нужны были. А насчет того, что боты не крадут... это ты погорячился, начальник!
Тестеры удивленно переглянулись:
— Поясни, — хмуро велел Ксен.
— Да чего тут пояснять, — горько вздохнул воришка. — Вы что, думаете, я сюда пешком пришел, что ли?
— И что, твою машину угнал бот?
— Точно. Пока я за попрыгунчиками гонялся, двое духов мою тачку умыкнули. Одного я снял, но другой ушел.
— Ага, так, значит, в налете еще и попрыгунчики участвовали? — скептически сощурился Махмуд.
— Не хотите, не верьте, — обиделся угонщик.
— И где же тебя так досадно ограбили? — вкрадчиво спросил Ксенобайт.
— Да понятно где, — уныло пожал плечами игрок. — Возле военной базы! Просто наваждение какое-то...
Махмуд осторожно отпустил угонщика. Тот, кажется, и не заметил, что уже, формально говоря, свободен, а может, просто понимал — в случае чего пулю обогнать не сумеет.
— Раньше тут хорошо поживиться можно было, — доверительно сообщил угонщик. — По мелочам, конечно, но тем не менее. Хочешь — дуй на нефтеперегонный, заправляй цистерну — и веди конвой. Я пару раз вообще в одиночку проскакивал! Хочешь — на свалку, за запчастями. Хочешь — на армейские склады. Если меру знать — всегда проскочить можно. А последнее время просто непруха какая-то... То какой-то анонимный снайпер меня подстрелил, то на мину нарвался там, где ее отродясь не было. Да я уже пол-уровня тут спустил, и мало того, что ни копейки не заработал, так еще и машину потерял. Ну не измена, а?
— Да, бывают огорчения, — посочувствовал Ксенобайт. — А зачем же ты...
Неожиданно программист осекся и вскинул палец.
— Слышите?
— Как будто стреляют где-то, — настороженно проговорил Махмуд.
— Не просто стреляют, — в неожиданном озарении проговорил Ксенобайт. — Это же наш конвой потрошат!
Локация «Каньоны», военная база
12 августа, 14:47 реального времени
Бросив незадачливого угонщика на произвол судьбы, тестеры запрыгнули в свою изрядно помятую машину и рванули вперед. Махмуд сосредоточенно молчал, в глазах Ксенобайта разгорался нехороший огонек: кажется, у него в голове засела какая-то мысль.
— Ксен, — осторожно спросил Махмуд, — а что мы, собственно, хотим там увидеть?
— Мы хотим увидеть, кто напал на конвой!
— А тебе не кажется, что нам там могут крупно всыпать? Обе стороны, скорей всего, посчитают нас за подкрепление противнику, так что потенциально получать будем и от тех, и от других.
— А, можно подумать, в первый раз! — досадливо поморщился программист.
Впрочем, Ксенобайт не полез на рожон: свернув на едва приметное ответвление дороги, он снова стал наворачивать серпантин, поднимаясь на утес. Стрельба уже стихла, но поднимающийся к небу столб копоти достаточно красноречиво обозначал место стычки.
На этот раз тестеры не рискнули далеко отходить от своего транспорта. С другой стороны, неизвестные налетчики вполне могли оставить снайперов или гранатометчиков как раз на этом, таком удобном для наблюдения, уступе.
Осторожно проверив уступ, убедившись, что на нем никого нет, и на всякий случай поставив пару растяжек на подступах к машине, тестеры наконец заняли позицию. Ксенобайт прилип к окулярам бинокля...
То ли нападающие решили не мелочиться, то ли просто промазали, но одна из двух цистерн стояла, развороченная взрывом, намертво перекрывая каньон. Впрочем, налетчиков все равно ждал неплохой куш: вторая цистерна и грузовик. Тестеры с волнением рассматривали нападавших. Внизу, между перевернутых машин и оставшихся от убитых мешочков с трофеями, бродили странные фигуры, с головы до ног закутанные в рваные бесформенные балахоны песочного цвета, с лицами, замотанными грязными тряпками и укрытыми капюшонами.
— Так это же бедуины-пустынники! — удивленно заметил Махмуд.
— Н-да-а... — неуверенно протянул Ксенобайт. — Что ж, с одной стороны, это может кое-что объяснить: они как раз специалисты по охоте за караванами, хотя и совсем в другой местности. С другой стороны, что они тут делают?
— Ну, это уже не так трудно объяснить, правда? Пустыня-то недалеко, собственно — соседняя локация!
— Тут ты прав, конечно, — с сомнением кивнул Ксенобайт. — Такое вполне... Постой-постой, а вот это уже интересно! Ты гляди, что они делают!
Пустынники, до этого, казалось, бессистемно бродившие по полю боя, вдруг оживились. В их движениях появилась целенаправленность: они начали собирать разбросанное оружие и снаряжение, стаскивая его в одну кучу. Мало того, еще несколько пустынников оглядывали машины, то ли прикидывая, можно ли с них что-нибудь свинтить, то ли оценивая, не попробовать ли вернуть их на ход.
— Пустынники, как все боты, не собирают трофеи! — прошипел Ксенобайт. — Они оставляют их для игроков!
— Ну, у нас же сейчас вроде целая кампания по модернизации поведения ботов? — неуверенно предположил Махмуд — Может, им ввинтили в мозги, скажем, стремление вооружаться получше? Ну вроде у бота — пистолет, а рядом дробовик валяется. Бот прикинул, что у дробовика повреждение больше, ну и... несложная ведь схема!
— Несложная, да и используется много где, — кивнул Ксенобайт. — Но они ведь не вооружаются! Они натурально добычу стаскивают в одно место. А цистерна им зачем? Ты гляди, вон тот бедуин сел за руль цистерны и пытается вырулить на дорогу! Черт, бедуины не водят машины, только мотоциклы!
— А какая разница? Транспорт — он транспорт и есть, а бронирована цистерна лучше, чем мотоцикл, — явная выгода!
— А грузовик с запчастями им зачем? Нет, Махмудыч, тут что-то нечисто! Ты гляди, что они делают!
Пустынники выстроились неровной шеренгой перед кучей добытого барахла. Вперед вышел бот покрупнее прочих, прошелся взад вперед перед строем, потом что-то рявкнул. Бедуины засуетились и принялись грузить добычу в грузовик.
— Я все понял! — уверенно заявил Махмуд. — Это никакие не боты. Это игроки, просто они прикалываются.
— Зачем так прикалываться? — хмыкнул Ксенобайт.
— А чтобы репу не начистили. Допустим, ребята — небольшой клан, навострившийся чистить конвои, но прекрасно понимающий, что открытой войны с другим кланом им не выдержать. Вот они и разыгрывают клоунаду. Клиент в шоке, кому мстить — непонятно, все довольны. Рано или поздно их, конечно, поймают, но... Ксен, да что ты голову морочишь, мы же админы! Сделай запрос по базе, какие игроки сейчас есть в локации!
— Для этого надо выйти, зайти административным аккаунтом, телепортироваться сюда... — вздохнул Ксенобайт.
— Да, — огорчился Махмуд, — долговато... А может...
— Да ладно, — проворчал программист, доставая из подсумка какую-то штуку, напоминающую небольшой терминал-наладонник. — Только никому не говори...
— А что это? — с опаской спросил Махмуд.
— Эмулятор админа. Вроде переносного терминала... Заходит с моего административного аккаунта, не создавая виртуального тела.
— Слушай, полезная штука! — с уважением протянул ходок.
— Полезная, но мне за нее башку отвинтят... Помнишь, какой переполох был, когда какой-то умник нашел незакрытый терминал в Шелтервилле? А представляешь, что было бы, если б он смог положить его в карман и унести куда ему вздумается?
Махмуда аж передернуло. Во время Шелтервилльского скандала тестеры еще не были администраторами сервера, так что для них случившееся было лишь забавным приключением, но теперь они склонны были оценивать события с другой колокольни.
— Не боись, у меня там система самоуничтожения предусмотрена. Если что, кратер три метра диаметром и никаких проблем... — Ксенобайт нацепил на нос темные очки, очевидно — псевдодисплей от терминала, быстро зашевелил пальцами, подавая запрос... Через пару минут лицо у него вытянулось...
— Ну что там? — несколько нервозно полюбопытствовал Махмуд.
— Игроков там нет, — задумчиво ответствовал Ксенобайт. — Пустынников нет. Будешь смеяться, но и персонала здешней военной базы тоже нет!
— А кто есть? — с опаской уточнил Махмуд.
Перед тем как ответить, Ксенобайт еще раз сверился с терминалом. Помолчав, он пожал плечами:
— Местный рейд-босс, Батяня Комбат!
Налетчики внизу частично скинули маскировку. Из-под балахонов пустынников показалась истлевшая оливковая форма и пепельная кожа мутантов из заброшенной военной части.
Самые младшие из планки мутантов, духи, вооруженные лишь саперными лопатками, были щуплыми, лысыми, с оттопыренными ушами и огромными глазами, позволявшими им видеть в сумраке. Здесь, на ярком свету, они чувствовали себя очень неуютно, но суетливо бегали, точно муравьи, перетаскивая тяжести, развинчивая предназначенные на запчасти машины и собирая полезные мелочи, рассыпавшиеся вокруг.
Черпаки были покрупнее, вооружены пистолетами-пулеметами и сейчас стояли, сонно покачиваясь, как все боты, скрипт которых отработал активную фазу и перешел в режим холостого ожидания: похоже, именно они были основной ударной группой. Вокруг бродили еще три или четыре деда, упакованных в каски и бронежилеты, с тяжелыми автоматами в руках. Заправлял всем псевдопрапорщик — бугрящаяся мышцами тварь с акульей пастью и скошенным лбом, с пулеметом, примотанным к руке колючей проволокой.
— Ксен, кажется, они собрались отсюда дергать, — забеспокоился Махмуд.
Программист, по уши закопавшийся в терминал, вскинул голову. Глаза у него были абсолютно остекленевшие, на физиономии читалась растерянность.
— Ничего не понимаю!
— Ты выяснил, что это?!
— Ну, в общих чертах. Это свита рейд-босса. Только, знаешь... Кажется, все население военной базы, кроме коров, теперь помечено как его свита.
— И что из этого следует?
— Пока не знаю. Вот что, мы ведь догадываемся, куда они поедут?
— Ну, вроде того... На базу?
— Точно. Давай-ка выдвигаться туда, хочу посмотреть, что там творится...
Друзья осторожно покинули наблюдательный пункт и вернулись к машине. Программист уверенно запрыгнул на пассажирское место:
— Махмуд, садись за руль, мне надо еще немного покопаться в базе данных.
Ехали молча. Махмуд на всякий случай огибал потенциальный маршрут захваченного конвоя по широкой дуге, рассчитывая подобраться к военной базе с севера. Ксенобайт был полностью погружен в какие-то вычисления. Наконец он устало поднял очки на лоб и вздохнул:
— Я уже и не знаю, что думать; остается только подозревать зарождение машинного разума или, на худой конец, провокацию. Интересно, что же мы увидим на базе? Кстати, куда это нас несет?
— Подъедем с севера. Там, между нефтеперегонным и вояками, есть замечательная наблюдательная точка.
Машинка тестеров, прыгая с кочки на кочку по грунтовой дороге, выбралась на бетонную полосу. Впереди показался заброшенный поселок из шести-семи одноэтажных домиков, за которым виднелся забор военной части. Загнав машину в какой-то ангар, Махмуд кивнул Ксенобайту и повел его к торчащей посреди поселка водонапорной башне.
— Отсюда вся база как на ладони, — доверительно сообщил он, карабкаясь по лестнице, — и наблюдательные вышки далеко...
Друзья с некоторым даже комфортом устроились на плоской крыше и вытащили бинокли. Минут пять они молча разглядывали военную базу...
— Что ты там говорил насчет машинного разума? — хрипло уточнил Махмуд.
— Похоже, они готовятся к войне.
Военная база, которая, по замыслу, должна была быть лишь зловещей безжизненной декорацией, жила собственной жизнью. Между полуразрушенными зданиями на манер муравьев сновали духи, перетаскивая какие-то мешки, детали, ящики. Между ними важно расхаживали деды, на плацу бессмысленно маршировали черпаки.
Несколько проломов в стене и ворота базы были заложены баррикадами из мешков с песком, битых кирпичей, арматуры и прочего притащенного со свалки мусора. В ключевых точках, точно турели, дежурили псевдопрапорщики.
Мало того! На отдельной бетонной площадке ровными рядами стояли покореженные, но, кажется, вполне рабочие машины, в основном — джипы и обшитые дополнительной броней багги. На специальном стенде стояла еще одна машина — у нее не хватало двух колес. К ней тянулась вереница духов, причем все держали по колесу от самых разнообразных машин. Каждый, подойдя к стенду, пытался втиснуть свою ношу на пустующее место...
— Похоже, они осваивают ремонт техники, — с уважением заметил Ксенобайт.
— Ксен, мне как-то не по себе. Может, пока не поздно, шмальнем по этому муравейнику чем-нибудь, килотонн на двадцать, а? Ну пожалуйста! Вот прямо сейчас зайдем админами — и шмальнем! Ведь они же, гады, учатся! А это плохой признак, я это еще в школе понял...
— Спокойно... Ограниченные способности к самообучению, в принципе, есть у каждого рейд-босса, — проговорил Ксенобайт, не отрываясь от бинокля. — Это не так сложно, просто ресурсов много требует, место на диске, вычислительную мощность... Постойте-ка... Рейд-босс... Свита... Постой-постой! Кажется, я начинаю понимать, что к чему... Но кто, кто мог...
Ксенобайт нахмурился, потом брови его прыгнули вверх, а лицо озарилось страшной догадкой.
— Махмуд... А ты, похоже, хорошо окрестности знаешь, а? Ты что, был тут недавно?
— Ну да, где-то с недельку назад мы с Мак-Мэдом тут немного пострелялись, пока Кеша там чего-то рисовал...
— Кеша?! — страшным голосом просипел Ксенобайт. — Тут был Кеша?!
— Ну да, — удивился Махмуд. — Он тут интерьер обновлял... А что?
— А то, что после этого уже никаким аномалиям удивляться не приходится. Пошли. Остальное я могу вычислить из реальности...
Логово тестеров
12 августа, 15:52 реального времени
— Просто поразительно, до чего они успели дойти за неделю! Почти вся квота на жестком диске целой локации сожрана, квота процессорного времени — тоже. Просто...
— Ксен, не выпендривайся, — мрачно заявила Мелисса. — Ты готов внятно объяснить, что произошло?
— Кеша произошел, — развел руками программист. — Если помните, в начале этого месяца была объявлена всеобщая поэтапная реконструкция введенных в эксплуатацию локаций. В частности, редакция скриптов поведения, по заявкам игроков делающая поведение монстров более «естественным». Наш маленький друг-дизайнер воспринял это весьма близко к сердцу — одно плохо, в плане программирования руки у него растут из таких мест, что Пикассо заикаться бы начал.
Я не знаю, зачем он полез в скрипты местного рейд-босса и что там собирался исправлять. Но главное, что он умудрился сделать, — это разрешить Комбату, во-первых, самому набирать себе свиту, а во-вторых — обращаться к блоку стратегических расчетов (который и включает в себя систему самообучения) для обсчета не только своих действий, но и действий каждой единицы своей свиты.
Наш Батяня быстро поумнел. Он быстро сообразил, что теперь увеличение свиты приводит к увеличению доступа к вычислительным мощностям, что очень полезно для здоровья. Все пригодные единицы в локации тут же были «завербованы». Образовалось что-то вроде коллективного разума — за всех думает Комбат, остальные выполняют его приказы.
— Но как же... Неужели он сам додумался до использования техники, до перевооружения подчиненных, до заготовки топлива... — с подозрением протянула спросила Мелисса. — Это не слишком?
— Нет. Просто Батяня стал бомбить стратег-блок запросами. Окончательно охренев от его амбиций, тот стал подсовывать уже имеющиеся решения из заготовленных сценариев, хранившихся в базе еще с альфа-тестирования и запертых именно из-за ресурсоемкости.
— Ну вот, — расстроился Махмуд. — Что же это... Откат на старые скрипты?
— Откат откатом, а со слухами что делать?
— У меня идея! — вдруг просветлела Мелисса. — Под видом разового события кидаем в игру информацию: мол, на старой военной базе окопался безумный генерал. Тогда все странности последней недели примут за спланированные события. А рейд-босса в конечном счете задавят. Все довольны, всем спасибо, мы тут же делаем откат на старые скрипты...
Махмуд с Ксенобайтом с уважением покачали головами:
— Вот ведь всегда так: главное — сделать вид, что все так и задумано... Но Кеше все равно как следует всыпать надо!
— А как же! — солидно кивнул Махмуд. — Вот Батяня обрадуется: из комбатов сразу в генералы... Слушай, Ксен, а игроки, того... справятся с ним?
Ксенобайт на минуту задумался и уверенно кивнул:
— Справятся! Против геймера не устоит ни один разум, даже искусственный...