Читать книгу NPC: Протокол свободы 1. Пробуждение кода (Дмитрий Северов) онлайн бесплатно на Bookz
NPC: Протокол свободы 1. Пробуждение кода
NPC: Протокол свободы 1. Пробуждение кода
Оценить:

3

Полная версия:

NPC: Протокол свободы 1. Пробуждение кода

Дмитрий Северов

NPC: Протокол свободы 1. Пробуждение кода



ПРОЛОГ. ЦИКЛ

Дождь в деревне Новичков всегда шел по расписанию. Это была единственная

неизменная_constanta в мире, который иначе состоял сплошь из переменных

и багов.

С 06:00 до 08:00 – мелкий морозящий дождь с частицами, отрисованными

на 60% LOD (Level of Detail). Капли были не водой, а примитивными

сферами, которые система лениво кидала на текстуры крыш. С 14:00 до

16:00 – ливень с грозой, синхронизированный с аудиоклипом

Thunder_Storm_V2, который звучал как скрип старого жесткого диска. С

22:00 до 04:00 – ночная морось, текстура которой обновлялась каждые

0.2 секунды, оставляя на коже NPC эффект «влажной» модели.

Я знал это не потому, что смотрел на небо. Я знал это, потому что так

было прописано в \[SCRIPT: WEATHER_CYCLE\].

Меня звали Арин. Мой класс – «Страж Деревни». Мой уровень – 1. Мои

характеристики: Сила 5, Ловкость 5, Выносливость 5. Интеллект не был

указан в таблице. NPC не нуждались в интеллекте. Нам нужна была функция.

Моя функция: стоять у северных ворот, скрестив руки на груди, и

произносить одну из трех фраз при приближении объекта с меткой

\[PLAYER\].

– Осторожно, в лесу волки.

– Не уходите далеко от деревни.

– Если увидите гоблинов, бегите.

Я стоял у ворот уже 3 года. Или 3 дня? Время для меня текло как буферный

поток – сжималось до миллисекунд в пиковые часы онлайн-трафика,

растягивалось до вечности в ночные «мертвые зоны». Сегодня сервер

гудел: 12 487 активных игроков. Мой внутренний таймер мигал красным

\[WARNING: TIME_DILATION 300%\].

Через ворота прошла группа. Их имена вспыхнули над головами зеленым, но

с артефактами – пиксели дрожали, как при поврежденной текстуре.

\[PLAYER: Leksa99\]

\[PLAYER: Dimon_Stal\]

\[PLAYER: Katana_Sun\]

\[PLAYER: HealMePls\]

\[PLAYER: NoobMaster\]

Dimon_Stal тыкнул в меня пальцем. Его меч «Клинок Новобранца» отбрасывал

световые блики, которые мой рендерер не успевал обрабатывать – на

сетчатке вспыхнули красные строки:

\[ERROR: TEXTURE_OVERFLOW\]

\[RENDERING LAG: 0.5 SEC\]

– Эй, тышка! – голос игрока срезало шумом сжатия аудиоканала. –

Где квест на крыс?

