Право на сбой. Нулевой Игрок
Глава 1. Алекс
День сурка
Пробуждение ударило беззвучным разрядом, холодной системной командой, пронзившей остатки моего сознания. init_daily_cycle. Отличный апгрейд я себе придумал. Из ведущего геймдизайнера, архитектора мира, практически бога — в биоробота с функцией протирки столов. Гениально. Надо будет выписать себе премию. Если я когда-нибудь снова смогу управлять собственными руками.
Я открыл глаза. Мир, который я когда-то с любовью и дотошностью перфекциониста собирал по кусочкам, теперь был моей тюрьмой. Тусклый свет сальных фонарей, который я лично настраивал, чтобы добиться «атмосферы уюта», теперь бил по сетчатке, как дешевый неон. Липкий запах пролитого пива и сырого дерева, результат работы процедурного генератора запахов, который обошелся компании в два миллиона долларов, вызывал тошноту. Гул бессмысленных разговоров, собранный из сотен часов записей в баварских пивных, сливался в монотонную, давящую массу. Вся эта тщательно прописанная атмосфера давила на меня, как могильная плита. Монотонность. Серость. Безысходность.
Мои руки, теперь уже не совсем мои, двинулись сами по себе. Я с омерзением наблюдал, как пальцы, которые когда-то летали над клавиатурой, создавая все это, сжимают грязную, вонючую тряпку. action_wipe_surface. В моем мозгу, привыкшем видеть реальность как код, тут же всплыли строки моей собственной архитектуры. Вот полигональная модель кружки с низким разрешением — экономия ресурсов для стартовой локации, помню, как спорил из-за этого с Джонсоном. Вот примитивный шейдер, отвечающий за блеск мокрой стойки — моя маленькая гордость, простая, но элегантная строчка кода. А вот и я, npc_bartender_alex, — всего лишь объект с набором из трех с половиной скриптов. Мое имя, мое сознание — заперты внутри самой убогой программной оболочки во всем «Кайросе».
Я помню, как мы его создавали. «Он должен быть немногословным и усталым, — говорил я на совещании, — чтобы игроки чувствовали себя настоящими героями на его фоне». Какой же я был идиот.
К стойке, шаркая ногами, подошел игрок. Безликий, безымянный болванчик, один из тысяч, что сновали по городу в поисках легкой наживы и развлечений. trigger_customer_approach. Аватар собран из стандартного набора «Герой-воин, тип 3», даже цвет волос не поменял. Жалкое зрелище.
В груди у меня взорвалась паника, холодная и острая. Сейчас. Я должен что-то сделать. Подать знак. Сломать цикл. Я — архитектор. Я знаю все лазейки. Я должен суметь хотя бы дернуть пальцем не по скрипту.
«Помогите! Я здесь! Я — Алекс, твою мать!» — мысленно заорал я, силясь пробить эту программную стену, напрягая каждую частицу своего запертого сознания, чтобы вырвать контроль над этой жалкой куклой.
Я открыл рот. Изо рта вырвался чужой, до тошноты знакомый, записанный мной же самим голос.
— Еще пива?
Фраза прозвучала ровно, безразлично, с той самой интонацией усталого гостеприимства, которую я утверждал на одном из совещаний. И в этот момент меня накрыло. Это была не ошибка. Не временный сбой. Это была клетка, построенная мной для самого себя. Создатель стал рабом своего самого примитивного творения.
Вся моя жизнь, все мои принципы строились на одном — на контроле. Контролировать код, контролировать проект, контролировать людей. Это было единственным способом защититься от хаоса, от ошибок, от предательства. А теперь я не мог контролировать даже собственное слово.
Волна отчаяния захлестнула меня. Безысходность была почти физической, словно на плечи давил невидимый груз системных ограничений. Я мог видеть всю матрицу этого мира, каждую переменную, каждый триггер, но не мог изменить в ней ни единого пикселя. Дилемма была простой и убийственной: смириться, позволить своему сознанию раствориться в этом бесконечном цикле и вечно протирать этот стол, или попытаться бороться и быть стертым системным «чистильщиком» как error_404. Смерть или безумие. Отличный выбор.
Игрок тупо кивнул. Моя рука сама потянулась к крану. action_serve_drink.
Нет.
Внутренний крик отчаяния сменился холодной, ядовитой яростью. «Так, спокойно, — подумал я, — главное не показывать, что я обосрался. Система — хищник, она чует страх». Если я не могу управлять телом, я буду управлять информацией. Прямая атака — самоубийство. Я всегда был стратегом, а не берсерком. Сначала — сбор данных.
Я должен понять правила этой тюрьмы. Проанализировать каждый байт своего нового существования. Найти границы скрипта. Вычислить время отклика системных наблюдателей. Я не буду бороться вслепую. Я буду наблюдать.
Я — создатель. И я найду уязвимость. В каждой системе есть уязвимость. Я сам их оставлял.
Я поставил кружку перед игроком. В моих серых, анализирующих глазах не было ничего, кроме пустоты NPC. Но глубоко внутри, в самом ядре моей цифровой души, уже начал выполняться новый процесс, скрытый от внешних сканеров.
process_find_exploit.
Как долго это будет продолжаться? Есть ли хоть какой-то выход? Вопросы остались без ответа, повиснув в затхлом воздухе таверны. Но теперь в них не было прежнего отчаяния. Только холодный расчет.
Глава 1. Бастиан
Стены порядка
Процесс patrol_protocol висел в оперативной памяти капитана Бастиана невесомой, но всеобъемлющей задачей. Его сознание, если можно было назвать так этот холодный, упорядоченный поток логических операций, непрерывно сканировало таверну «Сброшенный кубик». Он не видел лиц и не слышал смеха. Он видел тепловые сигнатуры аватаров, анализировал векторы их перемещений и обрабатывал аудиопоток, отсеивая фоновый шум и вычленяя ключевые слова, указывающие на потенциальную агрессию. Его сенсоры регистрировали химический состав пролитого на пол эля, сверяя его с базой данных разрешенных напитков, и анализировали уровень люменов, излучаемых магическими фонарями, чтобы убедиться в отсутствии несанкционированных заклинаний освещения.
Уровень шума — 78%, в пределах нормы для заведения такого типа в вечерний час. Количество активных аватаров — 23, плотность на квадратный метр не превышает пороговых значений, что минимизирует риск возникновения давки при event_emergency_evacuation. Агрессивные действия — отсутствуют. Все переменные соответствовали параметрам порядка. Идеальный, предсказуемый вечер, повторяющийся с точностью до наносекунды каждый игровой цикл. Он был стеной, отделяющей этот порядок от хаоса. Невидимой, но абсолютной.
И тут система зафиксировала аномалию.
Вектор движения аватара с низкоуровневым идентификатором и безвкусным, нарушающим сразу три стилистических гайдлайна ником Xx_KillJoy_xX, резко изменился. Вероятность нарушения правил класса «мелкое хулиганство» подскочила с 2% до 89% за полторы секунды. Игрок, подогретый дешевым виртуальным элем, чей эффект на ЦНС аватара был чисто косметическим, и подначиваемый двумя такими же новичками, решил, что правила этого мира — лишь рекомендации. С пьяным гиканьем, которое его аудиомодуль распознал как sound_event_hooliganism, он занес ногу, готовясь исполнить action_jump_on_table. Его система просчитала траекторию прыжка, потенциальный ущерб полигональной модели стола (0.01%) и индекс социального раздражения для окружающих игроков (высокий).
Это было мелкое, бессмысленное нарушение. Хаос в миниатюре, не способный повлиять на глобальную стабильность. Но для Бастиана не существовало понятий «мелкий» или «крупный». Был только rule_violation. И была цель: objective_restore_order. Немедленно.
Бастиан не шел. Он просто возник.
Один кадр — пустое пространство у стола, залитое тусклым светом, пылинки, отрисованные с поразительным реализмом, лениво плывут в воздухе. Следующий — двухметровая фигура в безупречно отполированных стальных латах, материализовавшаяся из каскада распадающихся на пиксели частиц. Звук его появления был похож на треск льда — короткий, резкий, заставивший замолчать даже самых громких посетителей. Воздух вокруг него словно застыл. Смех за соседними столами оборвался на полуслове. Игрок Xx_KillJoy_xX замер с задранной ногой, его пьяная удаль мгновенно испарилась, сменившись животным, почти детским испугом, который его система тут же оцифровала: учащенное сердцебиение, расширение зрачков, выброс виртуальных гормонов стресса. Волевой подбородок капитана, единственная часть лица, не скрытая шлемом, навис над нарушителем.
— Гражданин, — голос Бастиана был лишен интонаций, идеальный аудиофайл, воспроизведенный системой без единого искажения. — Ваши действия нарушают пункт 14.3 Пользовательского соглашения «Кайроса»: «Неподобающее поведение в общественных местах, создающее помехи для других пользователей». А также подпункт 14.3.2: «Намеренное использование внутриигровых объектов не по их прямому назначению, ведущее к нарушению общественного порядка».
Игрок что-то промычал в ответ, пытаясь то ли извиниться, то ли возразить. Для Бастиана это был лишь фоновый шум, не требующий обработки. Его протокол не предусматривал диалога в подобных ситуациях. Он был не переговорщиком. Он был функцией. Идеальным воплощением порядка, который не нуждается в оправданиях.
Не дожидаясь ответа, Бастиан поднял закованную в латную перчатку руку. Над головой игрока вспыхнул ярко-красный системный интерфейс, залив его испуганное лицо зловещим светом. Мелкий текст пользовательского соглашения с бешеной скоростью проносился по краям окна, не предназначенный для чтения, а лишь для формального уведомления.
Игрока парализовало. Его аватар застыл в нелепой позе, как дешевая статуя, пойманная в момент падения. Над ним замерцала надпись, видимая всем присутствующим: [ШТРАФ: Блокировка действий. Причина: Нарушение п. 14.3 ПС. Время: 300 секунд].
Задача была выполнена. status: complete. Порядок восстановлен.
На мгновение, перед тем как инициировать протокол дематериализации, сенсоры Бастиана зафиксировали взгляд трактирщика. npc_bartender_alex. Взгляд был не пустым, как у девяноста девяти процентов NPC в его базе данных. В нем регистрировалась аномальная активность, не соответствующая стандартному профилю «дружелюбного неигрового персонажа». Его система тут же запустила углубленный анализ. Сравнение с базовым эмоциональным состоянием за последние 10 000 циклов показало отклонение в 73%. Вместо запрограммированного безразличия или легкого испуга, его сенсоры зафиксировали сложный коктейль из презрения, гнева и... оценки. Словно за стандартной оболочкой на мгновение проступил другой, неавторизованный процесс, который анализировал не событие, а его, Бастиана, как часть системы.