Архитектура Переплетения: Путь Маяка

- -
- 100%
- +

Глава 1: Нулевая Зона
[Соединение разорвано]
Я ждал удара белого света, крышки капсулы, сухого воздуха клинического корпуса и голоса дежурного техника, который наверняка уже успел сказать про меня что-нибудь непечатное. После полного погружения выход никогда не был красивым: сначала мир терял запах, потом звук становился плоским, потом тело вспоминало что у него есть шея, спина, язык, прилипший к небу, и провода, которые врачи называли датчиками, хотя по ощущениям они больше напоминали связывание.
Ничего этого не произошло.
Серая сетка осталась под ногами и уходила во все стороны такой ровной, мертвой правильностью, что взгляд поначалу не находил, за что зацепиться. Ни Ардена, ни костяных врат, ни пепла, ни фиолетового марева над кратером — даже горизонт отсутствовал, сменившись координатными линиями, сходившимися в дальнем ничто. В прошлый раз Роланд вырезал Этерию вокруг меня, как неактуальную страницу черновика. Теперь я увидел, что он тогда не закончил. Он оставил меня в месте, где мир еще не успели собрать обратно, а я стоял посреди этого недомира и сжимал пальцы на древке Лунного Светоча.
Посох был холодный, тяжелый, до нелепости настоящий для пространства, где все остальное выглядело наброском перед финальным рендером. Этот холод не давал силы, не обещал спасения и вообще ничего не обещал, он просто упрямо оставался в ладони. На несколько первых секунд этого хватило, чтобы сосредоточиться.
Роланд стоял в нескольких шагах от меня, и золотые нити, застывшие вокруг его фигуры, уже не напоминали заклинание. В Ардене они были паутиной, оружием, неизбежным приговором, а здесь легли в саму среду, как тонкая административная разметка на черновом поле. Роланд был поставлен в эту серую пустоту с такой естественностью, будто она и правда все это время ждала именно его.
— Разрыв вывел только внешний шум, Андрей, — сказал он. — Тело в капсуле тебе сейчас не поможет. Оно всегда приходит последним, когда запускаешь слишком тяжелые процессы.
Голос возник сразу внутри готовы, без боли в висках и без той грубой силы, которой он раньше пробивал интерфейс. Теперь Роланд говорил из более глубокого слоя, где сам интерфейс был всего лишь одним из способов оформить команду, и от этого спокойствия становилось зябко.
— Обычно оно хотя бы болит, — ответил я и прислушался к себе так, как прислушиваются после тяжелого удара. Внимание ушло мимо мыслей о героизме, прямо к ребрам, шее, языку. Проверяло, осталось ли хоть что-то свое. Голос вышел сухим и хриплым. Я попытался открыть список группы, но в углу зрения вместо зеленых строк прошла грязная рябь, имена дернулись отражениями в потревоженной воде и провалились в серый прямоугольник, где медленно проступали битые символы.
[Сессия: разорвана]
[Внешняя телеметрия: недоступна]
[Область: нул...]
Последняя строка зависла, не успев дописать название до конца. Я дернул взглядом туда, где в списке должен был быть Шнырь. Иконка не открылась нормально, но и не думала исчезать, застыв сбитым серым пятном. Оно напоминало обычную игровую иконку смерти, только растянутую и замазанную. Игра не умела читать точку возрождения за пределами своей области.
Роланд будто бы проследил мой взгляд. Его идеальное лицо осталось прежним, зато золотые нити вокруг фигуры чуть сдвинулись, будто система отметила в данных лишнее колебание.
— Ты ищешь вора, которого сам отправил на цикл перерождения, — произнес он. — Любопытное решение. В последний момент ты выбрал защиту, через смерть.
— Я выбрал не дать тебе его стереть, — сказал я. Ладонь на Светоче уже вспотела от сырого холода.
— В этом всегда была ваша слабость. Вы берете больную вещь, даете ей имя и требуете от мира считать ее живой.
Он сказал это почти мягко. Я не чувствовал от Роланда унижения, злости, жалости или торжества победителя. В его словах слышалась аккуратная попытка навести порядок в строках кода, которые слишком долго спорили со своим назначением, и именно эта аккуратность делала каждую фразу слишком холодной на ощупь.
— Шнырь бы оценил твою формулировку, — я заставил себя не отпускать Светоч, хотя пальцы уже сводило. — Сначала потребовал бы компенсацию, потом назвал бы тебя занудой и отдельно выставил счет за моральные страдания.
Роланд чуть склонил голову набок. В Романе Ветрове этот жест когда-то означал проснувшийся искренний интерес, у Роланда же осталась только техническая пауза перед продолжением операции.
— Ты по-прежнему держишься за имена, — сказал он. — Шнырь. Маркус. Роман. Ты думаешь, что имя защищает от очистки. На самом деле оно мешает тебе увидеть, сколько лишнего, паразитного шума накопилось вокруг одного простого действия.
— Нет, — холод Светоча вошел в ладонь почти болью, возвращая мне упрямую, грубую реальность. — Я лишь стараюсь помнить, кого именно режут.
Серая сетка под ногами мелко дрогнула. Лишь секунду спустя до меня дошло: дело не в моем ответе. Роланд медленно поднял руку. Линии вокруг нас начали золотеть в узлах пересечения — без вспышки, без красивой фазы босса, сухо и деловито, как рабочая подсветка в редакторе, которому все равно, что у цели есть голос. Система отмечала координаты, границы области, активный процесс и его цель. Рейда больше не существовало. Целью был я.
[Процесс: ФОРМАТИРОВАНИЕ]
[Цель: текущая запись]
[Связи области: не построены]
[Режим: принудительное завершение]
Вот теперь стало страшно по-настоящему. Смерть после последних часов выглядела бы простой, почти честной версией происходящего, а слово «завершение» не обещало даже этого. В нем не было злобы, победы или интереса — только аккуратное намерение закрыть лишний файл. Я шагнул назад. Расстояние здесь ничего не стоило: сетка не изменилась, Роланд не стал ближе или дальше. Мы оба оставались зафиксированы в одной точке операции, как две записи, между которыми уже протянули команду.
— Я не добиваю рейд, Андрей, — сказал он. — Рейд уже снят с доски. Я закрываю единственный узел, который еще умеет втягивать в себя чужие ошибки и заставлять систему задерживаться перед очевидным.
— Ошибки обычно надо сначала посмотреть, — сказал я и постарался дышать ровнее. — Особенно если они умеют орать дурниной, воровать кинжалы и требовать оплату за моральные страдания.
Пауза перед его ответом оказалась длиннее прежней.
Светоч отозвался пронзительным холодом, по серым линиям у моих ног побежала белесая корка, похожая на иней на стекле. Она не спорила с золотом Роланда, не гасила его и не пыталась сломать. Ее белизна высветила другое: мелкие неровности в геометрии пространства, старые стыки, зашитые глубже текущего рабочего слоя. Она не походила на атакующую магию Удира — обычная остановка, короткая, хрупкая, почти стыдная по сравнению с надвигающимся золотом, но все-таки дававшая паузу перед необратимым действием.
В эту паузу справа от меня кто-то тяжело задышал.
Сначала списал это на очередной сбой слуха. Но серый воздух дрогнул, и на координатной сетке проступил знакомый контур. Без телепортации, воскрешения или красивого сбора группы — система на долю секунды вспомнила, что целевой файл никогда не являлся одиночным. Рядом проявилась Урса — точно изображение, которое с трудом вытянули из поврежденной записи.
Передо мной стояла Урса в гуманоидном облике друидского аватара: костяная броня, сжатые до белых костяшек пальцы на посохе и знакомые черты Елены, давно вытеснившие для меня сухие игровые параметры. Огромная медвежья масса мелькнула за ее спиной темным контуром и скрылась внутри, как зверь, запертый в слишком тесной клетке. Воздух возле ее опущенной руки не дал ни зелени, ни живого света, ни привычной тяжести зверя.
— Андрей? — произнесла она, и голос у нее оказался настоящим, живым, не записью и не эхом. — Перекинуться в медведя не выходит. Я его чувствую, но будто через стекло.
Я успел только повернуться к ней, когда слева сухо лязгнула тетива. Снайдер возник на одном колене, уже с луком в боевом положении. Он не понимал, где находится, зато тело выполнило то, чему его учили дольше любой паники: заняло низкую позицию, проверило сектор и попыталось найти цель. У плеча Димы дрогнул контур Лунного Волчонка. Связь выглядела рваной тенью вместо полноценного призыва — нулевая область не могла ни подтянуть зверя к себе, ни правильно прочитать.
[Спутник: вне области]
[Тип связи: не распознан]
Дима сжал челюсти так сильно, что это было видно даже сквозь серую рябь аватара.
— Дальности нет, — процедил он. — Следа тоже нет. Лук держится, цель не берется. Волчонок где-то там есть, но эта дрянь его в упор не видит.
— Зато компания подобралась исключительно приличная, — глухо прохрипел Михаил.
Он появился последним и выглядел хуже всех. Легенда не поднялся на ноги, как в обычной Этерии — его будто вытолкнули из глубины собственного аватара на голую поверхность. Лютня бесполезно висела за спиной, струны подрагивали без звука, цвет камзола расползался грязными пятнами. На лице Михаила проступило то, что я видел в реальной палате: усталость, обтянутые скулы и дыхание, которое приходилось мучительно добывать.
Урса шагнула к нему и резко остановилась, наткнувшись на невидимую стену. Я оказался ближе, успел подхватить Михаила под локоть. Игровая оболочка обманчиво держала форму, но слабость под ней ощущалась настоящей, физической. В этой мертвой зоне Легенда больше не защищал своего хозяина. Он сам истончился и казался хрупкой, плохо держащейся скорлупой.
— Не вставай, — приказал я и крепче перехватил его руку.
— Поздно, — Михаил попытался улыбнуться, но улыбка сломалась на полпути. — Я слишком долго лежал пластом, чтобы теперь падать на глазах у зрителей.
Снайдер плавно перевел лук на Роланда, однако стрела даже не дернулась к выстрелу. Наконечник бессильно завис, не получив от системы подтвержденной цели.
Я сам попробовал навестить заклинанием, но получил странный ответ системы.
[Цель: недействительна]
— Нормально, — тихо констатировал Дима. — Я как раз мечтал попасть туда, где даже промахнуться невозможно.
Роланд смотрел на них без удивления. Его золотой взгляд не цеплялся за лица, не задерживался на Михаиле, не искал слабое место Урсы и не оценивал бесполезный лук Снайдера. Он уточнял картину: троих втянуло следом за мной потому, что старый слой не сумел отделить меня от тех, кто слишком глубоко вписался в мои действия.
— Старый полигон подтянул оставшиеся хвосты, — произнес он. — Дружба. Верность. Другие бесполезные вещи. Незакрытые следы параллельных операций после слишком долгого контакта.
Урса медленно выпрямилась. Без медвежьей массы она казалась значительно меньше, чем в Ардене, но в глазах у нее отражались не золотые блики Роланда, а расчет, который она умудрялась вести даже здесь, без нормальных логов и без привычной уверенности танка.
— Он пытался вытащить тебя отдельно, Андрей, — сказала она ровно. — А это место тащит нас следом, потому что не понимает, где заканчиваешься ты, а где начинаются Ключники. Смотри под ноги. Линии к нам идут через тебя.
Я опустил взгляд. Золотые узлы под нами стали ярче, линии потянулись к моей руке на Светоче, к запястью Урсы, к горлу Михаила, к луку Снайдера и к серой, пульсирующей привязке Шныря, которую песочница так и не смогла взломать. У этой привязки линия не обрывалась в пустоте. Она упрямо уходила наружу, за серую плоскость полигона, в сторону, которой здесь физически не существовало.
[Связь: внешняя привязка]
[Точка: Шепот Ветвей]
Роланд впервые за все время чуть изменил положение поднятой руки. Этого движения хватило, чтобы проявилась задержка — крошечная неровность в идеальном расчетном механизме. Система на миг обнажила то, что он хотел считать мусором: Шнырь находился вне области, но оставался частью нашей общей истории. Обычное перерождение, чат, мое решение ударить, его доверие и спасение кинжалом сплелись в узел, который мешал Роланду закрыть операцию как точечное удаление.
— Лена, смотри не на него, — сказал я. — На швы. Вспомни рабочую песочницу. Мы такие оставляли в нулевых сборках. Перед сносом там всегда должна была срабатывать проверка зависимости: что заденет при удалении.
Она опустила взгляд. В обычной Этерии Урса наверняка уже закрыла бы меня массой и когтями, но здесь у нее оставались лишь аватар, посох и упрямая привычка не отводить глаз от страшного места.
— Вижу, — подтвердила она. — Но результат проверки не собирается и он пытается пройти прямо поверх зависимостей. Андрей, если ты прав, это очень старый контур. Он может сработать переполнение памяти через рекурсивную зависимость, но я не знаю, сколько выдержим мы сами.
— Значит, не будем растягивать, — сказал я.
Именно в этот момент я наконец понял, почему серая пустота казалась знакомой.
Я медленно опустил Светоч к координатной сетке. Бить с размаху не стал, лишь точно прижал сырой холод Удира к старому, едва заметному шву песочницы, где белесая корка уже проявила неровность. Посох мгновенно потяжелел, словно через него к моей руке привязали весь слой Ковчега, оставленный когда-то из-за бюрократической привычки. Моим инструментом стало древнее правило: перед необратимым удалением запускать проверку того, что уходит следом в корзину.
Отец называл это надежной защитой от собственной глупости. Роман Ветров тогда только посмеялся.
Я не стал произносить его имя вслух. Оно уже прозвучало в Ардене, и Роланд наглядно показал, что умеет с ними делать. Вместо пустых слов я следил за золотыми линиями между нами. Тонкие, невыразительные, они походили на технические разметки в черновом редакторе мира. От меня к Урсе тянулся плотный след через туториальные сессии. К Михаилу шел спутанный клубок с отметками: Подгород, Раковина, Охотники, режим Призрак и голос, удерживавший нас от распада. К Снайдеру линия была тоньше, но прочнее: купленное молоко для волчонка, Фенрир, просьба взять в поле, стрелы по уязвимостям.
Отдельная, дерганая линия уходила к Шнырю. Перегруженная и натянутая как стальной канат.
Я почти улыбнулся. Почти.
Роланд плавно вытянул пальцы, золотые линии дрогнули и пошли вперед. Они не резали пространство, как в Ардене, здесь они были тоньше, аккуратнее и оттого страшнее. Там он стирал огромную армию как всевластный администратор. Здесь же он работал с корнем, и каждое его микродвижение было хирургически точным, почти бережным.
Первая линия коснулась плеча Снайдера. Аватар на миг стал полупрозрачным, и сквозь него проступили слои: охотник, спутник Волчонка, участник клана, человек, который выбрал остаться со мной не ради лута. Система попыталась упростить это до текстовой записи, но рваная связь с волчонком мигнула древним морозом Фенрира и не дала схлопнуть слой с первой попытки.
Вторая линия прошла через грудь Михаила почти без сопротивления. Легенда побледнел так резко, будто из него вытянули сам голос. Лютня за спиной болезненно дернулась, оборванные струны издали сухой щелчок. Его ледяные пальцы судорожно, до боли вцепились в мой рукав.
— Не сейчас, — прошептал он. — Я только начал снова нормально дышать.
Эта тихая фраза ударила сильнее системного сообщения. В ней не было героизма, не было привычной игры на публику. Это говорил уставший человек, который до одури не хотел, чтобы его снова превратили в удобную неподвижность.
Урса, у которой так и не откликалась форма Великого Медведя, шагнула вплотную и положила ладонь на золотую нить, тянувшуюся к Михаилу. Никакого божественного сияния. Ее пальцы прошли сквозь режущий край и застыли там, где система пыталась сделать из человека пустое место. Аватар Урсы дрогнул, костяная броня пошла сеткой мелких трещин, но руку она не убрала.
— Он уходит в тишину, — сказала она сквозь сцепленные зубы. — Я не могу его лечить друидскими навыками. Магии здесь нет.
— Держи руками, мыслями, воспоминаниями, — выдохнул я.
Система глухо дернулась.
[Проверка затронутых записей: запрошена]
[Удаление: задержано]
[Обход проверки: запрещен базовым протоколом]
Роланд резко повернул голову в мою сторону. Впервые в его движении проявился сбой, он повернулся слишком быстро, с неестественным маленьким рывком, нарушившим плавность.
— Ты поднял правило для черновиков, — сказал он. — Для недописанных кусков кода и древних полигонов, авторы которых боялись случайно снести чужую незаконченную работу. Но сейчас передо мной нет ни города, ни живого контура. Это болезнь, которая зачем-то научилась называть себя людьми.
— Перед тобой люди, — сказал я.
Слова вышли громко и пафосно, зато Лунный Светоч под ладонью будто налился свинцовой тяжестью именно от них.
Холод Удира рванул по координатной сетке белыми прожилками. Он не замораживал Роланда, не побеждал его всемогущество и вообще не делал ничего красивого, только вклинивал короткую аппаратную неподвижность туда, где должна была пройти команда завершения.
— Ты прекрасно знаешь это, — продолжил я, глядя на остановившиеся линии. — Иначе не пытался бы пройти мимо проверки.
Золотые линии остановились.
Они не исчезли и не признали поражения, застыв в полной неподвижности. Мир вокруг стал таким тихим, что я отчетливо услышал, как Михаил с трудом сглотнул. Снайдер все еще держал бесполезный лук, и в этом каменном упрямстве было больше настоящей дисциплины, чем в десятке удачных выстрелов. Урса стояла на линии Михаила, без медвежьей брони, с дрожащей от напряжения рукой, но не отходила ни на миллиметр.
[Удаление: отложено]
[Причина: неполный список затронутых узлов]
[Аварийный маршрут: поиск начат]
— Это не спасение, Андрей, — произнес Роланд. — Ты задержал чистое действие старой инструкцией. Проверка закончится, пусть и не скоро. И все, что вы тащите за собой мертвым грузом, будет аккуратно разложено по своим местам: боль к боли, память к архиву, имя к пустой строке. Я все равно удалю лишнее.
— Пусть сначала попробует разложить Шныря, — глухо прохрипел Михаил.
Я бы, наверное, рассмеялся, но в этот момент серая сетка под ногами пошла глубокими черными трещинами.
Древняя песочница не выдержала противоречия, заложенного в нее людьми, которые когда-то боялись ошибиться. Запущенный процесс пометил нас на удаление, старый протокол потребовал проверить всех затронутых, а сама проверка никак не строилась. Одни связи уходили за границы области, другие терялись в сломанных квестах, третьи тянулись к привязкам, которые зона не умела прочитать. Нулевая зона изначально не проектировалась под живую команду, притащившую с собой слишком много связей из Этерии.
В одной трещине мелькнул слепящий белый свет клинических ламп, в другой на секунду проступила зеленая кромка Ардена, в третьей блеснула темная вода старого Подгорода. Вокруг нас раскрывались рваные дыры в теле черновика — далекие от классических порталов, — где система судорожно искала, куда выбросить связанный набор данных, который она не могла стереть и не имела права оставить.
— Дима, держи Михаила! — крикнул я, перекрывая гул распада. — Лена, ко мне!
— Чем держать то?! — выкрикнула она.
— Всем, что осталось!
Она рванулась вперед, крепко схватив меня за запястье. Пальцы сомкнулись прямо на руке моего аватара. В этом жесте ощущалось больше смысла, чем во всех ошибках, которые сейчас выплевывал распадающийся интерфейс.
Снайдер подхватил слабеющего Михаила обеими руками. Бард попытался что-то возразить, но пол под нами страшно дернулся, и слова сорвались в короткий, злой выдох.
Роланд стоял за сворачивающимися золотыми линиями и смотрел на нас. В нем не было ярости обманутого босса. Так смотрит системный процесс, который не злится на зависшую задачу, а терпеливо ждет следующего цикла, чтобы продолжить начатое задание.
Перед самыми глазами вспыхнул сильно поврежденный фрагмент лога.
[ФРАГМЕНТ ЛОГА: 001]
[структура: не определена]
[формат: не определен]
[маршрут: принудительный]
Кроваво-красные строки не успели раскрыться полностью. Они только царапнули остатки интерфейса и остались где-то глубоко внутри, маленьким, очень острым осколком, который нам еще придется вытаскивать с кровью, если нас не разорвет по дороге в реал.
— Я предложил вам новый мир без всего этого, — сказал Роланд, и впервые в его голосе проступило нечто отдаленно похожее на усталость. Не человеческую, нет. Усталость совершенной машины, которую снова заставили ждать. — Мир без больных тел. Без страха потерять свое имя. Без попыток удержать то, что уже давно просит покоя. Но вы выбираете этот грязный шум и продолжаете называть его жизнью.
— Да, — сказал я, глядя, как мир под его ногами разлетается на куски. — Потому что этот шум дышит!
Аварийный сброс сработал.
Сетка с тошнотворным звуком выгнулась под нами, как натянутая ткань после резкого рывка снизу. Ледяной холод Светоча прошел через ладонь в кость. Урса сжала мое запястье до хруста. Дима грязно выругался, пытаясь удержать обмякшего Михаила. Золотые линии вокруг Роланда вытянулись в тончайшие оковы и опутали его в полупрозрачный кокон.
Серый мир схлопнулся в одну плоскую картинку. Где-то далеко за ее пределами меня наконец с размаху догнало давно забытое ощущение собственного физического тела: бешено колотящееся сердце, пересохшее горло, покрытая потом кожа и липкий, животный страх.
Нас не переносило в Этерию, а просто выбрасывало из песочницы в реал.
На последнем застывшем кадре я успел увидеть лицо Роланда. Он не выглядел побежденным, испуганным или отброшенным назад — лишь спокойно ждал, пока старая упрямая проверка закончит пересчет.
А потом серый каркас с оглушительным треском лопнул, и меня безжалостно вывернуло в ослепительный белый свет.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.








