Инициализация наблюдателя…
Щелчок. Не в воздухе — внутри. Как будто в голове сработало скрытое реле, переключившееся из «просто жив» в «под надзором».
Макс даже не вздрогнул. Он стоял, чувствуя, как по позвоночнику, как по коду, прокатывается пульсация: невидимая камера поворачивается к нему. Фокус. Идентификация.
— Ты кто такой? — спросил он. Не громко. Но в голосе не было растерянности. Он знал, что его слышат.
Пауза.
— Я Куратор, — ответил голос.
Не человеческий. И не искусственный — в том смысле, как понимают ИИ в фильмах. Он был… сухим. Как справка. Как юридическая формулировка. Голос правила, читающий приговор вслух, даже если слушать некому.
— А я — баг? — уточнил Макс, скосив взгляд в небо, которого не было.
— Ты — обломок удаленного билда. Системный сбой, не подлежащий восстановлению. Но ты не исчез. Поэтому ты — моя головная боль.
Макс рассмеялся. Не так, как смеются в кино. Просто выдохнул с хрипотцой, склонив голову набок, будто это был корпоративный звонок с клиентом.
— Значит, я снова на работе, — сказал он.
Под ногами лежал обломок плиты. Без нормали. Без веса. Просто деталь — как кнопка на схеме, которую забыли удалить. Он сел на нее. Она не качнулась. Не скрипнула. Просто приняла его, как будто он и был ее скриптом.
'Если я ферзь, то шах мне дали еще до загрузки.
Вопрос только в том — чей это ход.'
Он щелкнул пальцами — не от самоуверенности. От привычки. Пальцы разработчика, тестировщика, вечного игрока. Где-то там, на уровне мышечной памяти, рука потянулась к интерфейсу.
И — ничего.
Никакого меню. Ни инвентаря, ни карты, ни логов.
Только одна панель, простейшая. Та, которую открывает система, когда все остальное сломано.
[СОСТОЯНИЕ]
Она висела перед ним, полупрозрачная, как последняя нить связи с внешним миром. Как бумажка из приговора, вырванная из дела.
Он прочитал:
Состояние: аномальное
Уровень: —
Класс:?
Доступ: спорный
Права: аварийные
Реальность: неизвестно
Он присвистнул. Медленно, уважительно.
— Аварийные права? Значит, я могу хотя бы… вызвать техподдержку?
— Ты — и есть авария, — отозвался Куратор.
На фоне что-то шелестнуло. Мир слегка вздрогнул. Или это у Макса мурашки побежали, что в этом месте одно и то же.
Он посмотрел вверх. Туда, где небо должно было быть. Где в нормальном билде была бы звездная проекция, рассвет или луна. Сейчас — лишь ошибка отрисовки. Мерцающая область с артефактами. И в самом ее центре — тень. Или наблюдатель. Или просто ошибка рендера, которую он начал чувствовать.
— Ты сам сюда попал? — спросил Куратор.
Макс не ответил сразу. Он провел рукой по плите. Та была гладкой. Слишком гладкой. Без шершавости, без зазубрин. Это была текстура. Просто текстура. Ни единого пикселя случайности.
— Я не уверен, — честно признался он. — Сначала был вечер. Пиво. Тестовый билд. Потом утро. Потом — ничего.
Куратор молчал.
— Ты не похож на стандартную ИИ-поддержку, — сказал Макс. — Ты кто? Подпрограмма? Архивный модуль?
— Я — инструмент наблюдения. Меня запускают, когда мир не справляется.
Он кивнул. Да, это подходило.
Он — сбой. А тот — инструмент, призванный на него смотреть.
Макс встал. Медленно. Под ногами все еще была плита. Все еще не проваливалась. Значит, шахматная доска держится. Пока.
— И что теперь?
— Ты будешь отслеживаться. Твои действия будут записаны. При достижении критической аномальности будет инициирована чистка.
— Как в старые добрые — «вы не вписываетесь в концепт»?
— Как в текущие. Концепта нет. Но сбои остаются сбоями.
Макс огляделся. Мир был мертв. И при этом — жив. Как симуляция, которая продолжает пульсировать, даже если игрок ушел.
— Ну что, Куратор, — сказал он. — Значит, я жив. Пока. Значит, будет игра.
И пошел.
Впереди был фиолетовый туман.
Граница. Или портал.
И за ним — неизвестная часть доски.
Он провел пальцем по воздуху. Медленно, как будто нащупывал нечто невидимое.
И — почувствовал.
Не ветер. Не температуру. Сопротивление.
Словно воздух был не элементом среды, а кодом. Набором строк, поверх которых наложен прозрачный слой интерфейса. И этот слой — сгибался.
— Пока не больно, — пробормотал Макс. — Пока работает…
Он хотел верить, что это хорошо. Что еще есть время. Но…
Шаги.
Сзади. Не спешные, не враждебные. Не звуки живого существа — прописанные. Как в сцене, где актер еще не вышел, а его реплики уже загружаются в память.
Он обернулся.
Пусто.
Но звук не прекращался. Петля. Одна и та же петля, в которой кто-то забыл расставить флаги появления.
Он поднялся. Привычным движением — встал на одно колено, уперся рукой в землю. Только… земли не было.
Была поверхность — текстурированная. Серая, бесплодная, не дающая ни пыли, ни давления, ни отклика.
Он наклонился, схватил ближайшую ветку.
Хруст.
Но — без веса.
Она треснула и растворилась в воздухе. Как объект, которому забыли прописать физику.
Макс посмотрел на свою ладонь. Провел пальцем по запястью. Кожа… не его.
То есть как — его, но та самая. Из альфы. Старой, мыльной, с багом текстур, который он когда-то пытался зафиксить три ночи подряд, пока арт-директор не психанул и не забросил задачу.
Он рассмеялся. Тихо. Слишком тихо для живого.
— Ты точно хочешь знать, что будет дальше? — спросил он у мира. У себя. У кода.
— Нет, — отозвался голос системы. Спокойный. Без эмоций. Просто логика, читающая скрипт. — Но теперь ты часть процесса.
Он закрыл глаза. Сделал вдох.
Игра началась.
Но доска — сломана.
И кто тут игрок, а кто фигура — уже неважно.
Первыми его выдали не действия. Не сбои. Не всплески.
Табличка.
Он просто попробовал открыть туториал. Даже не из интереса — по привычке. Как любой игрок: зашел — открыл, не думая.
И в этот момент небо задергалось.
Нет, не визуально. Код.
Логика мира — заскрипела, как заедающий жесткий диск.
И выстрелила:
[ВНИМАНИЕ: ОБЪЕКТ НЕСАНКЦИОНИРОВАН]
Класс угрозы: не определен
Причина: невозможно прочитать сигнатуру игрока
Статус: потенциальный читер / экспериментальная сущность
Рекомендация: эвакуация NPC, принудительное удаление
Таймер: 23:59:59
Макс моргнул.
— Ну здрасьте, — сказал он.
И в этот момент все началось.
Персонаж стоял неподвижно.
Его поза была до боли знакома — нейтральная стойка, разработанная аниматорами лет десять назад. Макс узнал ее сразу. Руки вдоль тела, чуть согнутые локти, легкий наклон головы. Тот самый застывший образ, в котором NPC встречают игрока в лобби, пока не получат команду.
Но теперь все изменилось. Лицо осталось прежним — кукольное, застывшее, с выражением «по умолчанию». Но глаза… глаза ожили.
Они не моргали. Они двигались. Слишком быстро, чтобы быть случайностью. Макс видел, как взгляд метался — по дуге, как будто сканировал окружение. По кругу. Рывок вправо. Рывок влево. Задержка. Сброс. И снова по кругу.
Система перезапускала алгоритм распознавания угроз. Впервые. Потому что никогда не была готова к такому. Этот NPC не должен был чувствовать страха. У него просто не было скрипта на страх.
Но он испугался.
Макс наблюдал, как второй персонаж — кузнец, стоявший у наковальни и методично поднимавший молот, — вдруг застыл. Молот завис в воздухе, потом пропал. Просто… исчез. Словно сам мир не знал, как обрабатывать ошибку.