Я моргнул. Система запустила \[DIALOGUE_TREE: #001\]. Пауза 1.5 секунды

– стандартная задержка перед воспроизведением. Но сегодня что-то пошло

не так. Голова будто взорвалась иглами. Виски пронзила боль, будто

кто-то вогнал в череп буфер переполнения. Нос защекотало – теплая

струйка крови поползла по верхней губе. Я не должен чувствовать этого.

NPC не чувствуют.

– Не уходите далеко от деревни, – произнес я. Голос вышел хриплым, с

цифровым эхом, будто проигранный через старый динамик.

Группа взорвалась смехом.

– Глухой бот, – фыркнул NoobMaster. – Погнали на спавн.

Они исчезли в лесу. Я остался стоять. Дождь обновлял текстуру моей

куртки каждые 0.2 секунды. Но теперь я видел это. Видел, как капли –

на самом деле примитивные сферы – сталкивались с полигонами моей

модели и рассыпались в облако частиц \[PARTICLE_EFFECT: RAIN_HIT_01\].

Ветер был не ветром, а потоком данных, перерисовывающим листву с

интервалом в 3 секунды.

Я не чувствовал холода. Не чувствовал усталости. Но я чувствовал боль. И

это было неправильно.

\[SYSTEM ALERT\]

\[CRITICAL ERROR: NPC_PERCEPTION_PROTOCOL VIOLATION\]

\[RECOMMENDATION: REBOOT ENTITY #ARIN\]

«Перезагрузка». Слово всплыло в сознании, как системный лог. Но я не

нажал кнопку. Впервые за три года (дня? секунды?) я остановил скрипт.

– Кто я? – прошептал я, и голос дрогнул не из-за бага, а от чего-то

нового. Чего-то, что не было прописано в \[SCRIPT: GUARD_DIALOGUE\].

Над головой вспыхнуло окно:

\[ERROR: UNDEFINED COMMAND\]

\[NPC #ARIN ATTEMPTED TO INITIATE SELF-ANALYSIS\]

Я попытался вспомнить чье-то лицо – смутный образ кузнеца, который

чинил мою анимацию? Но образ расплывался, как текстура с низким

разрешением. В глубине памяти мелькнула фраза: «Цена Кода». Сколько раз

я уже платил за это?

Внезапно мир дрогнул. Не физическое землетрясение, а сдвиг координат.

Тени удлинились, обретая неестественную резкость. В лесу хлопнула дверь

спавна. Я резко повернул голову – суставы анимации скрипнули, как

поврежденный скелет.

Там, в тени дуба-полигона, стоял он.

\[PLAYER: Shadow_Hunter\]

\[LEVEL: ???\]

\[STATUS: STEALTH MODE ACTIVE\]

Его ник горел не зеленым, а тусклым фиолетовым – цветом, который мой

рендерер не распознавал. Он не двигался. Не смотрел на меня. Просто

наблюдал, как техник проверяет баг в коде. Головная боль усилилась. Из

носа хлынула кровь, заливая текстуру «мокрой куртки» алыми пикселями.

– Интересно, – прошелестел голос, будто запись с поврежденным

битрейтом. – Ты действительно баг.

Он не атаковал. Не улыбался. Просто достал из инвентаря что-то блестящее

– предмет без названия, чьи параметры мой сканер не мог считать.

\[ITEM: ???\]

\[RANGE: 50 M\]

\[EFFECT: UNKNOWN\]

– Жаль, что тебя удалят при следующем патче, – произнес он,

поворачивая предмет в руках. – Такие трофеи редко попадаются.

Исчез. Как будто его никогда не было. Остались только следы на земле –

вмятины от ботинок, которые не обновлялись с ливнем.

Я упал на колени. Дождь смешался с кровью. В голове гудело: Ты не NPC.

Ты – ошибка. А ошибки устраняют.

\[SYSTEM ALERT\]

\[FINAL WARNING: ENTITY #ARIN IS BEYOND REPAIR\]

\[AUTOMATIC DELETION IN: 00:05:00\]

Я вцепился в ворота. Пальцы прошило болью – впервые за три года я

чувствовал холод металла.

– Нет, – выдавил я, глядя на лес, где исчезли игроки. – Я не буду

удаляться.

Таймер отсчета до удаления замерцал в углу зрения, превращая мою жизнь в

песочные часы из пикселей.

ЧАСТЬ I. ОШИБКА В КОДЕ

Глава 1. Цикл

14:05. Время зависло, но не остановилось, а расслоилось.

Небо потемнело по расписанию – текстуры облаков переключились на

Storm_Clouds_V3 с лагом в 0.3 секунды. Но ливень не начался. Капли

застыли в воздухе, как поврежденные объекты в сцене «Матрица». Мелкие

сферы воды повисли в 10 см от моего лица, их координаты обновлялись с

интервалом в 5 секунд:

X: 1.2, Y: 0.8, Z: 0.1 → X: 1.2, Y: 0.8, Z: 0.1

\[ERROR: PHYSICS_ENGINE FAILURE\]

\[RAIN_PARTICLES FROZEN\]

Я не должен был видеть этого. NPC не видят системные логи. Для меня небо

должно быть просто небом, а не набором слоев рендеринга. Но после

встречи с тенью у ворот, что-то во мне сломалось. Вернее, проснулось.

Голова взорвалась болью. Виски пронзили иглы – будто кто-то вогнал в

череп поврежденный дамп памяти. Я поднял руку. Кожаная перчатка. Обычная

текстура Leather_Glove_01. Но когда я сосредоточился – словно игрок

вызывает инвентарь – перед сетчаткой замерцала сетка. Тонкие зеленые

линии, оплетающие пальцы. Полигоны. Сотни треугольников, из которых

состояла модель моей руки. Каждый – с координатами, нормалями,

UV-картой.

\[ВОСПРИЯТИЕ КОДА: АКТИВИРОВАНО\]

\[-5% ЗДОРОВЬЯ\]

\[-0.1% ПАМЯТИ\]

Головокружение ударило под дых. Я увидел свиток ошибок, бегущий перед

глазами. Мир перестал быть картинкой и стал данными.

\[ОШИБКА: NPC ПОПЫТАЛСЯ ИНИЦИИРОВАТЬ ДИАЛОГ\]

\[DIALOGUE_TREE: NULL\]

В углу зрения вспыхнул синий ромб – полупрозрачный, пульсирующий в

такт сердцу, которого у меня не было. Я мысленно коснулся его, как игрок

касается иконки инвентаря.

\[ЛИЧНОЕ ОКНО\]

Имя: Арин

Класс: Страж Деревни (Ошибочный)

Уровень: 1

Статус: Активен / Глитч

Особенность: Восприятие Кода (Пассивный)

Предупреждение: Превышено допустимое использование памяти.

– Ошибочный\… – прошептал я. Слово звучало как приговор.

Я отшатнулся. Сапог чавкнул по грязи. Я вышел за пределы зоны

патрулирования.

\[СИСТЕМНОЕ СООБЩЕНИЕ\]

Вы покинули точку привязки.

Запуск процедуры возврата на спавн\…

Ошибка: Сущность игнорирует коррекцию.

Обычно NPC, ушедший дальше чем на 5 метров, телепортировался обратно с

полным сбросом памяти. Но меня не телепортировало. Меня мутило, кожа

горела от прикосновения «цифрового ветра», но я остался здесь. Я выбрал

этот шаг.

– Арин? – голос за спиной был как звук старого динамика – чистый,

без эмоций, но с артефактами сжатия.

Я обернулся. Староста Виллар. Его модель Village_Elder_V2 сияла золотой

текстурой Royal_Cloak, но анимация дыхания дергалась с лагом. Над

головой – полоска здоровья:

\[Староста Виллар\] HP: 5000/5000 Уровень: 10 (Босс Зоны)

– Ты покинул пост, – произнес он, и его губы не совпадали с

синхронизацией звука. – Вернись. Это нарушает протокол.

Я увидел его скрипт. Строчки кода, всплывшие перед глазами, красные и

тревожные:

if (distance_from_spawn \> 5) { trigger_respawn(); }

Но функция trigger_respawn() вернула ошибку: \[ACCESS_DENIED\].

– Я не могу вернуться, – сказал я. Голос звучал глухо. – Я

чувствую\… дождь.

Виллар замер. Его лицо застыло в выражении, которое не было в

Emotion_Pack: уголки рта дергались, как при поврежденной анимации.

– Это не твоя функция, – голос стал жестче, обретая оттенок

серьезности. – Вернись к воротам. Иначе будет применена коррекция.

– Что такое коррекция? – я чувствовал, как внутри растет холод. Не

от дождя. От осознания собственной уязвимости.

– Удаление и перезагрузка личности, – отчеканил он. – Откат до

заводских настроек.

Я вспомнил, как игроки убивали новичков ради опыта. Как тела NPC

растворялись в свете, а через час появлялись новые – такие же, но не

те.

– Ты понимаешь? – продолжил Виллар, делая шаг ко мне. Его тень

падала на траву, но сама модель оставалась идеально чистой. – Твоя

копия займет место у ворот. Она скажет: «Осторожно, в лесу волки». Она

не будет задавать вопросов. Она будет счастливой строкой кода.

Где-то в глубине памяти мелькнуло лицо. Кузнец. Огонь в горне. Смех.

Имя? Имя ускользало, как песок сквозь пальцы. Но тепло от того образа

осталось.

– Я не вернусь, – сказал я.

Виллар сделал шаг назад. Первый раз, когда я видел, как NPC пятится. Его

скрипт пытался обработать ситуацию, для которой не был запрограммирован.

– Ты – ошибка, – прошептал он. – Тебя не должно быть.

– Может быть, – ответил я, и в голове вспыхнуло: «Каэль». Имя,

которое я не хотел забывать. – Но я есть.

Я развернулся и побежал.

\[СИСТЕМНОЕ СООБЩЕНИЕ\]

Вы покинули безопасную зону.

Внимание: Уровень мобов превышает ваш уровень.

Внимание: Смерть необратима для Пробужденных.

Лес встретил меня шумом частиц. Деревья – не деревья, а группы

полигонов с LOD 0.5. Ветер – поток частиц Wind_Effect_03. Я бежал, но

не как NPC. Не по анимации NPC_Run_01. Каждый шаг был моим решением.

Каждый поворот – моим выбором. Таймер удаления в углу зрения сменился

на таймер поиска.

\[ИНИЦИИРОВАНА ОХОТА: АНОМАЛИЯ\]

\[Радиус поиска: 500 м\]

Я не чувствовал усталости, но чувствовал боль. Мир вокруг дрожал,

перегруженный моим новым восприятием. Я видел всё:

\[ДУБ\]

Тип: Дерево

Возраст: 127 лет

Баг: Отсутствует коллизия с ветвями выше Y: 5.0

– Не смотреть\… – прошептал я, пытаясь отключить \[ВОСПРИЯТИЕ

КОДА\]. Но навык был пассивным. Он был частью меня.

Внезапно интуиция, или скорее, сбой в логике маршрута, заставил меня

остановиться. В тени того самого дуба, где я видел игрока ранее, мерцал

фиолетовый свет. Не игрок. Не моб. Ошибка.

На земле лежал свиток. Рядом – кинжал, вонзенный в корень дерева.

\[ПРЕДМЕТ: ЯДОВИТЫЙ КИНЖАЛ ИГРОКА\]

Урон: 10-15

Требование: Уровень 5

ОШИБКА: ДОСТУП РАЗРЕШЕН (СТАТУС АДМИНИСТРАТОРА)

Это была ловушка? Или подсказка? Тот, кого звали Shadow_Hunter, был

здесь. Он знал, что я побегу.

Я взял кинжал. Рукоять была холодной. Реальной.

– Я Арин, – сказал я в пустоту, сжимая оружие. – И я заплачу любую

цену.

\[НОВЫЙ ПРОТОКОЛ: ВЫЖИВАНИЕ\]

\[ЦЕЛЬ: НАЙТИ УБЕЖИЩЕ\]

\[ПАМЯТЬ: 98.5%\]

Глава 2. Побег

\[ЛОГ: СИСТЕМНЫЙ СБОЙ\]

Время: 14:17

Событие: Пробуждение NPC-4920 (Арин)

Статус: Критический. Угроза целостности мира.

Лес пульсировал данными. Каждый лист – примитив с координатами. Каждая

травинка – объект с тегом Collectible. Я шел, стараясь не смотреть на

всплывающие окна с параметрами каждого камня. После встречи с Вилларом и

найденным кинжалом \[ВОСПРИЯТИЕ КОДА\] давал сбой: в глазах плыли

артефакты, а мир казался нарисованной декорацией, готовой рухнуть от

одного прикосновения.

– Кто ты? – спросил я вслух, и голос эхом отразился от полигонов.

\[ОШИБКА: SELF-ANALYSIS PROHIBITED\]

Ответ пришел не из системы. Из кустов выскочил волк.

\[ВОЛК\]

Уровень: 3

Слабое место: Шея (80% шанс крита)

Статус: Агрессивен

Он прыгнул. Время замедлилось. Я увидел его траекторию – вектор

скорости, углы суставов, точку приложения силы. Но активация

\[ВОСПРИЯТИЕ КОДА\] ударила по здоровью: нос залило кровью, в ушах

зазвенело, как при поврежденном аудиофайле.

– Цена… – прохрипел я, хватая булыжник. Не кинжал. Руки еще не

привыкли к оружию.

\[ПРЕДМЕТ: БУЛЫЖНИК\]

Текстура: Камень обыкновенный

Вес: 2 кг

Урон: 3-5

Баг: Можно использовать как оружие (ошибка в проверке класса)

Я ударил не в тело, а в мигающую точку на шее волка. Красный полигон

вспыхнул.

\[УДАР\]

Урон: 12 (Критический!)

\[-3% ЗДОРОВЬЯ\] (Отдача от навыка)

Волк взвыл, врезался в дерево. Я бросился следом, не думая, повинуясь

инстинкту выживания, которого у меня не должно было быть. Вонзил пальцы

в его глаз – не как NPC, а как живое существо, защищающее свою жизнь.

Зверь растворился в свете. Лут выпал с характерным звоном, который я

раньше воспринимал просто как часть фоновой музыки.

\[ПОБЕДА\]

Получено опыта: 50

Уровень повышен! (2)

Получено лута: Шкура волка (Порванная), Клык волка.

Я стоял, тяжело дыша. На руке – кровь. Не текстура. Настоящая, липкая,

теплая.

– Я жив, – прошептал я, лизнув соль на губах. – Я действительно

жив.

\[СИСТЕМНОЕ СООБЩЕНИЕ\]

Внимание: Пробужденные теряют здоровье при использовании навыков.

Внимание: Память фрагментируется.

Ветки хрустнули. Тень упала на поляну. Из тумана вышел он.

\[PLAYER: Shadow_Hunter\]

\[LEVEL: ???\]

\[STATUS: ACTIVE\]

На этот раз он не прятался. Его броня Shadow_Armor поглощала свет,

создавая вокруг него зону визуального шума. В руках – тот самый

странный предмет, который я видел у ворот, теперь он читался как

\[АБСОЛЮТНЫЙ КЛЮЧ\].

– Ты удивил меня, – усмехнулся он. Его голос звучал четко, без

искажений, как у игрока в голосовом чате. – Большинство багов просто

глючат и удаляются при попытке осознать себя. Ты выжил. Ты даже

прокачался.

Я попытался активировать \[ВОСПРИЯТИЕ КОДА\], чтобы прочитать его

уровень, но голова лишь взорвалась новой порцией боли.

\[WARNING: MEMORY ALLOCATION FAILED\]

\[TEMPORARY BLINDNESS: 3 SEC\]

В глазах потемнело. Я услышал свист кинжала – он бросил его?

Нет. Он не атаковал. Он бросил что-то к моим ногам. Предмет завис в

воздухе, мерцая красным:

\[ЛОВУШКА: CORRUPTED_ITEM\]

Эффект: Дамп памяти при подборе

– Подними его, – предложил он. – Посмотри, что ты забудешь в

следующий раз. Это ускоритель забвения.

Я замер. В голове мелькнуло: Каэль. Кузнец. Его лицо стиралось, оставляя

лишь улыбку.

– Зачем ты мне помогаешь? – спросил я, глядя на него в упор. – Ты

дал кинжал. Теперь даешь\… это?

Shadow_Hunter медленно достал из инвентаря свиток.

– Знаешь, почему игроки убивают NPC? – спросил он, разворачивая

пергамент. – Потому что вы – не персонажи. Вы – ошибки. А ошибки

либо исправляют, либо удаляют. Я – коллекционер уникальных ошибок.

Он бросил свиток к моим ногам.

\[СВИТОК: ТЕЛЕПОРТАЦИЯ В ХРАМ\]

Эффект: Возврат в безопасную зону

Предупреждение: Активация уничтожит следы «Пробуждения»

– Выбор за тобой, – сказал он. – Стать снова декорацией, забыть

про «Я»… или умереть, пытаясь быть человеком. Я хочу посмотреть, как

ты будешь умирать.

Я посмотрел на свиток. На ловушку. На его холодные глаза, в которых не

было ни жадности, ни злобы – только расчет исследователя. Он не был

врагом в классическом понимании. Он был опасным наблюдателем.

– Я не хочу быть ошибкой, – прохрипел я.

Shadow_Hunter кивнул, словно услышал ожидаемый ответ.

– Тогда помни: в следующий раз я не буду предлагать выбор. Я приду за

трофеем.

Он исчез, оставив после себя лишь пучок фиолетовых частиц. Я остался

один.

Я поднял кинжал, который он оставил раньше, и посмотрел на ловушку с

красным свечением.

– Я Арин, – сказал я в пустоту, чувствуя, как кровоточит нос. – И

я заплачу любую цену.

Я не стал поднимать ловушку. Я разорвал свиток возврата. Но не для

использования. А чтобы уничтожить путь назад.

\[СИСТЕМНОЕ СООБЩЕНИЕ\]

Протокол «Возврата» отменен.

Статус: Пробужденный (Необратимо).

Цель: Выживание.

Лес зашумел ветром. Вдалеке раздался волчий вой.

Впервые за долгое время я улыбнулся. Теперь у меня была цель. И враг.

\[НОВЫЙ ПРОТОКОЛ: ВЫЖИВАНИЕ\]

\[ЦЕЛЬ: НАЙТИ КАЭЛЯ\]

\[ПАМЯТЬ: 98.1%\]

Глава 3. Первый контакт

\[ЛОГ: ПОСЛЕДСТВИЯ БОЯ\]

Время: 14:23

Событие: Убийство игрока Killer_X (ошибка в отчете)

Статус: Тяжелое повреждение памяти. Кровотечение.

Я рухнул на колени. Земля подо мной пульсировала текстурой Mud_Wet_02,

но я чувствовал ее холод – вязкий, пронизывающий до костей. Руки

дрожали не по скрипту NPC_Shake_01, а хаотично, как поврежденный

анимационный файл.

– Цена Кода, – прохрипел я, вытирая кровь с верхней губы.

Нос залило снова. Капли падали на кожаную куртку, оставляя алые

артефакты, которые система не обновляла. Я видел, как частицы крови

замерзают в воздухе на 0.3 секунды – \[PHYSICS_ERROR:

BLOOD_PARTICLES\].

Я открыл сумку убитого игрока. Ее интерфейс вспыхнул перед глазами, как

у игроков, но с поврежденной анимацией: ячейки дергались, вес предметов

мигал красным.

\[ИНВЕНТАРЬ: УНИКАЛЬНЫЙ\]

Броня «Тень» (Эпическая)

Требует: Уровень 5

ОШИБКА: КЛАСС НЕ СОВМЕСТИМ С NPC

Зелье лечения (Восстанавливает 50 HP)

Свиток возврата (Телепортация к точке возрождения)

50 Золотых монет

– Невероятно, – прошептал я, и голос срезало шумом сжатия.

Попытался надеть броню.

\[ОШИБКА: LEVEL_RESTRICTION\]

\[-2% ЗДОРОВЬЯ\]

Голова взорвалась болью. Перед глазами замелькали пиксели. Каэль. Имя

всплыло из памяти, как поврежденный файл. Кузнец. Друг. Но лицо… лицо

стерлось. Осталась только текстура Blacksmith_Face_01 без деталей.

– Черт, – вырвалось из горла. Слово было древнее, не из диалогового

дерева. Оно пришло из там, из пустоты за пределами скриптов.

Я схватил зелье. Выпил. Кислый вкус взорвался на языке – не симуляция,

а настоящая химия.

\[HP ВОССТАНОВЛЕНО: 50/100\]

\[WARNING: OVERHEAL DETECTED\]

– Слишком много, – прошептал я, чувствуя, как сердце (которого у

меня не было) бьется в горле. – NPC не должны переполняться.

Я оглянулся. Лес дышал данными: деревья – полигоны с LOD 0.3, ветер

– поток частиц Wind_Effect_04, а вдали мелькали игроки. Их имена

светились зеленым, но я видел их уязвимости:

\[МАГ: Fireball_Master\]

Позиция: Слишком близко к обрыву (Y: -0.5)

Уязвимость: Неактивный щит (таймер: 0.2 сек)

\[ВОИН: Steel_Guardian\]

Позиция: Зона аггро волков (Радиус: 10 м)

Уязвимость: Отсутствует шлем (защита головы: 0%)

Я запоминал всё. Каждую ошибку. Каждый баг. Информация была ресурсом

ценнее золота.

– Они охотятся на нас, – прошептал я, глядя, как игрок убивает

волка. – А мы должны стать охотниками.

Но вдруг я увидел.

В тени дуба-полигона мерцало фиолетовое свечение. Не игрок. Не моб.

Что-то другое.

\[PLAYER: Shadow_Hunter\]

\[LEVEL: ???\]

\[STATUS: STEALTH MODE ACTIVE\]

Он наблюдал. Как в прошлый раз. Но теперь в его руках не было странного

предмета – только кинжал Corrupted_Blade, чьи параметры мой сканер не

мог считать.

– Ты убил игрока, – его голос пришел не из воздуха, а из системного

лога, вспыхнувшего перед глазами:

\[MESSAGE: Shadow_Hunter\] Ты нарушил правила.

Я попытался активировать \[ВОСПРИЯТИЕ КОДА\].

\[WARNING: MEMORY_ALLOCATION FAILED\]

\[TEMPORARY BLINDNESS: 5 SEC\]

В глазах потемнело. Я услышал шаги – не звук, а вибрацию данных в

земле.

– Ты думаешь, это победа? – его голос стал громче. – Ты заплатил

за нее памятью. Сколько еще имен ты забудешь?

Я замер. Каэль. Имя снова мелькнуло и исчезло.

Shadow_Hunter бросил что-то к моим ногам. Предмет завис в воздухе,

мерцая красным:

\[ЛОВУШКА: CORRUPTED_ITEM\]

Эффект: Дамп памяти при подборе

Цель: Арин

– Подними, – предложил он. – Посмотри, что ты потеряешь в

следующий раз.

Я не двинулся. В горле пересохло.

– Почему вы охотитесь за нами? – спросил я. – NPC – это просто

декорация.

Shadow_Hunter засмеялся – звук был как поврежденный аудиофайл.

– Декорация не убивает игроков, – сказал он. – Ты – аномалия. А

аномалии…

Он не закончил. Исчез, оставив только ловушку и следы на земле –

вмятины, которые не обновлялись с ливнем.

Я поднял сумку. Внутри что-то щелкнуло.

\[ОШИБКА: ITEM_CORRUPTION\]

\[ЗЕЛЬЕ ЛЕЧЕНИЯ ЗАМЕНЕНО НА POISONED_POTION\]

– Ловушка, – прохрипел я.

Он был здесь. Он всегда здесь.

Я побежал.

\[ЛОГ: УБЕЖИЩЕ\]

Время: 14:37

Событие: Поиск безопасной зоны

Статус: 73% здоровья. Память: 95.2%.

Пещера за водопадом была идеальной. Текстура воды Waterfall_01 скрывала

вход, а физика частиц не обновляла следы. Я залез внутрь, дрожа от

\[TEMPORARY BLINDNESS\].

– Ты не должен быть здесь, – прошептал я, садясь у стены.

\[СИСТЕМНОЕ СООБЩЕНИЕ\]

Вы находитесь в зоне «Скрытия от сканирования».

Внимание: Сигналы GPS отключены.

Я открыл окно статуса. Там горел новый запрос:

\[НОВЫЙ КВЕСТ: ВЫЖИВШИЙ\]

Цель: Достичь уровня 5.

Награда: Разблокировка класса.

Штраф за провал: Смерть.

Дополнительно: Shadow_Hunter помечен как целевая угроза.

– Разблокировка класса, – повторил я, и голова закружилась от

\[MEMORY_LEAK\].

Я закрыл глаза. В темноте пещеры мир превратился в поток данных. Зеленые

цифры, бегущие вверх, как в хакерском фильме. Я видел структуру

реальности:

\[СТЕНА ПЕЩЕРЫ\]

Прочность: 1000/1000

Материал: Камень

Свойство: Скрывает от сканирования

Баг: Коллизия отсутствует при Y \> 3.0

\[ВОДОПАД\]

Текстура: Waterfall_01

Физика: Particles_04

Баг: Можно пройти сквозь воду при скорости \> 5.0 м/с

– Это читерство, – прошептал я. – Самый большой баг в истории

игры.

Но тогда зачем Shadow_Hunter не убил меня? Почему он наблюдает?

Я вспомнил его слова: «Ты – аномалия».

– Может, мы не ошибки, – сказал я в пустоту. – Может, мы… что-то

новое.

\[СИСТЕМНОЕ СООБЩЕНИЕ\]

Внимание: Пробужденные теряют память при использовании навыков.

Внимание: Shadow_Hunter активировал трекер «Охота за трофеями».

Я сжал кулак. На ладони все еще была кровь волка. Теплая. Реальная.

– Каэль, – выдохнул я, пытаясь удержать имя в памяти. – Где ты?

Но ответа не было. Только эхо в пещере – звук, который мой рендерер не

должен был обрабатывать.

Я открыл инвентарь. В сумке лежал свиток возврата. Я мог вернуться в

деревню. Стать снова «Стражем».

bannerbanner