18+
реклама
18+
Бургер менюБургер меню

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

18

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

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\]

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

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