Текст книги "Админская свалка (СИ)"
Автор книги: Юрий Цой
сообщить о нарушении
Текущая страница: 4 (всего у книги 13 страниц)
Глава 8
«Тишина между патчами»
Макс не искал новых маршрутов.
Не ломал бункеры.
Не сражался с мобами.
Он просто жил.
Если это вообще можно было назвать жизнью – существование между событиями, между строками, между апдейтами. По сути – тишина. Не внутриигровая, не фоновая. А какая-то системная, плотная. Тишина, в которой даже лаги звучали как музыка.
Свалка будто забыла про него.
Она больше не пыталась его удалить. Но и не звала обратно. Не запускала ивенты, не активировала спаун-зоны, не подкидывала монстров для разминки.
Он ел, когда вспоминал, что голод – это параметр, не чувство. Спал – по остаточной логике. Двигался, потому что стоять было опаснее: местность под ним могла оказаться недозагруженной.
Он не выбирал маршрут. Он был маршрутом.
Иногда в его инвентаре появлялись фразы. Он не помнил, чтобы произносил их. Не писал. Не сохранял. Они просто… всплывали. Как автокэш в консоли администратора.
«Сегодня тишина была громче, чем лаг.»
«Карта не загружается – возможно, потому что я уже на краю.»
«Никто не приходит туда, где не начинается квест.»
И Квак. Конечно же, Квак.
Питомец вел себя иначе. Он больше не шарахался от графических артефактов, не пугался прыжков геометрии, не царапал землю при резкой смене освещения.
Теперь он предвидел баги.
Однажды Макс шел по известному участку – старый маршрут, проверенный, с метками. Квак вдруг дернулся, остановился, фыркнул и отступил. Через пару секунд из земли вылез дефрагментатор – с перевернутыми координатами и без ориентации по оси Z. Он закрутился, вспыхнул и самоуничтожился, даже не заметив Макса.
– Ты теперь кто у нас? – пробормотал тот. – Бродячий патч?
Квак не ответил. Он вообще стал молчалив. Только время от времени медленно поднимал голову, будто улавливал сигналы, которые человек не слышит.
Макс перестал считать дни.
Раньше он вырезал палочки на стене укрытия – той самой странной конструкции, которую нельзя было назвать ни домом, ни базой, ни убежищем. Он строил ее не из блоков, а из моментов, из тихих действий, из желания просто не провалиться сквозь мир.
Теперь палочки исчезали. То ли от влаги, то ли от изменений патча. А может, сам мир понемногу стирал все, что не обновляется.
Вместо дней Макс стал считать… тишину.
Он сидел у багового костра – не того, что дает плюс к восстановлению, а того, который вспыхивал только в случае логической ошибки взаимодействия частиц. Искры там были не настоящие, но грели. Или он себе это внушил.
Квак ловил эти искры лапой. А потом замер. Медленно обернулся. Уставился в темноту.
– Что там? – спросил Макс, но уже знал ответ.
В темноте было ничего. Именно это и пугало.
Он попытался вызвать лог. Не интерфейс, не команду – именно лог, тот самый, который вел артефакт. В старые дни, когда дни еще считались, он появлялся сразу: [log::новая запись] – с датой, координатами, иногда даже с иронией.
Сейчас – ничего.
Только три строчки, всплывшие тускло, как ошибки на забытой консоли:
[log::статус: неактивен]
[обновление: не запланировано]
[поток событий: отсутствует]
Макс застыл. Не как персонаж. Как мысль, не исполненная, не привязанная ни к одному вызову. Как баг, про который забыли и не удалили.
Он чувствовал течение времени – но в логах оно не отражалось.
Он видел, как Квак двигается рывками, будто кто-то забыл включить интерполяцию. Питомец вел себя все страннее – словно баги не приходили, а уже были здесь, просто замаскированы под будущее.
Макс наклонился ближе к баговому костру. И вдруг понял:
"Если лог молчит – значит, меня не пишут.
А если не пишут… значит, я не нужен?"
Он нащупал в кармане артефакт.
Тот самый – с фрагментом интерфейса, глючный якорь, некогда обнаруженный у северной триггерной зоны. В слотах он отображался как:
[item::ярлык_неизвестен]
[status::unsaved]
Он часто держал его в руках, но не понимал зачем. Как будто предмет ждал чего-то – команды, сигнала, может, признания. В последние дни артефакт начал обновляться сам.
Теперь там мигала строка:
[unsaved_entity]
[temp_file::retained]
– Я… временный файл? – выдохнул он.
Артефакт вспыхнул мягко. Без угрозы. Без запроса.
Как будто подтвердил.
Макс провел рядом рукой. Интерфейс дрогнул. Символы сдвинулись, и появились новые строчки:
🟠 [Артефакт: запись активна]
🟢 [Наблюдение установлено / Объект: М_##]
– Кто ты? – спросил он.
Никакого ответа. Но строка осталась. Не исчезла.
И артефакт продолжал мигать.
* * *
…Он смотрел, как Квак обнюхивает невидимую границу мира. Ту, что когда-то моргала опасностью, а теперь просто не обновлялась. Как будто за ней не было ничего. Или что-то, на что у скриптов не хватало фантазии.
Макс хрустнул пальцами, вытер ладони о штаны и сел ближе к костру. Искры с багами танцевали над огнем, срываясь в воздух и разваливаясь на пиксели. Тихо. Даже слишком.
Он вытащил артефакт. Тот равнодушно мигал, мол, делай, что хочешь.
– А что, если… – сказал он в пустоту, – если не сбегать? А сохраниться?
Квак чихнул, как будто идея ему понравилась. Или пыль попала.
Макс усмехнулся. Он не был игроком – и фиг с ним. Но если он и дальше будет вот так торчать между строк, то рано или поздно его просто сотрут. Без логов. Без багрепорта. Без следа.
Он не хотел уйти красиво. Он хотел остаться криво.
И если для этого надо выдрать у мира контрольную точку – он пойдет и найдет ее. Где бы она ни была: в сбойной капсуле, в архивном интерфейсе, в забытом секторе с заглушенными координатами.
Он встанет, пройдет туда, ткнет пальцем – и скажет:
– Вот тут. Вот здесь. Сохраняй.
Он поднялся.
– Пошли, Квак. Пора искать мою чекпоинт.
И мир, кажется, на секунду дрогнул.
Глава 9
«Где точка сохранения?»
Макс сидел на гравийном склоне, уткнувшись лбом в колени. Сквозь треск в ухе доносился тихий вой системы – то ли радиошум, то ли остаточное эхо чьей-то неудавшейся команды. За спиной хрустел Квак, будто пытался разгрести обломки. Впереди тянулся пустой ландшафт, исполосованный серыми прожилками багов. Глючный горизонт плавал, как мятая пленка.
Он не знал, куда идти. Впервые за все время.
Не потому что не было пути – вон, дорожка влево, остатки платформы вправо, снизу из разлома клубился пар. Просто… все казалось одинаково бессмысленным. Как двигаться, если ты не зафиксирован? Если каждый шаг может быть последним, и никто не скажет: «Ты дошел»?
Он провел ладонью по интерфейсу – пустота. Панель откликнулась через секунду, дернулась, мигнула белым и исчезла, как будто передумала существовать. Лог молчал.
Он никогда раньше не думал об этом прямо. О том, что здесь – в этой корявой, зависающей, местами живой, местами дохлой системе – просто некуда сохраниться.
В обычной игре он бы давно ткнул F5, или нырнул в сейв-зону. Даже в самых хардкорных симуляторах были какие-то чекпойнты, механизмы отката, автофикс – что-то, что говорит тебе: ты теперь здесь.
А здесь – ничего. Он смотрел на собственные руки, потрескавшуюся текстуру куртки, баг в углу зрения – и понимал: если он сейчас исчезнет, ничего не останется.
Ни строки. Ни картинки. Ни ошибки.
Он наклонился вперед, пытаясь вспомнить – а была ли вообще хоть раз команда «сохранить»? Может, где-то мелькала в панели, может, в глубинах интерфейса… Но нет. Только фрагменты. Только баги, которые запоминали не его, а сам сбой.
– Как вообще выглядит «точка сохранения» в этом месте? – пробормотал он вслух. Голос дрожал.
Квак пискнул где-то сбоку, но ответа не дал. Он тоже не знал.
Макс потер виски. Пытаясь думать. Не действовать – думать. Странное, почти забытое состояние.
Что нужно, чтобы сохраниться? Не технически, не как в меню. А по-настоящему. Чтобы остаться в системе, даже если она тебя не признает.
Может, объект? Файл? Папка, в которую можно записать себя? Может, какое-то устройство? Или команда?
А если команда – то где ее искать?
Он попытался представить: если бы система действительно захотела сохранить его, как она бы это сделала? Создала бы копию? Архив? Снапшот?
Снапшот кого?
Себя. Вот в чем проблема. Он не зарегистрирован. Не подтвержден. Не описан. Система не знает, кто он такой. Нет ни логина, ни ID, ни даже статуса. Только тень.
Значит, чтобы сохраниться… нужно сначала быть кем-то.
– Вот дерьмо, – прошептал он. – Мне даже некуда сохраняться.
И вдруг понял: не просто нет кнопки «Сохранить».
Нет ячейки.
Он не вписан.
Он резко поднялся. Прислушался. Воздух вокруг будто ждал, будто завис в паузе между кадрами.
Квак подпрыгнул и ткнулся носом в левый ботинок. Потом еще раз.
– Что, ты что-то знаешь? – Макс хрипло усмехнулся. – Или просто хочешь, чтобы я не ныл?
Квак пискнул. Потом развернулся – и медленно пошел вперед, петляя между глюками, будто чуял маршрут, о котором не может сказать вслух.
Макс посмотрел ему вслед. И пошел за ним.
* * *
Перед ним простирался лес. Ну, как лес… С натяжкой. Скорее, заготовка под лес. То, что в редакторе уровней подписывают как forest_placeholder_v3_finalfinal_fix2. Текстуры – недогружены, деревья местами прорисованы до половины, в кронах зияли квадраты «ошибка материала», а туман гулял независимо от физики – по синусоиде, как пьяный питон.
Макс постоял на краю локации, оглядел полупрозрачные ели, одну из которых явно кто-то масштабировал через ж…один осмысленный параметр, и шагнул вперед.
– Если где и прятать интерфейсный хлам, то в такой дыре. Раньше сюда бы тестеров послали. А сейчас – меня.
Квак, как всегда, возник сзади – молча, как баг в протоколе спауна. Ни шороха, ни вспышки, ни характерного системного «вжух». Просто появился. Макс вздрогнул, обернулся на полшага, но уже знал, кто это. Или что.
– Сопровождение начато, – сообщил Квак.
Голос – ровный, сухой, как if-else без отступов. Не механический – скорее, недописанный. Как будто кто-то сгенерировал текст в TTS-движке, но на середине отменил рендер.
Макс выдохнул. Еще один баг. Ну этот хоть интересный – говорящая лягушка.
– Да ты прямо моя фоновая музыка, – фыркнул он. – Может, правда петь начнешь? Я, если что, рок люблю.
Квак, конечно же, промолчал. Макс вообще не обольщался – это наверняка было единичное явление. Но все-таки посматривал на жаба. Его глаза – если это вообще были глаза – чуть светились, как перегоревший индикатор на старой микроволновке.
– Ладно. Допустим. Молчи дальше. Просто не подглядывай, когда я начну сохраняться, понял?
Квак не ответил. Но где-то в глубине строки кода будто бы промелькнула пауза. Как если бы он хотел возразить. Или хотя бы понять, о чем речь.
Макс вздохнул:
– Призрачный наблюдатель с репликой уровня тостера. И я ему теперь жизнь доверяю.
Он пошел вперед, в багнутый лес. Квак последовал за ним – на полшага позади. Всегда. Точно в рамках маршрута, прописанного, но ни разу не протестированного.
Они двигались по склону. Каждая третья ступенька – глюк. То нога проваливалась по щиколотку, то камни вспыхивали зеленым и исчезали. Птичьи звуки явно проигрывались наоборот, потому что один особенно противный трель-недодятел заканчивал свою мелодию с характерным: «кйййй-ууууч».
Макс шел, матерился, и думал. Не рефлексировал – думал. Потому что сохраниться в багнутом мире – это не просто нажать F5. Во-первых, тут клавиатуры не выдали. Во-вторых, понятие «сохранение» должно на что-то ссылаться. Состояние. Положение. Идентификатор. А у него ID до сих пор был:
[НЕВЕРИФИЦИРОВАННЫЙ]
[ПРЕЦЕДЕНТ: МИФ]
– Миф, – бурчал он, – мифический идиот? Или мифический простофиля?..
Через пару сотен шагов лес начал меняться. Макс не сразу понял, как: вместо багов – пустоты. Не просто отсутствие объектов, а отсутствие данных. Ветви деревьев вдруг заканчивались нулем, корни – логическим сбоем, и даже тени исчезали, как только он на них смотрел.
– Что это, черт возьми, за… антипейзаж? – пробормотал Макс, замирая у границы сползающего в небытие склона.
Квак замер рядом, не шелохнувшись. Не пищал, не вращал головой, не мигал интерфейсом. Просто сказал:
– Местность нестабильна. Данных нет. Поверхность не верифицирована. Возможна утечка.
Макс вздрогнул. Он даже не сразу понял, что это сказал Квак. Полным предложением. Без стандартной интонации системного логгера.
– Подожди, подожди… – Макс уставился на него. – Ты сейчас… это ты сейчас реально сказал? Сам?
– Подтверждение не требуется. – снова Квак. Четко, без запинки.
– Так. Так-так-так. – Макс сделал круг вокруг спутника, как будто проверяя, не торчит ли где-то новая антенна или модуль речи. – Я тебя не обновлял. Ничего не качал. Не шевелил ни одной галки. Ты с чего это вдруг заговорил, а? – Он прищурился. – Или ты меня все это время просто троллил, а теперь решил выйти из образа?
Квак промолчал. Но повел головой чуть в сторону, будто прислушиваясь к невидимому сигналу. Или к себе.
Макс опустился на корточки, все еще с подозрением поглядывая на своего спутника, и заметил то, что в первую секунду принял за просто глюк земли – небольшое пятно в почве, пульсирующее не в такт остальному пейзажу. Цвет у него был странный: не то голубой, не то прозрачный, как если бы поверхность пыталась отрисовать что-то, но все время спотыкалась об ошибку.
Он протянул руку, осторожно, как будто щупал дно глючного бассейна.
Под пальцами – щелк. Что-то твердое. Угловатое. Гладкое, будто стекло. Но теплое. И… странно тяжелое для пустоты.
– Что за… – Он нащупал край, приподнял. Воздух вокруг дрогнул, как от жары.
Перед ним, словно вынутая из памяти давно удаленной игры, проявилась панель. Полупрозрачная, с вывернутыми слоями интерфейса. Не HUD, не лог – что-то между. Как будто вытащили часть подменю разработчика наружу.
Текст на ней мигнул один раз, прежде чем застыть:
[РЕЖИМ ВОССТАНОВЛЕНИЯ КАНДИДАТА: null]
– Отлично… – Макс крякнул. – Панель из ниоткуда, режим из ниоткуда, и у меня снова статус «кандидат». Спасибо, Свалка, я уже чувствую себя почетным мусором месяца.
Он повернулся к Кваку:
– Ты это тоже видишь?
– Подтверждено. Неавторизованный интерфейс. Объект: фантомный. Источник: отсутствует. Контекст: неизвестен.
Макс тихо присвистнул:
– Ладно. Ты либо скачал себе мод на «говорящего аналитика», либо мы оба официально в режиме самокодирования. Только не говори, что у тебя теперь чувства есть.
Квак посмотрел на него. Не с укором, не с раздражением – просто с каким-то внутренним… эхо. Как будто понял. Или почти понял.
Панель тем временем погасла. Не исчезла – погасла, оставив в воздухе дымчатый след, как метеор, который никто не видел, но все почувствовали.
И в эту секунду Макс понял: это был ключ. Не факт, что к чему-то хорошему. Но точно – к следующему уровню. Или к выходу. Или к тому, чтобы остаться. Как не мусор. Как не сбой. Как точка восстановления, если уж на то пошло.
[restore_candidate::null]
[версия неизвестна]
[метка: отклонено]
Макс замер.
– Это… ты мне говоришь, что я не подхожу для восстановления? Или что вообще никто не подходит?
Панель тихо заморгала. Затем погасла. Но строчка осталась. Висела в воздухе, как брошенная кость. Не объект, не подсказка – паразитный след.
И вот тогда Макс впервые понял, отчего у него от рождения чесался затылок: здесь нет точек сохранения.
Никаких. Ни автосейвов, ни чекпоинтов, ни восстановления.
Все, что не вошло в патч, удаляется. Все, что не верифицировано, исчезает без следа.
Значит – он сам.
– Нахрен. Так дело не пойдет, – он выпрямился. – Если здесь нельзя сохраниться – значит, я сделаю свою точку сам.
Квак отреагировал:
– Незарегистрированный объект. Несанкционированное вмешательство.
– Обращайся, – сказал Макс, ухмыляясь. – Я же типа миф. А мифы сохраняются не по правилам. Их вообще обычно слагают, как и легенды. О! Так может, я идиот легендарный?..
Он усмехнулся собственной шутке и оглянулся.
Интерфейс погас, как будто его никогда не было. Не исчез, не схлопнулся – просто перестал существовать, как забытый объект в фоне сцены. Макс сел. Не от усталости – от процесса. Надо было думать. И думать быстро.
– Окей, – пробормотал он. – Сейв. Чекпойнт. Контрольная точка. Что у них общего?
Он закрыл глаза, перечисляя в голове, будто на экзамене:
– Фиксация состояния. Координаты. Статус игрока. Кэш. Привязка к времени и переменным. И… разрешение на восстановление.
Он посмотрел на землю, потом на Квака. Тот по-прежнему сидел рядом, на удивление спокойно.
Говорил. Сам. Без пинга, без апдейтов, без внешних вызовов.
– Ты ведь… – Макс нахмурился. – Ты не просто стал болтать. Ты заговорил здесь. В этой чертовой локации.
Он резко поднялся и начал ходить туда-сюда, иногда проваливаясь одной ногой сквозь текстуру.
– Значит, здесь что-то есть. Что-то, что позволило тебе… самокодироваться? Модифицироваться? Да какая, к черту, разница. Главное – можно менять поведение объектов. А если можно менять поведение – значит, можно переписать правила.
Он повернулся к багнутому дереву, торчащему из земли под странным углом.
– Если бы я был чекпойнтом, я бы был здесь, – пробормотал он. – На краю зоны. Где никто не проверяет целостность. Где нет контроля. Где никто не подгружает скрипт, пока сам не заглянешь.
Макс встал вплотную к дереву. Положил руку на кору. Она дрожала – не от ветра, а как багнутая анимация, что не успевает за моделью.
– Запомни меня. – Он сказал это не дереву. И не системе. – Запомни меня. Здесь. Сейчас. Так, как есть.
И добавил, выдохнув:
– В следующий раз, когда меня убьют, я хочу возродиться здесь. Под этим деревом. С этим лицом. И с твоей тупой мордой, Квак.
– Подтверждение получено, – ровно ответил спутник.
– Это была метафора! – отреагировал Макс, отдернув руку.
Но в ту же секунду – в ту самую, когда слова зависли в воздухе – мир будто задержал дыхание. Кора под его ладонью затеплилась. Не огнем – кодом. Вокруг него на миг появился тот самый фантомный интерфейс, который раньше показывал:
[restore_candidate::null]
Теперь он мигнул – и null исчез.
На его месте – просто пустота. Свободное поле.
Как будто кто-то… или что-то… ждал, чтобы Макс сам вписал себя в реестр.
И именно в этот момент, почти шутя, почти всерьез, он произнес:
– Я. Макс. Запиши это. Хоть на туалетной бумаге.
Интерфейс дрогнул.
Прозрачные линии закружились в воздухе, собравшись в новую строчку. Медленно, глючно, но неотвратимо она проступила:
[restore_candidate::MAX]
Он даже не успел выругаться, как в левом верхнем углу мелькнуло:
[Задание завершено:::null]
[Новая цель: дождаться восстановления]
Макс замер.
А потом, сквозь зубы, с каким-то странным облегчением:
– Дождаться… Чего? Патча? Или конца?
В ответ раздался звук.
Не щелчок, не скрип. Не ошибка.
Это было… вторжение. Что-то входило в зону – не по сетке, не через загрузку. Без сопровождения. Без интерфейса.
Макс вздрогнул.
Медленно обернулся.
Позади, за искаженной листвой, что-то менялось. Фон рябил. Пространство не держалось.
Он не видел ничего – но чувствовал.
Система прислала кого-то. Или что-то.
Глава 10
«Ты должен исчезнуть»
Он почувствовал это до того, как заметил.
Не звук. Не движение. Скорее – пауза в воздухе. Как если бы кадр подвис между двумя тиками. Как если бы сам лес перестал считать время.
– Кажется, у нас гости, – пробормотал Макс, по привычке повернувшись к Кваку.
Но Квак молчал.
Стоял на месте, вытянув шею, и смотрел в никуда. Не мигал. Не шевелился. Только редкий синий пиксель моргал в уголке глаза, как ошибка синхронизации. Макс щелкнул пальцами перед его мордой – тишина.
– Серьезно? Ты завис? Сейчас?
Он подошел ближе, дотронулся до плеча – ну или что там было у лягушек на месте плеч. В ответ – короткий дерганый скрип, как будто проигрался обрезанный звук старта анимации. Но Квак не сдвинулся.
Макс развернулся обратно – и увидел это.
На другом конце поляны, там, где багнутые деревья распадались на геометрию, стояла фигура. Не человек, не зверь, не монстр. Просто форма. Абсолютная. Безошибочная. Ровная, как от векторной кисти. Серый силуэт, вытянутый вверх, почти не различимый на фоне моргающего леса. Ни лица. Ни одежды. Даже тени.
Она не шевелилась. Но Макс видел, как воздух вокруг нее дрожит. Нет, не воздух – код. Пиксели в радиусе пяти метров искривлялись, как будто что-то вшитое в ее присутствие выдавливало реальность наружу.
Макс замер.
– Что за… – начал он, но фраза осталась недосказанной.
Прямо перед глазами, словно в интерфейсную проекцию, вплыл системный лог. Без предупреждений. Без клика.
[Запрос очистки запущен]
[Пользователь::удалить_пользователя]
[Ответ::непрочитан_или_искажен]
– Вот дерьмо, – выдохнул Макс. – Системный аудит. Босс, которого я не выбирал.
Он сделал шаг назад. И еще один. Земля под ногами мягко провалилась на полпикселя – глюк геометрии, как будто мир тоже хотел отступить вместе с ним.
Фигура не двинулась. Но все вокруг нее словно забыло, как должно работать. Трава замерла, свет перестал мерцать. Даже багнутые деревья больше не искажались. Все перешло в режим ожидания. Заморозка сцены.
Макс сглотнул.
– Ну что ж. Давай поиграем в прятки.
Он резко шагнул в сторону, за ближайшую текстурную ель, которая наполовину просвечивала, а наполовину отражала небо из предыдущей локации. Ветка при движении издала короткий глюкнутый звук – скорее вибрацию, чем щелчок. Неестественный. Почти музыкальный.
Он затаился, выдохнул.
Никакой погони. Никакого движения. Только мерцание. Только системный жар, идущий от стоящей фигуры. Как будто она не имела цели двигаться. Она уже выполнила запрос. Теперь – ждала.
Макс посмотрел вверх – интерфейс снова ожил. Иконка соединения мигнула красным, а затем:
[Угроза обнаружена]
[Пользователь не аутентифицирован]
[Задание обновлено: «Ты должен исчезнуть»]
Он закрыл глаза. Глубоко вдохнул. Потом снова выглянул из-за дерева.
Фигура все еще там. Только теперь ее границы стали чуть размыты. Как будто она начала сливаться с пространством. Или наоборот – начала выгрызать его.
– Не враг, – пробормотал он. – Сценарная функция. Обрезает хвосты. Остатки. Как я.
И вдруг вспомнил: в эпизодах с багами, в ранних сценах – всегда были упоминания об автоматических чистильщиках. Невидимых. Немолчаливых. Фоновая служба. Не зло – просто уборка после сбоя.
А теперь – Макс был в списке на удаление.
Нужно было уходить. Срочно. Бежать.
Макс дернул Квака за лапу – ту самую, покрытую фрагментами наложенной текстуры, как будто наспех приклеенной из другой модели. Никакой реакции. Ни сканирования, ни логов. Питомец завис, вывалившись из алгоритма реальности, как фонарь без провода.
Но в ту же секунду – не в Кваке, в самом мире – что-то щелкнуло. Беззвучно, но ощутимо. Как будто дернулся один из уровней отрисовки. Лес качнулся. Полупрозрачные ветки моргнули, будто приняв решение. Трава на секунду побелела, и где-то в недрах движка простонал системный компрессор. Пространство дрогнуло. Глубинно. Не как при лаге – как при отмене команды. Само место, сама текстура, будто сказала: «нет, с этим объектом мы больше не работаем».
Из интерфейса вылетело уведомление – короткое, как вспышка. Он даже не успел прочитать его, как оно тут же свернулось в ноль, и на его месте осталась только пиктограмма, дернувшаяся, как будто удивилась собственному появлению:
[свойство активировано: сбойное уклонение]
Мир дрогнул. Не сотрясся – именно уклонился. Как будто текстуры вокруг него сказали: «Ой, извините», – и отодвинулись. Слои раступились, как шторы на багнутой сцене. Исправитель остался в одном фрейме – а Макс и Квак сдвинулись. Не телепортация. Не перемещение. А как будто они выпали из сцены, остались между кадрами.
Деревья расплылись. Поляна вытянулась, как глитч-эффект. Все края поплыли, и воздух на секунду зашипел, как старая видеокассета, когда проматываешь через лицо ведущего.
Он даже не охнул. Не успел.
И тут же – прямо поверх, без предупреждения, без анимации, без эффектов – просто бух, как наклейка:
[квест завершен: Отражение в баге]
Он застыл. Повернулся – все выглядело… чуть не так. Свет другой. Квак – ближе. Земля под ногами – не та же самая, но почти. Как будто мир его все же сохранил, но… в соседнем экземпляре.
– Что?.. – вскинул брови. – Какой квест? Какое, мать его, отражение? Я его даже не начинал!
Он огляделся. Где стоял Исправитель – теперь только медленно складывался глюкнутый пиксельный столб. Место… откатилось? Или просто забыло, что он здесь был.
Макс выдохнул. Осторожно.
И только потом заметил: интерфейс был слегка смещен. Как будто смотрел не на ту локацию. Как будто мир чуть-чуть промахнулся, сохранив его по ошибке в бета-версии текущей сцены.
Но он был жив. И это считалось.
Артефакт на шее заморгал. Внутри раздалось короткое шипение, как будто он пытался передать слишком большой пакет данных через сломанный модем.
Интерфейс мигнул. Открылся новый файл:
[наблюдение.лог#001]
– Ну-ка, – Макс ткнул на него.
Файл не содержал ни текста, ни аудио. Только фрагменты. Вырванные куски леса, искаженные перспективы, черновые слои. Четыре обрывка:
– глюкнутый фрагмент поляны,
– тень, двигающаяся без объекта,
– глубокая вмятина в земле, словно кто-то стоял там,
– и вспышка. Без цвета, без координат. Просто сигнал.
В самом конце – строка. Не всплывающее окно. Прямо в теле файла, будто надпись, сделанная карандашом на бумаге:
Обновление питомца: Квак – уровень 2 (⁇)
Макс::статус_изменен – [токен_устойчивости::выдан]
– Что? Токен? – Макс прищурился. – Это что, меня теперь можно оставить? Как сохраненного? Не перезапишут? Не сотрет?
И тут – как в старых играх – в правом верхнем углу мягко загорелось:
[новый квест: «Подпись в коде»]
И под ним – без скобок, без форматирования, просто строчка. Как будто не интерфейс, а кто-то лично оставил надпись, от руки:
«Чтобы остаться – нужно быть вписанным.»
Макс медленно поднял брови. Приоткрыл рот. Начал:
– Да еб…
Потом остановился.
И вдруг – улыбнулся.
– Ладно. Играем дальше.








