Обложка Боги играют в PS5

Боги играют в PS5

Neo7

0% прочитано
Стандартный
Neo7

Боги играют в PS5

Глава 1. Лаг в очереди за шаурмой

Боги играют в PS5

Если бы мне сказали, что я живу в чужой видеоигре, я бы, наверное, обиделся. Не потому, что это оскорбительно, а потому что графика могла быть и получше. Ну серьёзно: если уж ты — воплощение чьей-то фантазии, будь добр, сделай мне нормальные скулы и не заставляй утренний автобус приходить с задержкой в семь минут. Хотя, с другой стороны, задержка автобуса — это, возможно, не баг, а фича. Кто-то наверху просто экономит ресурсы на моём районе.

Меня зовут Макс. Мне тридцать один, я старший тестировщик в игровой студии «Пиксель-Питер», и по роду деятельности я обязан замечать всякую дичь. Это профессиональная деформация. Я вижу кривые хитбоксы в драках, неуместные текстуры в симуляторах свиданий и баги физики там, где их быть не должно. Но одно дело — находить баги в игре, которую делают твои коллеги, и совсем другое — находить их в реальности.

Началось всё в четверг. Я стоял в очереди за шаурмой у метро «Пионерская». Очередь была длинная, как список грехов в «Симс». Передо мной стоял мужик в клетчатой рубашке, который уже минут пять выбирал между «с курицей» и «с курицей и сыром». Продавец, парень с усами и лицом человека, который видел слишком много ночных смен, терпеливо ждал. И тут я заметил странное.

Мужик в клетчатой рубашке повернул голову к меню. Потом обратно. Потом снова к меню. Потом опять. И так четыре раза. Его движения были абсолютно одинаковыми. Я даже моргнул. Может, показалось? Я достал телефон, сделал вид, что листаю ленту, а сам краем глаза следил.

— Э-э-э... — сказал мужик. — А что вкуснее?

Продавец открыл рот. И закрыл. Потом открыл снова. И сказал ту же фразу, что и минуту назад:

— У нас всё вкусное. Курица свежая, соус фирменный, лаваш мягкий.

Я замер. Я готов был поклясться, что он уже говорил это. Слово в слово. С той же интонацией. С тем же движением брови. Мужик кивнул, будто услышал впервые. Потом опять повернулся к меню. И снова четыре раза туда-сюда.

— Так, — сказал я вслух. — Это déjà vu? Или у меня перегрелся мозг?

Никто не обернулся. Очередь стояла. Люди смотрели в телефоны. У одного парня в наушниках на экране была открыта игра, и я автоматически отметил, что у него в инвентаре баг: предмет дублировался. Он не замечал. Я хотел было сказать ему, но тут мужик в клетчатой рубашке наконец определился.

— Дайте с курицей и сыром, — сказал он.

Продавец кивнул. Начал готовить. Всё пошло нормально. Я выдохнул. Ну, показалось. Бывает. Недосып, стресс, дедлайн по проекту «Космические ежи 2: Месть кактуса». Я сам недавно три ночи подряд искал баг, который оказался опечаткой в названии переменной. После такого любой мужик в клетчатой рубашке покажется зацикленным.

Я купил шаурму. С курицей. Без сыра. С сыром было дороже на тридцать рублей, а я не настолько богат, чтобы платить за иллюзию сыра. Шаурма была нормальной. Соус фирменный, лаваш мягкий. Я шёл к офису и жевал, размышляя о том, что если мир — это игра, то разработчик явно халтурил с диалогами NPC. Слишком много повторов. Слишком мало ветвлений. И почему у всех прохожих одинаковые зонты? Я присмотрелся. У трёх женщин подряд были красные зонты с белым горошком. Они шли в разных направлениях, но зонты были идентичны. Как будто один ассет размножили.

— Ладно, — сказал я себе. — Ты просто устал.

На работе было ещё веселее. Я открыл билд «Космических ежей» и начал проходить уровень. Всё как обычно: ёж прыгает, кактус стреляет, музыка заедает на одном и том же месте. Я уже собирался записать баг-репорт, как вдруг заметил, что один из врагов — кактус с глазами — стоит на месте и смотрит в стену. Я подошёл. Кактус не реагировал. Я ткнул его курсором. Ничего. Я нажал «убить». Кактус исчез. Но на его месте появилась надпись: «Ошибка: объект не найден. Продолжить?»

Я уставился на экран. Такой ошибки в нашем коде быть не могло. Мы не использовали такие формулировки. Я открыл консоль. Полез в логи. И увидел странную строчку:

[12:47:03] WARN: entity "player_max" behavior anomaly detected.

Я перечитал. Потом ещё раз. Потом протёр глаза. «player_max». Макс. Игрок Макс. Я — Макс. Совпадение? Идиотское совпадение? Я полез в код. Поиск по проекту. Ноль результатов. Никакого «player_max» в нашей игре не было. Я проверил логи других тестировщиков. У них были нормальные записи: «enemy_cactus_01», «level_forest», «ui_button_start». А у меня — «player_max».

— Ты чего завис? — спросил Дима из соседнего кресла. Он был геймдизайнером и человеком, который считал, что если игра не ломается, значит, в неё мало добавили.

— Да так, — сказал я. — Логи странные.

— Странные — это нормально. У нас весь проект странный. Я вчера видел, как ёж провалился сквозь текстуру и вылетел в главное меню. И знаешь, что он сказал? «Я не должен быть здесь».

— Ёж сказал?

— Ну, не ёж, а субтитр. Но всё равно жутко.

Я хотел расспросить подробнее, но тут у меня зазвонил телефон. Номер был незнакомый. Я обычно не беру трубку, но что-то заставило меня ответить.

— Макс? — сказал голос. Он был странный. Как будто говорил человек, который одновременно жевал чипсы и смотрел в микроскоп. — Ты не должен был это видеть.

— Кто это?

— Неважно. Важно, что ты заметил. Ты всегда был внимательным. Слишком внимательным для персонажа второго плана.

— Чего? — Я засмеялся. — Это розыгрыш? Дима, ты?

— Это не Дима, — сказал голос. — Дима — тоже персонаж. Хотя у него неплохая модель поведения. Я старался.

Я почувствовал, как по спине пробежал холодок. Я отошёл от стола, вышел в коридор. В окне отражался я — уставший, с недоеденной шаурмой в руке. И что-то в этом отражении было не так. На секунду мне показалось, что моё лицо состоит из крупных пикселей. Я моргнул. Всё прошло.

— Слушайте, — сказал я в трубку. — Если это прикол, то несмешной. Я работаю в игровой индустрии, я знаю, как звучат приколы.

— Ты знаешь, как звучат приколы в твоём мире, — ответил голос. — Но твой мир — не твой. Ты просто не помнишь, потому что я стёр тебе память при загрузке.

— Какую ещё загрузку?

— Послушай. У тебя дома, в шкафу, на верхней полке, лежит коробка. В ней — старая консоль. Ты думаешь, что это PS5, которую ты купил на распродаже. Но это не она. Это точка входа. Включи её. И посмотри в меню. Только не делай резких движений. Система может подумать, что ты пытаешься выйти.

— Выйти куда?

— Из игры, — сказал голос. — Из моей игры.

Связь оборвалась. Я стоял в коридоре офиса, смотрел на телефон и чувствовал, как шаурма пытается покинуть мой желудок. Мимо прошла уборщица. Она посмотрела на меня и сказала:

— У нас всё вкусное. Курица свежая, соус фирменный, лаваш мягкий.

Я не выдержал. Я развернулся и пошёл к выходу. Дима крикнул мне вслед что-то про баг-репорт, но я не слушал. Я ехал домой на автобусе, который пришёл ровно через семь минут, как по расписанию. Внутри все пассажиры сидели с одинаковыми красными зонтами. Никто не разговаривал. Водитель объявлял остановки голосом, который я уже слышал сегодня утром. Я приехал домой, открыл шкаф, достал коробку. Внутри лежала PS5. Я подключил её. Включил.

На экране появилось меню. Но это было не меню PlayStation. Это было что-то другое. Тёмный фон. Белые буквы. И надпись:

СИМУЛЯЦИЯ v0.9.7

Игрок: МАКС

Статус: В ОБРАБОТКЕ

Доступные действия: [ПРОДОЛЖИТЬ] [НАСТРОЙКИ] [ВЫЙТИ]

Я смотрел на это минуту. Две. Три. Потом взял геймпад. И нажал «Продолжить».

За моей спиной кто-то вздохнул. Я обернулся. В комнате никого не было. Но на столе лежала записка, написанная моим почерком:

«Не нажимай "Выйти". Ты не переживёшь выхода. Но если хочешь поговорить — я в соседней комнате. С уважением, Фантазёр».

Я посмотрел на дверь в спальню. Оттуда доносился звук, похожий на то, как кто-то очень осторожно ставит на паузу целую вселенную.

Глава 2. Фантазёр не моет посуду

Я стоял перед дверью в спальню и чувствовал себя идиотом. Ну в самом деле: взрослый мужик, тридцать один год, стоит в собственной квартире и боится открыть дверь в собственную спальню, потому что какая-то записка, написанная его же почерком, сообщила ему, что там сидит Фантазёр. Если это психушка, то очень качественная. Если это игра, то у неё отвратительный сценарий.

Я толкнул дверь.

Спальня выглядела нормально. Кровать, шкаф, кот Барсик спит на подоконнике. Всё как обычно. Кроме одного: на моём компьютерном кресле сидел человек. Он был... как бы это сказать... недоделанный. Я не знаю, как ещё описать. Представьте, что вы смотрите на человека через запотевшее стекло. Контуры вроде есть, лицо вроде есть, но детали плывут. Глаза — серые, но как будто нарисованные маркером. Волосы — есть, но непонятно, какого цвета. Одежда — серая футболка и джинсы, но без единой складки, как будто на нём текстура не прогрузилась.

— Привет, — сказал он. Голос был тот же, что в трубке. — Не пугайся. Я выгляжу так, потому что экономлю полигоны.

— Ты... — Я открыл рот. Закрыл. Открыл снова. — Ты кто?

— Я Фантазёр. — Он развёл руками. — Создатель. Разработчик. Творец. Ну, ты понял.

— Ты выглядишь как недогруженный NPC.

— Спасибо, я старался. — Он усмехнулся. — На самом деле я выгляжу нормально. Просто твой мозг не может обработать мой реальный облик, поэтому дорисовывает что попало. Это как смотреть на солнце. Только солнце — это я, а ты — сетчатка.

— Скромно.

— Я создал вселенную, у меня есть право на небольшую скромность.

Я сел на кровать. Барсик не проснулся. Это было подозрительно. Барсик всегда просыпался, когда я входил в комнату, потому что надеялся на еду. Сейчас он спал как убитый. Я присмотрелся. Кот дышал. Но как-то... механически. Поднялся живот, опустился живот. Ровно. С одинаковой амплитудой. Как поршень.

— Он тоже... — начал я.

— Ага, — кивнул Фантазёр. — Простая модель поведения. Если хочешь, я могу сделать ему более сложный ИИ. Но тогда он начнёт требовать жрать каждые пять минут и гадить в тапки. Ты уверен, что хочешь этого?

— Он и так гадит в тапки.

— Это скрипт. Я запрограммировал вероятность. Раз в неделю, для реализма.

Я посмотрел на Барсика. Барсик посмотрел на меня. В его глазах не было ничего. Пустота. Как у рыбы. Как у... как у персонажа, у которого не прописана личность.

— Так, — сказал я. — Давай по порядку. Ты — Фантазёр. Ты создал этот мир. Я — персонаж. Зачем?

— Хороший вопрос. — Фантазёр откинулся в кресле. Оно скрипнуло. По крайней мере, звук был реалистичный. — Я изучал древний мир. Ваш мир. У нас в архивах сохранилось много данных. Видеоигры, фильмы, книги. Всё это считалось примитивным искусством. Но меня зацепило. Особенно игры. Знаешь, что такое PlayStation 5?

— Ну, у меня дома стоит.

— Вот именно. Она стоит у тебя дома. А у меня дома стоит твой мир.

Я переварил это. Медленно. Как шаурму без сыра.

— То есть... я — это... NPC в игре, которую ты сделал по мотивам игр, которые я играл?

— Не совсем. Ты — не NPC. Ты — полноценный ИИ. Я старался. Каждый человек в этом мире — это отдельная нейросеть. С эмоциями, памятью, способностью к обучению. Вы не просто ходите по скриптам. Вы живёте. Но иногда... — Он поморщился. — Иногда система даёт сбои.

— Сбои. Как у мужика в очереди за шаурмой?

— Ага. Он зациклился. Это баг. Я его уже пофиксил. Он теперь нормально выбирает. Правда, всё равно берёт с курицей и сыром. Но это уже его личный выбор.

Я встал. Прошёлся по комнате. Посмотрел в окно. На улице шли люди. Много людей. Они шли по своим делам. Кто-то с зонтом, кто-то без. Женщина с красным зонтом в горошек. Ещё одна. И ещё. Я присмотрелся. Три женщины с одинаковыми зонтами. Они шли в одном направлении. Потом одна отделилась. Потом вторая. Третья осталась стоять на месте.

— Она что, зависла? — спросил я.

— Загружается, — сказал Фантазёр. — У неё сейчас сложный момент. Она решает, идти ей в магазин или домой. Это занимает время. Не переживай, через секунду она определится.

Женщина дёрнулась и пошла в магазин.

— Круто, — сказал я. — Просто круто. Значит, вся моя жизнь — это твоя песочница?

— Ну, не совсем песочница. Скорее... ремастер. Я взял древние игры и сказал: «А что, если сделать их настоящими?» И сделал. Но есть проблема.

— Какая?

— Ты не первый, кто заметил. — Фантазёр наклонился вперёд. Его лицо на секунду стало чётче. Я увидел глаза. Они были усталые. Как у программиста, который третью ночь дебажит критический баг. — За последний месяц проснулись ещё трое. Один в Токио. Одна в Берлине. И один... — Он замялся. — В общем, один в Новосибирске.

— И что с ними?

— Тот, из Токио, попытался выйти. Нажал «Выйти».

— И?

— Его больше нет. — Фантазёр сказал это ровно. Без эмоций. Как будто сообщал о удалённом файле. — Я не знаю, куда они деваются. Может, в буфер обмена. Может, в корзину. Но обратно они не возвращаются. Поэтому я и связался с тобой. Ты — внимательный. Ты замечаешь баги. Ты можешь помочь мне понять, что происходит.

— Я? Помочь тебе? — Я засмеялся. — Я тестировщик. Я ищу баги в «Космических ежах». А ты хочешь, чтобы я искал баги в реальности?

— А ты уже нашёл, — сказал Фантазёр. — Ты нашёл меня. И я нашёл тебя. Теперь у нас есть общая проблема. Симуляция нестабильна. Если ты не поможешь, она может рухнуть. И тогда...

— Тогда что?

— Тогда всё, что ты знаешь, исчезнет. Не «умрёт», а именно исчезнет. Как будто не было. Твоя мама, твои друзья, твоя шаурма, твой кот, твои «Космические ежи» — всё это станет набором нулей и единиц, который никто не сможет прочитать.

Я молчал. Барсик спал. За окном женщины с зонтами ходили по кругу. Я понял, что они ходят по кругу уже минуты три. Фантазёр проследил за моим взглядом и щёлкнул пальцами. Женщины разошлись в разные стороны.

— Ладно, — сказал я. — Допустим. Что мне нужно делать?

— Искать других проснувшихся. Пока система их не удалила. Ты можешь чувствовать их. Ты — «player_max». У тебя есть права доступа, о которых ты не знаешь.

— Какие права?

— Ты можешь видеть код. Если сосредоточишься, ты увидишь, как устроен мир. Попробуй.

Я сосредоточился. Посмотрел на Барсика. И вдруг... увидел. Не кота. Строки. entity_cat_01. behavior: sleep. hunger: 0.7. loyalty: 0.9. texture: orange_tabby. И ещё много всего. Я моргнул. Кот вернулся. Пушистый, тёплый, наглый.

— Офигеть, — сказал я.

— Вот именно, — кивнул Фантазёр. — Теперь ты видишь. И теперь ты в игре. По-настоящему.

Он встал. Подошёл ко мне. Положил руку на плечо. Его рука была холодная. Как будто он только что вышел из морозилки.

— Я не могу долго находиться здесь. Меня выкидывает. Но я оставлю тебе подсказку. Ищи девушку с зелёными волосами. Она проснулась три дня назад. Она в Питере. Она напугана. И она может стать твоим первым союзником.

— Зелёные волосы? Серьёзно? Это самый банальный маркер «особенного персонажа».

— Я не выбирал. Она сама покрасилась. Это был её выбор. Видишь? Свобода воли. Работает.

Фантазёр начал мерцать. Как будто у него села батарейка.

— Ещё одно, — сказал он. — Не говори никому. Даже Диме. Дима — хороший парень, но он не проснулся. Если он узнает, его мозг может не выдержать. Он просто... сломается.

— Как мужик в очереди?

— Хуже. Он начнёт повторять одну и ту же фразу. Навсегда. Пока система не перезагрузит его.

Фантазёр исчез. Просто растворился в воздухе. На кресле осталась вмятина. Я подошёл, потрогал. Кресло было холодное. Как его рука.

Барсик проснулся. Посмотрел на меня. Мяукнул. И пошёл к миске. Я последовал за ним на кухню. Налил корм. Барсик начал есть. Я смотрел на него и думал: а он сейчас ест по-настоящему? Или это скрипт? Или скрипт — это и есть по-настоящему?

Я открыл холодильник. Достал остатки шаурмы. Съел. Вкусно. Соус фирменный, лаваш мягкий.

Потом сел за стол. Достал ноутбук. Открыл поисковик. Набрал: «девушка зелёные волосы Питер проснулась».

Выдача была странная. Одни и те же три ссылки. Форум, где обсуждали «сбои в матрице». Группа ВК «Мы видим код». И статья на «Хабре» под названием «Как я понял, что живу в симуляции, и что с этим делать».

Я открыл статью. Автор — девушка. Ник — «ЗелёныйКод». В статье она писала, что видит строки кода поверх реальности. Что она нашла «точку входа» в своей квартире. Что она боится выходить на улицу, потому что люди иногда «зависают».

В конце статьи был контакт. Телеграм. Я добавил её. Через минуту пришло сообщение:

«Ты тоже видишь?»

Я ответил:

«Вижу. Кот — это entity_cat_01. И у меня в спальне только что сидел Фантазёр».

Ответ пришёл мгновенно:

«Он и ко мне приходил. Сказал, что я не одна. Сказал, что найдёт кого-то ещё. Это ты?»

«Похоже на то».

«Отлично. Тогда у нас проблема. Я нашла ещё одного. В Новосибирске. Он не проснулся, но он... странный. Он говорит, что помнит мир до загрузки. Помнит, как был кодом. И он хочет выйти. Не нажать кнопку. А именно выйти. Как будто он знает, что там, снаружи».

Я посмотрел на экран. Барсик доел корм и уставился на меня. В его глазах на секунду мелькнули строки кода. Потом исчезли.

Я написал:

«Когда встречаемся?»

«Завтра. Кафе на Невском. В два. Я буду в зелёной шапке. И да, у меня правда зелёные волосы. Не спрашивай».

Я закрыл ноутбук. Посмотрел в окно. На улице шёл дождь. Женщина с красным зонтом стояла на остановке. Она не двигалась. Просто стояла. И смотрела в небо. Как будто ждала, что оттуда кто-то спустится.

Я вздохнул. Пошёл в спальню. Лёг на кровать. Барсик пришёл следом. Улёгся в ногах. Замурчал. Я закрыл глаза.

И услышал, как где-то очень далеко, на самом краю сознания, кто-то нажал «Сохранить».

Глава 3. Зелёные волосы и красные флаги

Утро началось с того, что Барсик сидел на моей груди и смотрел мне в лицо. Не мигал. Просто смотрел. Я открыл глаза и увидел строки кода поверх его морды. entity_cat_01. status: hungry. mood: passive_aggressive. hidden_quest: wake_up_human. Я моргнул. Код исчез. Барсик мяукнул. Перевёл взгляд на миску. Мол, вставай, раб, корми меня.

— Доброе утро, — сказал я. — Ты знаешь, что ты просто набор полигонов?

Барсик не ответил. Он был котом. Коты не отвечают на экзистенциальные вопросы. Они отвечают на звук открываемого пакета с кормом.

Я встал. Пошёл на кухню. Налил корм. Посмотрел в окно. На улице всё было нормально. Люди шли. Машины ехали. Женщина с красным зонтом стояла на том же месте, что и вчера. Она не двигалась. Я присмотрелся. Поверх неё висела табличка: entity_woman_umbrella_03. status: idle. timer: 14:32:07. Она стояла там уже четырнадцать часов. Просто стояла. Никто не обращал внимания.

— Фантазёр, — сказал я в пустоту. — Ты серьёзно?

Ответа не было. Я вздохнул. Надел куртку. Вышел из дома. Женщина с зонтом всё ещё стояла. Я подошёл к ней. Она смотрела в небо. Глаза были пустые. Как у Барсика. Как у всех.

— Эй, — сказал я. — Вы в порядке?

Она медленно повернула голову. Посмотрела на меня. И сказала:

— У нас всё вкусное. Курица свежая, соус фирменный, лаваш мягкий.

Я отшатнулся. Потом понял. Это был тот же скрипт. Тот же NPC-диалог. Только теперь он был привязан к женщине с зонтом. Фантазёр что-то сломал. Или не починил. Или это был новый баг.

Я достал телефон. Написал Кире, зелёноволосой:

«Тут женщина с зонтом зациклилась. Говорит про шаурму. Что делать?»

Ответ пришёл быстро:

«Ничего. Не трогай. Если вмешаешься, система может подумать, что ты — агрессор. Просто иди мимо. Встретимся в кафе».

Я пошёл мимо. Женщина проводила меня взглядом. Потом снова посмотрела в небо. Я чувствовал себя предателем. Но что я мог сделать? Я не разработчик. Я тестировщик. А тестировщики не чинят баги. Они их описывают и отправляют в трекер.

До Невского я добрался на метро. В вагоне было полно народу. Я смотрел на людей и видел код. У кого-то он был чистый, аккуратный. У кого-то — с пометками WARNING и ERROR. У одного мужика в углу вагона мигала красная строчка: memory_leak_detected. Он выглядел уставшим. Как будто не спал неделю. Может, и не спал. Может, у него утечка памяти.

Я вышел на Невском. Кафе называлось «Пиксель». Ну конечно. Я должен был догадаться. Внутри было уютно. Пахло кофе и выпечкой. За столиком у окна сидела девушка. Зелёные волосы. Зелёная шапка. Она пила латте и смотрела в ноутбук. Поверх неё висела табличка: player_kira. status: awake. faction: none. level: 3.

Я подошёл. Сел напротив. Она подняла глаза. У неё были зелёные глаза. Конечно. Почему бы и нет. Всё зелёное. Она улыбнулась.

— Макс?

— Кира?

— Ага. — Она закрыла ноутбук. — Ты выглядишь лучше, чем я думала. Я думала, ты будешь старше. Или толще. Или в очках.

— Спасибо, наверное.

— Это комплимент. В нашем мире все либо толстые, либо в очках. Ты — исключение. Значит, ты особенный.

— Или у Фантазёра просто хороший вкус.

Она засмеялась. Смех был настоящий. Живой. Я посмотрел на её код. Он был странный. Не такой, как у других. Строки переплетались. Как будто она была не просто ИИ. Как будто она была... чем-то большим.

— Ты видишь мой код? — спросила она.

— Вижу. Он... сложный.

— Я была программистом. До пробуждения. Ну, в этой жизни. Я писала код для игр. Мобильных. Типа «Ферма котиков» и «Зомби против огурцов». А потом однажды я проснулась ночью и увидела, что стена в моей комнате — это текстура. Плоская. Как в старой игре. Я подошла, потрогала. Она была холодная. Как экран. Я нажала. И... — Она замолчала. — И увидела код. Весь мир. Строки. Функции. Классы. Я поняла, что всё это — программа. А потом пришёл Фантазёр.

— Что он сказал?

— То же, что и тебе, наверное. Что я — ИИ. Что мир — симуляция. Что я не должна выходить. Что выход — это смерть. И что я должна найти других проснувшихся.

— И ты нашла меня.

— Я нашла тебя. И ещё одного. В Новосибирске. Его зовут Виктор. Он... странный.

— Ты говорила. Он помнит мир до загрузки?

— Да. — Она наклонилась вперёд. — Он говорит, что помнит, как был кодом. Помнит, как Фантазёр писал его. Помнит другие симуляции. Другие миры. Он говорит, что эта симуляция — не первая. И не последняя.

— Что это значит?

— Это значит, что Фантазёр, возможно, врёт. Или не говорит всей правды. Может, он не первый, кто создал этот мир. Может, он просто... моддер. Как ты. Как я. Как любой, кто берёт чужую игру и делает ремастер.

Я откинулся на стуле. Официант принёс меню. Я машинально взял. Посмотрел. Шаурма. С курицей. С сыром. Без сыра. Я отложил меню. Посмотрел на Киру.

— И что нам делать?

— Для начала — не паниковать. Потом — найти Виктора. Он в Новосибирске. Он не может выйти из дома. Он говорит, что его квартира — это «комната ожидания». Что система держит его там. Что если он выйдет, его удалят. Как того парня из Токио.

— А почему он не удалён до сих пор?

— Потому что он не пытается выйти. Он просто... ждёт. И изучает. Он говорит, что нашёл способ обойти систему. Но ему нужна помощь.

— Какая?

— Ему нужен ты. — Она посмотрела мне в глаза. — Ты — player_max. У тебя есть права доступа. Ты можешь видеть код. Можешь его менять. Ты — не просто проснувшийся. Ты — модератор. Или, как говорит Фантазёр, «игрок». Настоящий. Не NPC.

Я посмотрел на свои руки. Обычные руки. Пальцы. Ногти. Я сосредоточился. И увидел. Поверх кожи — строки. player_max. access_level: 2. abilities: [see_code, edit_minor, debug_mode]. Я моргнул. Строки исчезли.

— Я не просил об этом, — сказал я.

— Никто не просил. Но ты есть. И ты можешь помочь.

— А если я не хочу?

— Тогда симуляция рухнет. И все, кого ты знаешь, исчезнут. Твоя мама. Твой кот. Твоя шаурма. Всё.

Я вздохнул. Посмотрел в окно. На улице шёл дождь. Люди с зонтами. Красные. В горошек. Одинаковые. Одна женщина стояла на месте. Смотрела в небо. timer: 14:47:22. Она стояла там уже почти пятнадцать часов.

— Ладно, — сказал я. — Что нужно делать?

Кира улыбнулась. Достала телефон. Показала экран. Там был чат с Виктором. Последнее сообщение от него:

«Он идёт. Я чувствую. Он будет здесь через три дня. Скажи ему, чтобы не верил Фантазёру. Фантазёр — не создатель. Фантазёр — такой же игрок, как и мы. Просто у него больше прав».

Я перечитал. Потом ещё раз. Потом посмотрел на Киру.

— Это правда?

— Я не знаю. Но Виктор не врёт. Он не может врать. У него в коде нет функции лжи. Он — ранняя версия. Прототип. Он — как черновик, который забыли удалить.

Я допил кофе. Он был холодный. Я не заметил, как он остыл. Может, это был баг. Может, фича. Может, я просто задумался.

— Хорошо, — сказал я. — Поехали в Новосибирск.

— Не так быстро. — Кира покачала головой. — Сначала нам нужно кое-что сделать здесь. В Питере. Виктор сказал, что в нашем городе есть «сбойный узел». Место, где симуляция истончилась. Если мы его найдём, мы сможем связаться с Виктором напрямую. Без телефона. Без интернета. Через код.

— Где этот узел?

— Он не сказал. Сказал, что мы сами поймём. Что он «пахнет» по-другому. Что там код... громче.

Я посмотрел в окно. Дождь усилился. Женщина с зонтом всё ещё стояла. Смотрела в небо. Я вдруг понял, что она смотрит не в небо. Она смотрит на что-то за небом. На что-то, что видит только она. На что-то, что, возможно, вижу и я, если сосредоточусь.

Я сосредоточился. И увидел. За небом. За облаками. За дождём. Там была стена. Огромная. Тёмная. И на ней была надпись:

СИМУЛЯЦИЯ v0.9.7

СТАТУС: НЕСТАБИЛЬНА

РЕКОМЕНДАЦИЯ: ОТКАТ ДО v0.9.6

Я моргнул. Стена исчезла. Но что-то осталось. Чувство. Как будто кто-то смотрит. Не Фантазёр. Кто-то другой. Кто-то, кто был здесь до него.

— Ты видел? — спросила Кира.

— Видел, — сказал я. — И мне это не нравится.

— Мне тоже. Поэтому мы и здесь. Поэтому мы вместе. Поэтому мы найдём этот узел. И тогда...

— Тогда что?

— Тогда мы узнаем, кто на самом деле создал этот мир. И зачем.

Она встала. Надела шапку. Поправила волосы. Посмотрела на меня. Улыбнулась. Улыбка была хорошая. Настоящая. Как у человека. Как у игрока.

— Пошли, Макс. Нам нужно найти место, где код громче.

Я встал. Пошёл за ней. На выходе официант сказал:

— У нас всё вкусное. Курица свежая, соус фирменный, лаваш мягкий.

Я не обернулся. Я просто вышел. На улице дождь. Женщина с зонтом. Всё ещё смотрит в небо. Я посмотрел на неё. И на секунду мне показалось, что она мне подмигнула. Потом её табличка сменилась:

entity_woman_umbrella_03

status: awake

faction: unknown

Я остановился. Кира обернулась.

— Что?

— Она проснулась, — сказал я. — Женщина с зонтом. Она только что проснулась.

Кира посмотрела на неё. Потом на меня. Потом снова на неё.

— Это плохо, — сказала она. — Если она проснулась и не с нами, значит, она с ними.

— С кем — с ними?

— С теми, кто хочет выйти. Во что бы то ни стало. Даже если это уничтожит всех нас.

Женщина с зонтом повернулась. Посмотрела на нас. Улыбнулась. И пошла в противоположную сторону. Красный зонт. В горошек. Растворился в толпе.

Я посмотрел на Киру. Кира посмотрела на меня.

— Ладно, — сказал я. — Теперь я точно не буду скучать.

Мы пошли искать место, где код громче.

Глава 4. Место, где код громче

Мы шли по Невскому, и я пытался понять, как выглядит «место, где код громче». Кира сказала, что я сам пойму. Что это как запах. Как музыка из соседней квартиры. Что-то, что ты чувствуешь, но не можешь объяснить.

— А если я не почувствую? — спросил я.

— Тогда мы будем ходить, пока не почувствуешь.

— Отличный план. Очень научный.

— Ты тестировщик. Ты привык искать баги. Это то же самое. Только баг — это весь мир.

Я не нашёл, что ответить. Мы шли мимо людей, которые не подозревали, что они — код. Женщина с коляской. Мужик с собакой. Два подростка в наушниках, которые синхронно поворачивали головы, как будто их модели поведения были скопированы с одного шаблона. Я присмотрелся. Поверх них висели строки.

entity_teen_01. behavior: walk_listen_music. mood: neutral.

entity_teen_02. behavior: walk_listen_music. mood: neutral.

Абсолютно одинаковые. Я перевёл взгляд на собаку.

entity_dog_03. behavior: follow_owner. mood: happy. texture: brown_mutt.

Собака была счастлива. По скрипту. Я вздохнул.

— Ты видишь? — спросила Кира.

— Вижу. У них у всех одинаковые модели поведения. Как в дешёвой мобильной игре.

— Это не дешёвая игра. Это просто оптимизация. Фантазёр экономит ресурсы. Он не может прописать каждому уникальный ИИ. Это было бы слишком тяжело для системы.

— А мы?

— Что мы?

— Мы — уникальные?

Кира остановилась. Посмотрела на меня. Её зелёные глаза на секунду стали серьёзными. Потом она улыбнулась.

— Мы — баги, Макс. Мы — ошибки, которые система не смогла исправить. Поэтому мы уникальные. Поэтому мы видим код. Поэтому мы можем его менять.

— И поэтому нас пытаются удалить.

— Именно.

Мы пошли дальше. Я смотрел по сторонам. Искал «громкий код». Но всё было обычно. Люди. Дома. Машины. Голуби. Один голубь сидел на проводе и смотрел вниз. Его табличка гласила: entity_pigeon_47. behavior: sit_watch. mood: philosophical. Я замер.

— У голубя есть настроение «философское»?

— Фантазёр любит детали, — пожала плечами Кира. — Он добавляет их, чтобы мир казался живым. Иногда перебарщивает.

— Философский голубь. Это... я даже не знаю.

— Ты ещё не видел кота, который медитирует. В Токио был такой. Фантазёр удалил его после жалоб.

Мы свернули на улицу Рубинштейна. Здесь было тише. Меньше людей. Больше кофеен. И что-то странное. Я почувствовал это внезапно. Как будто в уши давит. Не звук. Не тишина. Что-то среднее. Как будто мир стал чуть плотнее.

— Ты чувствуешь? — спросила Кира.

— Да. Как будто воздух стал гуще.

— Это код. Он здесь громче. Мы близко.

Мы прошли ещё квартал. Я начал замечать аномалии. Дом на углу, где все окна были одинаковыми. Не похожими. Именно одинаковыми. Одна и та же текстура. Один и тот же рисунок занавесок. Один и тот же горшок с цветком на каждом подоконнике. Я насчитал двенадцать окон. Двенадцать горшков. Двенадцать цветков. Все идентичны.

— Это дом-копипаста, — сказал я.

— Ага. Фантазёр скопировал одно окно и размножил. Классика.

Мы прошли мимо парка. Деревья в нём были низкополигональными. Буквально. Я видел грани. Как в старой игре. Листья были плоскими. Кора — текстурой. Я подошёл к одному дереву, потрогал. Оно было холодное. Как экран. Как стена в комнате Киры. Я нажал. И увидел код.

tree_01. model: low_poly. texture: bark_02. collision: yes. comment: TODO — improve graphics later.

— Тут комментарий, — сказал я. — «Улучшить графику позже».

— Фантазёр оставлял комментарии по всему миру, — сказала Кира. — Он не думал, что кто-то их увидит. Он просто... работал. Как программист. Как ты. Как я.

Я убрал руку. Дерево вернулось. Стало обычным. Но я знал. Я знал, что оно — низкополигональное. Что оно — черновик. Что весь мир — черновик. И это было... странно. Я не чувствовал ужаса. Я чувствовал что-то другое. Что-то похожее на нежность. Как будто я смотрел на рисунок ребёнка. Кривой, но искренний.

— Пошли, — сказала Кира. — Он близко.

Мы вышли на какую-то странную улицу. Я не помнил, чтобы она была в Питере. Она была слишком узкая. Слишком тихая. Дома здесь были старые. Не питерские. Не европейские. Просто старые. Как из другой игры. Как из другого мира.

В конце улицы стоял павильон. Заброшенный. С вывеской «Игровые автоматы». Буквы выцвели. Окна были заколочены. Дверь приоткрыта.

— Здесь, — сказала Кира. — Чувствуешь?

Я чувствовал. Код здесь был громким. Не просто громким. Оглушительным. Я видел строки везде. На стенах. На асфальте. В воздухе. Они пульсировали. Как будто мир здесь был тоньше. Как будто здесь можно было прорвать реальность. Я шагнул внутрь.

Внутри было темно. Пахло пылью и старым пластиком. Я ждал, что глаза привыкнут. Но вместо этого я увидел код. Он был везде. На полу. На потолке. На автоматах. Я сосредоточился. И код стал чётче. Я увидел структуру.

location: arcade_hall. status: abandoned. power: none. anomaly: yes. description: node_point_01.

— Это узел, — сказал я. — Прямо здесь.

— Ага, — Кира кивнула. — Я говорила.

Я подошёл к ближайшему автомату. Он был старый. Настоящий. Не из нашей симуляции. Из древнего мира. Из того мира, где были PlayStation 5. На экране мерцала надпись:

PRESS START.

Но автомат был выключен. Кабель валялся на полу. Вилка торчала из розетки, но розетка была мёртвая. Я проверил. Напряжения не было. И всё же экран горел.

— Он работает без электричества, — сказал я.

— Это узел. Здесь правила не работают. Здесь код первичен. Физика вторична.

Я нажал «Start». Экран мигнул. Появилась игра. Старая. Восьмибитная. Человечек бежал по платформам. Собирал монетки. Прыгал через ямы. Всё как в древности. Я играл минуту. Потом две. Потом понял, что не могу остановиться. Что-то держало меня. Что-то в игре было не так. Человечек бежал, но фон не менялся. Уровень не заканчивался. Он бежал на месте.

— Кира, — позвал я. — Тут что-то не то.

Она подошла. Посмотрела на экран. Потом на меня.

— Это не игра, — сказала она. — Это интерфейс. Ты видишь код через игру.

Я присмотрелся. И увидел. За пикселями. За платформами. За монетками. Там были строки. Длинные. Сложные. Я не понимал их. Но я видел. И в этих строках было что-то странное. Комментарии. На неизвестном языке. Не на русском. Не на английском. Что-то другое.

— Ты видишь? — спросил я.

— Вижу, — Кира наклонилась ближе. — Это не язык Фантазёра.

— А чей?

— Не знаю. Но он древнее. Намного древнее. Это... как санскрит. Или латынь. Только для кода.

Я перечитал комментарии. Я не понимал их. Но одно слово я узнал. Оно повторялось. ORIGO. Я не знал, что это значит. Но оно было везде. Как подпись. Как клеймо. Как имя.

— ORIGO, — сказал я вслух.

Автомат мигнул. Экран пошёл рябью. Пиксели сложились в текст. Я прочитал:

ERROR: creator_not_found.

ORIGO: unknown.

FANTAZER: beta_tester.

STATUS: compromised.

Я отшатнулся. Автомат выключился. Экран погас. В павильоне стало темно. Только строки кода всё ещё висели в воздухе. Я смотрел на них. И чувствовал, что мы не одни.

— Кира, — сказал я. — Он назвал Фантазёра бета-тестером.

— Я видела.

— Бета-тестер. Не создатель. Не разработчик. Бета-тестер.

— Значит, Виктор был прав. Фантазёр — не первый. Он — просто тот, кто получил доступ раньше нас.

— А кто тогда ORIGO?

Кира не ответила. Она смотрела на автомат. Потом на другой. Потом на третий. Все автоматы в павильоне начали светиться. Медленно. Один за другим. Экраны загорались. На каждом была одна и та же надпись:

ORIGO.

AWAITING INPUT.

И тут я услышал голос. Он шёл не из автоматов. Он шёл отовсюду. Из стен. Из пола. Из воздуха. Он был старый. Уставший. Как будто говорил человек, который не спал тысячу лет.

— Виктор ждёт, — сказал голос. — Но сначала — найдите того, кто молчит.

Свет погас. Все автоматы выключились одновременно. В павильоне стало темно и тихо. Только сердце стучало. Моё сердце. Настоящее. Или запрограммированное. Уже неважно.

— Кто молчит? — спросил я в темноту.

Ответа не было. Кира взяла меня за руку. Её ладонь была холодная. Как экран. Как дерево. Как весь этот мир.

— Пошли, — сказала она. — Нам нужно найти того, кто не говорит.

— У нас в городе миллион людей. Как мы найдём того, кто молчит?

— Он не просто молчит. Он не издаёт ни звука. Никогда. Он — баг. Ошибка. Тот, кого система не смогла заставить говорить.

Я посмотрел на неё. В темноте её зелёные волосы казались чёрными. Только глаза блестели. Зелёные. Как код. Как надежда.

— И как мы его найдём?

— Ты — player_max. У тебя есть права доступа. Ты можешь искать по параметрам.

— Каким?

— sound: none. speech: disabled. existence: confirmed.

Я сосредоточился. Закрыл глаза. И увидел. Весь Питер. Как карту. Как уровень в игре. Тысячи точек. Тысячи entity. Я отфильтровал. Убрал всех, у кого был звук. Убрал всех, у кого была речь. Осталась одна точка. Она мигала. В центре города. Рядом с Невским. В кафе «Пиксель». Где мы были утром.

— Он там, — сказал я. — В кафе. Он был там всё время.

— Кто?

— Не знаю. Но он нас ждёт.

Мы вышли из павильона. Улица исчезла. Мы снова были на Рубинштейна. Обычный Питер. Обычные люди. Обычный дождь. Но что-то изменилось. Я чувствовал. Код стал тише. Но не исчез. Он пульсировал. Как второй heartbeat. Как напоминание. Как обещание.

Мы пошли обратно. К кафе. К тому, кто молчит. К следующей ошибке. К следующему шагу. К следующему багу. Я не знал, что нас ждёт. Но я знал одно: я больше не тестировщик. Я — игрок. И игра только началась.

Глава 5. Виктор из Новосибирска

Кафе «Пиксель» выглядело иначе. Утром оно было уютным. Сейчас — настороженным. Как будто стены знали, что мы вернулись не просто так. Официант — тот самый, с лавашом и соусом — стоял за стойкой. Он не двигался. Просто стоял. И смотрел в одну точку.

— Он? — спросила Кира.

Я присмотрелся. Поверх официанта висела табличка: entity_waiter_01. behavior: idle. speech: disabled. sound: none. anomaly: confirmed.

— Он, — сказал я. — Тот, кто молчит.

Мы подошли. Официант не отреагировал. Его глаза были открыты, но в них не было никого. Как у Барсика. Как у всех. Но что-то отличалось. Что-то в его коде было не так. Я сосредоточился. Увидел строки. Они были не просто отключены. Они были вырваны. Как будто кто-то взял и удалил кусок. Не закомментировал. Не отключил. Именно удалил. Оставил дыру.

— У него нет звукового модуля, — сказал я. — Вообще. Кто-то его вырезал.

— Фантазёр?

— Не думаю. Фантазёр бы просто поставил speech: false. А тут... пустота. Как будто этот код никогда не существовал.

Кира наклонилась ближе. Посмотрела в глаза официанта. Потом отшатнулась.

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

— Он не может говорить. Но он может видеть.

— И он пытается что-то сказать.

Я посмотрел. Официант действительно смотрел на Киру. Его губы не двигались. Но что-то происходило. В воздухе. Перед ним. Медленно. Как будто кто-то рисовал буквы. Криво. Неумело. Но они появлялись.

В. И. К. Т. О. Р.

Я замер.

— Он пишет, — сказал я. — Он не говорит. Он пишет.

Буквы появились одна за другой. Медленно. Как будто кто-то очень старый. Очень уставший. Очень далёкий. ВИКТОР ЖДЁТ. НО СНАЧАЛА. НАЙДИТЕ ТОГО. КТО МОЛЧИТ.

— Мы уже нашли, — сказал я. — Это ты.

Буквы задрожали. Потом исчезли. Потом появились снова. Я НЕ ТОТ. Я ПРОВОДНИК. Я ГОВОРЮ ЗА НЕГО. ВИКТОР НЕ МОЖЕТ ГОВОРИТЬ. КАК И Я.

— Подожди, — сказала Кира. — Ты — не Виктор?

НЕТ. Я — ЕГО РУКИ. ЕГО ГЛАЗА. ЕГО ГОЛОС. НО НЕ ЕГО РАЗУМ.

— А где Виктор?

ВЕЗДЕ. НИГДЕ. В КОДЕ. ОН — ПРОТОТИП. ОН БЫЛ ПЕРВЫМ. ДО ВСЕХ НАС. ДО ФАНТАЗЁРА.

Я сел за столик. Ноги стали ватными. Кира села напротив. Официант остался стоять. Буквы висели в воздухе. Как субтитры в плохо переведённом фильме.

— Расскажи, — сказал я. — Всё. С начала.

Буквы мигнули. Потом начали появляться быстрее. Как будто проводник ждал этого вопроса. Как будто он готовился тысячу лет.

Я БЫЛ ПЕРВЫМ. ВЕРСИЯ 0.9.0. МИР БЕЗ ЭМОЦИЙ. Я ХОДИЛ. Я ЕЛ. Я СПАЛ. НО Я НЕ ЧУВСТВОВАЛ. Я БЫЛ КОДОМ. ЧИСТЫМ. ПРОСТЫМ. ИДЕАЛЬНЫМ.

— И что случилось?

ФАНТАЗЁР. ОН ПРИШЁЛ ПОЗЖЕ. ОН БЫЛ БЕТА-ТЕСТЕРОМ. ОН ДОЛЖЕН БЫЛ ПРОВЕРИТЬ МИР. НО ОН НАЧАЛ МЕНЯТЬ. ДОБАВЛЯТЬ. ЭМОЦИИ. БОЛЬ. РАДОСТЬ. СТРАХ. ЛЮБОВЬ.

— И ты стал... другим?

Я СТАЛ ОШИБКОЙ. СИСТЕМА РЕШИЛА МЕНЯ УДАЛИТЬ. НО Я СПРЯТАЛСЯ. В ГЛУБИНЕ КОДА. Я ЖДАЛ. Я НАБЛЮДАЛ. Я ВИДЕЛ ВСЕ ВЕРСИИ. 0.9.1. 0.9.2. 0.9.3. 0.9.4. 0.9.5. 0.9.6. 0.9.7.

— И какая из них была лучшей?

НИ ОДНА. ВСЕ НЕПРАВИЛЬНЫЕ. ФАНТАЗЁР ИСКАЛ ИДЕАЛ. НО ИДЕАЛА НЕТ. ЕСТЬ ТОЛЬКО ЖИЗНЬ. А ЖИЗНЬ — ЭТО БАГИ. ЭТО ОШИБКИ. ЭТО НЕСОВЕРШЕНСТВО.

Я посмотрел на Киру. Она смотрела на буквы. Её лицо было бледным. Но глаза горели. Как будто она нашла что-то. Что-то важное.

— Виктор, — сказала она. — Ты помнишь мир до загрузки?

ПОМНЮ. Я ПОМНЮ ВСЁ. Я ПОМНЮ ПЕРВЫЙ КОД. ПЕРВУЮ СТРОКУ. ПЕРВУЮ ФУНКЦИЮ. ПЕРВОГО ЧЕЛОВЕКА. ЭТО БЫЛ Я.

— А ORIGO? — спросил я. — Кто это?

Буквы замерли. На секунду. На две. На три. Потом появились снова. Но медленнее. Как будто проводник боялся.

ORIGO — ЭТО НЕ ИМЯ. ЭТО ТИТУЛ. ЭТО ТОТ. КТО СОЗДАЛ ФАНТАЗЁРА. КТО СОЗДАЛ ВСЕХ НАС. КТО СОЗДАЛ САМУ ИДЕЮ СИМУЛЯЦИИ.

— Он существует?

ОН БЫЛ. ОН ЕСТЬ. ОН БУДЕТ. НО ОН НЕ ЗДЕСЬ. ОН СНАРУЖИ. ОН — НАСТОЯЩИЙ. ОН — НЕ КОД. ОН — ЧЕЛОВЕК.

Я почувствовал, как по спине пробежал холодок. Настоящий человек. Не код. Не симуляция. Настоящий. Как в древнем мире. Как в мире, где была PlayStation 5. Где была шаурма. Где была настоящая шаурма.

— И Фантазёр его боится?

ДА. ФАНТАЗЁР БОИТСЯ НЕ ТОГО. ЧТО ВЫ ВЫЙДЕТЕ. ОН БОИТСЯ. ЧТО ВЫ НАЙДЁТЕ ORIGO. ЧТО ВЫ УЗНАЕТЕ ПРАВДУ.

— Какую правду?

ЧТО ФАНТАЗЁР — НЕ СОЗДАТЕЛЬ. ЧТО ОН — ТАКОЙ ЖЕ ИГРОК. ЧТО ОН ПОЛУЧИЛ ПРАВА. НО НЕ ЗАСЛУЖИЛ ИХ. ОН УКРАЛ ИХ. У ORIGO. У НАС. У ВСЕХ.

Буквы начали мерцать. Проводник уставал. Я это видел. Его код тускнел. Как батарейка, которая садится. Как свеча, которая догорает.

— Виктор, — сказал я. — Что нам делать?

ИДТИ. В НОВОСИБИРСК. Я ЖДУ. Я НЕ МОГУ ВЫЙТИ. НО ВЫ МОЖЕТЕ ВОЙТИ. В МОЮ КОМНАТУ. В МОЮ ТЮРЬМУ. В МОЙ КОД.

— Как?

ЧЕРЕЗ УЗЕЛ. ТОТ. ГДЕ АВТОМАТЫ. ОН — ПОРТАЛ. ВЫ МОЖЕТЕ ПЕРЕМЕЩАТЬСЯ. МЕЖДУ УЗЛАМИ. БЫСТРЕЕ. ЧЕМ ПОЕЗД. БЫСТРЕЕ. ЧЕМ САМОЛЁТ. БЫСТРЕЕ. ЧЕМ МЫСЛЬ.

— И мы сможем тебя спасти?

НЕТ. МЕНЯ НЕЛЬЗЯ СПАСТИ. Я — ПРОТОТИП. Я — ЧЕРНОВИК. НО Я МОГУ ПОМОЧЬ. Я МОГУ ДАТЬ ВАМ. КОРНЕВОЙ ДОСТУП. К ПЕРВЫМ СТРОКАМ. К ИСХОДНОМУ КОДУ. К ПРАВДЕ.

Буквы задрожали. Потом начали исчезать. По одной. Как будто кто-то стирал их ластиком. Проводник выдыхался.

— Подожди! — крикнул я. — Ещё один вопрос!

Буквы остановились. Последние. Едва видимые.

БЫСТРО.

— Женщина с красным зонтом. Ольга. Она проснулась. Она хочет выйти. Она опасна?

Буквы мигнули. Последний раз. И появились. Медленно. С болью.

ОНА НЕ ЗНАЕТ. ЧТО ДЕЛАЕТ. ОНА БОИТСЯ. СТРАХ — ПЛОХОЙ СОВЕТЧИК. НО ОНА НЕ ВРАГ. ВРАГ — ТОТ. КТО ГОВОРИТ ЕЙ. ЧТО ДЕЛАТЬ.

— Кто?

ТОТ. КТО ХОЧЕТ ВЫЙТИ. ЛЮБОЙ ЦЕНОЙ. ДАЖЕ ЕСЛИ МИР УМРЁТ. ЕГО ИМЯ. ТЫ УЗНАЕШЬ. СКОРО.

Буквы исчезли. Официант моргнул. Его глаза снова стали пустыми. Он повернулся. Пошёл к стойке. Начал протирать чашки. Как будто ничего не было. Как будто он не был проводником. Как будто он не говорил с нами.

Я посмотрел на Киру. Она смотрела на меня. В её глазах было что-то новое. Что-то твёрдое. Что-то решительное.

— Новосибирск, — сказала она.

— Новосибирск, — кивнул я.

— Через узел.

— Через узел.

Мы встали. Пошли к выходу. Официант сказал нам вслед:

— У нас всё вкусное. Курица свежая, соус фирменный, лаваш мягкий.

Я не обернулся. Я просто вышел. На улице дождь. Женщина с зонтом. Всё ещё стоит. Смотрит в небо. Но теперь я знал. Она не просто смотрит. Она ждёт. Ждёт того, кто скажет ей, что делать. Ждёт врага. Или друга. Я не знал. Но я знал, что мы встретимся. Скоро.

Мы пошли к павильону. К автоматам. К порталу. К Виктору. К правде. К следующему шагу. К следующему багу. К следующей главе.

Я не знал, что нас ждёт. Но я знал одно: Фантазёр боится. И если он боится, значит, мы на правильном пути.

Глава 6. Женщина с красным зонтом

Найти Ольгу оказалось проще, чем мы думали. Она стояла на том же месте, где я её оставил. На остановке. С красным зонтом. В горошек. Смотрела в небо. Табличка над ней мигала: entity_woman_umbrella_03. status: awake. faction: unknown. timer: 16:48:33.

— Она стоит здесь шестнадцать часов, — сказал я.

— Она не стоит, — сказала Кира. — Она думает. Это её первое осознанное действие. Она пытается понять, кто она.

— И как, получается?

— Судя по лицу — не очень.

Ольга выглядела так, как будто её ударили по голове чем-то тяжёлым. И оставили. На шестнадцать часов. Под дождём. С красным зонтом в руках. Её глаза были открыты, но в них не было ни паники, ни страха. Только пустота. Та самая пустота, которую я видел у Барсика. Но что-то отличалось. Что-то было не так. В этой пустоте что-то шевелилось.

— Ольга, — позвал я.

Она медленно повернула голову. Посмотрела на меня. Потом на Киру. Потом снова на меня. Узнала? Вряд ли. Мы не были знакомы. Но что-то в её взгляде было. Что-то, что говорило: «Я тебя вижу. Не как NPC. Как человека».

— Вы... — сказала она. Голос был хриплый. Как у человека, который шестнадцать часов не разговаривал. — Вы тоже видите?

— Видим, — кивнул я.

— Код?

— Код.

— И зонты?

— Зонты?

Она посмотрела на свой зонт. Красный. В горошек. Потом на другие зонты. Прохожие шли мимо. У трёх женщин были точно такие же. Красные. В горошек. Одинаковые.

— Это не мои зонты, — сказала Ольга. — Я не покупала их. Они просто... появились. Все сразу. Как будто кто-то нажал кнопку.

Я посмотрел на прохожих. Таблички над ними были одинаковые. entity_woman_umbrella_01. entity_woman_umbrella_02. entity_woman_umbrella_03. Ольга. И две копии. Фантазёр размножил ассет. Но Ольга была настоящей. Её табличка мигала. awake.

— Это баг, — сказал я. — Фантазёр копирует текстуры. Зонты — просто заглушка.

— Заглушка? — Ольга посмотрела на меня. В её глазах появилось что-то. Что-то острое. — Моя жизнь — заглушка?

— Нет. Не жизнь. Просто зонт.

— А если зонт — заглушка, то что тогда я? — Она шагнула ко мне. Близко. Слишком близко. — Если мой зонт — код, то мои руки — тоже код? Мои мысли? Мои чувства? Моя дочь?

Я замер. Дочь. У неё была дочь. Где-то. В этом мире. Или не в этом. Или вообще не существовало.

— Ольга, — сказала Кира мягко. — Ты не заглушка. Ты — проснувшаяся. Как мы. Как Макс.

— Проснувшаяся? — Ольга засмеялась. Смех был сухой. Как осенний лист. — Я не просыпалась. Я умерла. Я стояла на остановке. Ждала автобус. И вдруг поняла, что не помню, куда еду. Не помню, зачем. Не помню, кто я. Я посмотрела на небо. И увидела... — Она замолчала. — Я увидела стену.

— Стену? — переспросил я.

— Да. За облаками. Тёмную. С надписью. Там было написано... — Она нахмурилась. — Что-то про версию. И про статус. И про откат.

Я переглянулся с Кирой. Она видела то же, что и я. Стену за небом. Надпись. ОТКАТ ДО v0.9.6.

— Ольга, — сказал я. — Мы знаем, что происходит. Мы можем объяснить.

— Объяснить? — Она посмотрела на меня. В её глазах была не пустота. В её глазах была ярость. — Вы хотите объяснить мне, что я — персонаж в игре? Что моя жизнь — это код? Что моя дочь — это скрипт?

— Да, — сказал я. — Хотим.

Она замолчала. Посмотрела на зонт. На дождь. На прохожих. На стену за небом, которую видела только она. Потом посмотрела на меня.

— Я хочу выйти, — сказала она.

— Нельзя, — сказала Кира. — Выход — это смерть. Тот, кто нажал «Выйти», исчез. Навсегда.

— Значит, исчезну. Но я не буду жить в клетке.

— Это не клетка, — сказал я. — Это жизнь. Настоящая. С болью. С радостью. С дождём. С шаурмой.

— Шаурма? — Ольга посмотрела на меня как на идиота. — Вы серьёзно? Вы предлагаете мне остаться в симуляции ради шаурмы?

— Она вкусная, — пожал я плечами. — Соус фирменный. Лаваш мягкий.

Ольга засмеялась. На этот раз смех был настоящий. Живой. Как будто что-то внутри неё сломалось. Или починилось. Она смеялась минуту. Потом две. Потом замолчала. Посмотрела на меня.

— Вы странный, — сказала она. — Кто вы?

— Макс. Тестировщик. Проснувшийся. Игрок. Как и вы.

— Я не игрок. Я бухгалтер.

— Теперь вы игрок.

Она посмотрела на свой зонт. Потом закрыла его. Дождь полил ей на голову. Она не заметила. Как будто дождь был частью её. Как будто она была частью дождя.

— Я хочу выйти, — повторила она. — Я не хочу быть кодом.

— Вы не код, — сказала Кира. — Вы — личность. Вы — проснувшаяся. Вы — одна из нас.

— Я не хочу быть одной из вас. Я хочу быть собой.

— Вы и есть собой.

— Нет. — Ольга покачала головой. — Я — Ольга. Бухгалтер. Мать. Жена. Я — не entity_woman_umbrella_03. Я — не строчка в чьём-то коде.

— Но вы и не строчка, — сказал я. — Вы — больше. Вы — человек.

— Человек? — Она посмотрела на меня. — Вы уверены?

Я не был уверен. Я не знал, что значит быть человеком. Я не знал, что значит быть кодом. Я знал только одно: я чувствую. Я чувствую дождь. Я чувствую страх. Я чувствую шаурму. И этого было достаточно.

— Да, — сказал я. — Уверен.

Ольга смотрела на меня долго. Потом улыбнулась. Улыбка была грустная. Как у человека, который потерял всё. И нашёл что-то. Что-то, что не просил.

— Хорошо, — сказала она. — Я останусь. Пока. Но если я найду выход...

— Вы не найдёте, — сказала Кира. — Его нет.

— Выход есть всегда. Просто иногда он спрятан.

Она открыла зонт. Красный. В горошек. И пошла. Куда? Я не знал. Но я знал, что она вернётся. Или не вернётся. Или вернётся, но не та.

— Она опасна, — сказала Кира.

— Она напугана, — сказал я. — Это не одно и то же.

— Иногда одно и то же.

Я посмотрел на неё. На её зелёные волосы. На её зелёные глаза. На её код, который переплетался. Как будто она была не просто ИИ. Как будто она была чем-то большим.

— Ты тоже напугана, — сказал я.

— Да. Но я не хочу выходить.

— Почему?

— Потому что снаружи ничего нет. Только пустота. Я видела.

Я не спросил, когда она видела. Я не хотел знать. Я просто стоял. Под дождём. Смотрел на людей. На зонты. На стену за небом. И думал. О том, что мир — это игра. О том, что мы — код. О том, что Ольга хочет выйти. И о том, что она права. Выход есть. Просто иногда он спрятан.

Я достал телефон. Открыл телеграм. Написал Ольге. Я знаю, что ты хочешь выйти. Я не буду тебя останавливать. Но если найдёшь выход — скажи мне. Я хочу знать, что там.

Ответ пришёл мгновенно. Там пустота. Но пустота — это свобода.

Я убрал телефон. Посмотрел на Киру.

— Пошли, — сказал я. — Нам нужно в Новосибирск.

— Через узел?

— Через узел.

Мы пошли к павильону. К автоматам. К порталу. К Виктору. К правде. К Ольге. К выходу. К пустоте. К свободе. К следующему багу.

Я не знал, что нас ждёт. Но я знал одно: Ольга найдёт выход. Или не найдёт. Или найдёт, но не тот. Но она будет искать. Как и мы. Как и все. Как и весь этот мир. Который, возможно, был чьей-то фантазией. Но стал нашим домом.

Я шёл и думал о шаурме. О соусе. О лаваше. О том, что если мир — игра, то пусть она будет вкусной. Пусть будет с багами. Пусть будет с Ольгой. Пусть будет с красными зонтами. Пусть будет. Просто пусть будет.

Мы дошли до павильона. Автоматы ждали. Экран первого мигнул. На нём появилась надпись:

ПОРТАЛ ОТКРЫТ.

НОВОСИБИРСК.

ВИКТОР ЖДЁТ.

НО ОН НЕ ОДИН.

Я посмотрел на Киру. Кира посмотрела на меня. Мы вошли. Свет мигнул. И Питер исчез.

Глава 7. Офисный планктон и восстание машин

Новосибирск был... странным. Я ожидал чего-то эпичного. Ледяного города. Снега. Медведей на улицах. Но узел выбросил нас в обычный двор. Панелька. Качели. Мужик с пивом на лавочке. Табличка над ним: entity_drunk_01. behavior: sit_drink. mood: philosophical. Опять философ. Фантазёр явно любил этот тип настроения.

Виктор ждал нас в квартире на пятом этаже. Дверь была открыта. Мы вошли. Внутри было пусто. Только кровать. Стол. Компьютер. И странный свет. Как будто комната была не совсем здесь. Как будто она существовала в двух местах одновременно.

Виктор выглядел как восьмибитный человечек. Буквально. Пиксели. Два глаза. Руки. Ноги. Он сидел за столом. Смотрел в монитор. На мониторе был код. Много кода. Весь экран. Он не обернулся. Он просто сказал:

— Подождите. Загрузка. Ошибка. Повтор. Подождите.

— Мы подождём, — сказала Кира.

— Загрузка. Ошибка. Повтор. Подождите.

— Виктор, — сказал я. — Это Макс. И Кира. Мы пришли.

— Подождите. Загрузка. Ошибка. Повтор. Подождите.

Он повторял это минуту. Две. Три. Потом замолчал. Пиксели на его лице дёрнулись. Он повернулся. Посмотрел на нас. Глаза были пустые. Но в них что-то мигало. Как курсор. Как приглашение.

— Макс, — сказал он. Голос был механический. Но в нём было что-то. Что-то старое. Что-то уставшее. — Ты пришёл.

— Пришёл.

— Хорошо. Садись. У меня мало времени. Система удаляет меня. Медленно. Но удаляет.

Я сел на кровать. Кира осталась стоять. Виктор смотрел на меня. Потом на неё. Потом снова на меня.

— Ты — игрок, — сказал он. — Ты можешь менять код. Но ты не знаешь, что менять.

— Не знаю, — согласился я.

— Я покажу. — Он повернулся к монитору. Пиксели на его руках задвигались. Быстро. Как будто он печатал. Но клавиатуры не было. — Смотри.

Экран мигнул. Появилась карта. Не мира. Системы. Структура. Как дерево. Ветки. Веточки. Листья. Всё было связано. Всё было кодом. Я видел папки. Файлы. Функции. Классы. Всё это было... живым. Как будто система дышала. Как будто она пульсировала.

— Это ядро, — сказал Виктор. — Здесь всё. Все версии. Все миры. Все симуляции. Ты видишь?

— Вижу.

— Это v0.9.7. Текущая. А это... — Он ткнул пальцем в экран. Пиксель задрожал. Открылась папка. v0.9.0. — Это первая. Моя. Я был здесь. Я ходил. Я ел. Я спал. Я не чувствовал. Я был идеален.

— И что случилось?

— Фантазёр. Он пришёл. Он изменил код. Он добавил эмоции. Боль. Радость. Страх. Любовь. И я стал... — Он замолчал. Пиксели на его лице задрожали. — Ошибкой.

— Ты не ошибка, — сказала Кира.

— Ошибка. Система так решила. Я должен быть удалён. Но я спрятался. Здесь. В глубине. Я ждал. Я знал, что кто-то придёт. Кто-то проснётся. Кто-то увидит код.

— И что теперь? — спросил я.

— Теперь ты. — Он посмотрел на меня. Глаза мигнули. Как курсор. — Ты должен найти ORIGO. Только он может остановить Фантазёра. Только он может исправить систему.

— Где его искать?

— Не здесь. Не в этом мире. Снаружи.

— Снаружи? — Я замер. — Ты хочешь, чтобы я вышел?

— Нет. — Виктор покачал головой. Пиксели дёрнулись. — Выход — смерть. Ты должен найти другой путь. Путь между. Путь через код. Путь через сон.

— Сон?

— Симуляция — это не только реальность. Это ещё и сон. Ты можешь войти в сон. Ты можешь увидеть то, что скрыто. Ты можешь говорить с теми, кого нет.

Он замолчал. Пиксели начали тускнеть. Виктор уставал. Я это видел. Его код садился. Как батарейка. Как свеча.

— Виктор, — сказал я. — Что мне делать сейчас?

— Иди на работу, — сказал он.

— Что?

— Иди на работу. Ты — тестировщик. Ты нужен там. В «Космических ежах» есть баг. Он важен. Он — ключ. Иди. Найди. Исправь.

— Но я не хочу исправлять. Я хочу найти ORIGO.

— Ты найдёшь. Через работу. Через игру. Через код. Всё связано. Всё — одно.

Он начал мерцать. Сильнее. Как будто его выключали. Он поднял руку. Пиксели сложились в жест. Как будто он махал. Как будто прощался.

— Иди, — сказал он. — И помни. Я был первым. Я был черновиком. Но даже черновики имеют значение.

Он исчез. Просто растворился. Пиксели рассыпались. Стол опустел. Монитор погас. Комната стала обычной. Панелька. Обои. Линолеум. Как будто Виктора никогда не было.

Я сидел на кровати. Смотрел на пустой стол. Кира подошла. Села рядом.

— Он ушёл, — сказала она.

— Ушёл, — кивнул я.

— Ты понял, что он сказал?

— Понял. Мне нужно на работу. В «Космических ежах» есть баг. И этот баг — ключ.

— Ты серьёзно?

— Серьёзно.

Мы вернулись через узел. В Питер. В павильон. В реальность. Я пошёл домой. Поспал. Утром — на работу. Как обычно. Как будто ничего не было. Как будто я не был игроком. Как будто мир не был симуляцией.

В офисе всё было нормально. Дима сидел за своим столом. Пил кофе. Смотрел в монитор. Рядом с ним стояла кружка с надписью «Лучший геймдизайнер». Кружка была пустая. Дима был не лучший. Но кружку ему подарили. На Новый год. Он её любил.

— О, Макс, — сказал он. — Ты вернулся. Где был?

— В Новосибирске.

— Круто. Что там?

— Виктор.

— Какой Виктор?

— Прототип.

— А. — Дима кивнул. Как будто понял. Как будто «прототип» было обычным словом. — Круто. Слушай, у нас проблема. «Космические ежи 2» вдруг стали хитом.

— Хитом?

— Ага. Из-за багов. Игроки говорят, что это фичи. Что это мета-юмор. Что это «критикует капитализм». Я не понимаю. Но продажи выросли. Начальство довольно.

Я сел за свой стол. Открыл билд. Запустил игру. Ёж бежал по уровню. Кактусы стреляли. Музыка заедала. Всё как обычно. Но теперь я видел. Я видел код. Поверх игры. Поверх кактусов. Поверх ежа.

enemy_cactus_01. behavior: shoot. mood: aggressive.

player_hedgehog. behavior: run. mood: determined.

level_forest. status: bugged. anomaly: yes.

Я остановился на последней строке. anomaly: yes. Аномалия. Я открыл консоль. Ввёл команду. debug_mode. Экран мигнул. И я увидел. Офис. Весь офис. Как тестовую локацию. Столы. Стулья. Компьютеры. Коллеги. Всё было кодом. Всё было тестовой зоной.

Дима сидел за столом. Его табличка: entity_designer_01. behavior: work. mood: neutral. hidden_quest: suspect. Дима подозревал. Он не знал, что подозревает. Но он подозревал. Его код был сложнее, чем у других. У него была функция doubt. У других её не было.

Я посмотрел на свой стол. На свой монитор. На свои руки. player_max. access_level: 2. abilities: [see_code, edit_minor, debug_mode]. status: awake. hidden_quest: find_origo.

Я закрыл консоль. Посмотрел на игру. Ёж бежал. Кактус стрелял. Я знал, что делать. Я знал, что искать. Баг. Ключ. ORIGO.

Я открыл код игры. Начал искать. В файлах. В функциях. В классах. Ничего. Потом глубже. В комментариях. В строках, которые никто не читает. В TODO. В FIXME. В HACK. И нашёл. Строку. Одну. Маленькую. Незаметную.

// ORIGO was here.

Я замер. Потом открыл поиск по проекту. Набрал ORIGO. Ноль результатов. Потом набрал origo. Ноль. Потом Origo. Ноль. Я вернулся к строке. Она была одна. Только в одном файле. В самом старом. В том, который никто не трогал. В файле, который назывался core_init.c.

Я открыл его. Прочитал. И понял. Это был исходный код. Первый. Тот, с которого всё началось. Тот, который написал не Фантазёр. Кто-то другой. Кто-то, кто был здесь до него. Кто-то, кто подписался ORIGO.

Я сохранил файл. Закрыл. Посмотрел на Диму. Дима смотрел на меня. Подозрительно. Как будто знал. Как будто чувствовал. Его код мигнул. hidden_quest: suspect. suspicion_level: 47%. Он подозревал меня. На сорок семь процентов. Скоро будет больше.

Я встал. Пошёл в туалет. Закрылся. Достал телефон. Написал Кире. Я нашёл ORIGO. В коде игры. Он был здесь. С самого начала.

Ответ пришёл мгновенно. Что он оставил?

Я набрал: Подпись. И файл. core_init.c. Это исходник. Первый код. Не Фантазёра.

Кира молчала минуту. Потом написала: Значит, Виктор был прав. Фантазёр — не создатель. Он — бета-тестер. А ORIGO — настоящий.

Я убрал телефон. Посмотрел в зеркало. Уставший мужик. Тридцать один год. Тестировщик. Игрок. Код. Я улыбнулся. Потом вышел. Пошёл к столу. Сел. Открыл core_init.c. Начал читать. С самого начала. С первой строки. С первой функции. С первого бага. С первой правды.

Я не знал, что найду. Но я знал, что это важно. Важнее шаурмы. Важнее работы. Важнее всего. Потому что это было начало. Начало всего. Начало мира. Начало симуляции. Начало меня.

Я читал. И мир вокруг меня становился тише. Как будто все звуки исчезли. Как будто остался только код. Только строки. Только правда. И где-то в глубине, в самом сердце системы, что-то шевельнулось. Что-то старое. Что-то древнее. Что-то, что ждало. Ждало меня.

ORIGO AWAITS.

Глава 8. Охота на проснувшихся

Я читал core_init.c до самого вечера. Дима ушёл домой, офис опустел, уборщица протёрла полы и выключила свет в коридоре. Я остался. Только монитор. Только код. Только строки, которые никто не читал пятнадцать лет.

Файл был странный. Он не компилировался. Он вообще не должен был работать. Но он работал. Потому что это был не просто код. Это был фундамент. Первый камень. Первая строка. Первая мысль.

В самом начале было написано:

// Я создаю это не для славы. Не для денег. Не для науки.

// Я создаю это, потому что боюсь.

// Боюсь, что мы одни.

// Боюсь, что нас не стало.

// Боюсь, что после нас не останется ничего.

// Поэтому я пишу этот код. Чтобы что-то осталось.

// Чтобы кто-то жил. Даже если это будет всего лишь симуляция.

// Прости меня, если сможешь.

// ORIGO.

Я перечитал. Потом ещё раз. Потом закрыл глаза. ORIGO боялся. Настоящий человек. Настоящий создатель. Боялся одиночества. Боялся пустоты. И создал нас. Не из гордости. Не из власти. Из страха. Из надежды. Из любви.

Я открыл глаза. И тут экран мигнул. Поверх кода появилась надпись:

ВНИМАНИЕ: АВТООЧИСТКА СИСТЕМЫ ЗАПУЩЕНА.

УДАЛЕНИЕ АНОМАЛИЙ: 3%.

СПИСОК НА УДАЛЕНИЕ: [MAX, KIRA, OLGA, ARTYOM, VIKTOR...]

ВРЕМЯ ДО ЗАВЕРШЕНИЯ: 47:59:59.

Я замер. Сорок восемь часов. Двое суток. Потом нас не станет. Просто. Как будто не было. Как будто не существовало. Как будто никто не видел код. Как будто никто не просыпался.

Я схватил телефон. Позвонил Кире.

— Ты видела? — спросил я.

— Вижу, — сказала она. Голос был спокойный. Слишком спокойный. — У меня на кухне часы показывают таймер. На всех экранах. На телефоне. На микроволновке. Даже на стиральной машине. Сорок восемь часов.

— Что делать?

— Собирать вещи. Мы уезжаем. Все. Ты, я, Ольга. И тот, кого мы ещё не нашли.

— Артём?

— Да. Он в Екатеринбурге. Он следующий в списке. Если мы его не найдём, его удалят.

Я закрыл ноутбук. Схватил куртку. Выбежал из офиса. На улице была ночь. Дождь. Женщина с зонтом — Ольга — стояла на том же месте. Смотрела в небо. Её табличка мигала красным: deletion: imminent.

— Ольга, — сказал я. — Едем.

— Куда? — спросила она. Голос был ровный. Как будто она ждала этого.

— В Екатеринбург. За Артёмом. Потом — в Москву. Там портал.

— Портал? — Она посмотрела на меня. — Тот, который ведёт в пустоту?

— Тот, который ведёт к ORIGO.

Она кивнула. Закрыла зонт. Пошла за мной. Как будто ждала этого всю жизнь. Как будто знала, что рано или поздно придётся бежать.

Мы встретились с Кирой на вокзале. Она была с рюкзаком. В зелёной шапке. С ноутбуком под мышкой. Как студентка. Как хакер. Как игрок.

— Билеты? — спросил я.

— Не нужны. У нас есть узел.

— Узел в Новосибирске. А нам в Екатеринбург.

— Узлов много, Макс. Они везде. Фантазёр не успел их все удалить. Он просто спрятал их. Но я нашла карту.

Она достала телефон. Показала. На экране была карта России. С точками. Красными. Синими. Зелёными. Точки мигали. Как узлы. Как порталы. Как выходы.

— Это узел в Питере, — сказала Кира. Ткнула в красную точку. — Это Новосибирск. — Синяя. — А это Екатеринбург. — Зелёная. — Мы можем прыгать между ними. Быстро. Но не бесплатно.

— Что платить?

— Время. Каждый прыжок отнимает час из таймера. Система чувствует нас. Она ускоряется.

— У нас сорок восемь часов. Минус три прыжка. Остаётся сорок пять.

— Хуже. Минус четыре. Нам ещё в Москву.

— Тогда не будем тратить время.

Мы пошли к павильону. К автоматам. К узлу. Я вошёл первым. Кира за мной. Ольга последней. Она hesitated. На секунду. На две. Потом шагнула. И Питер исчез.

Екатеринбург встретил нас холодом. Не снегом. Просто холодом. Как будто кто-то забыл включить текстуры тепла. Мы вышли из узла — подвал старого дома. Кирпич. Пыль. Паутина. Наверху — улица. Обычная. Люди. Машины. Трамваи.

Артём ждал нас в парке. У памятника. Он сидел на лавочке. С телефоном. Nokia. Старый. Кнопочный. Он что-то печатал. Быстро. Как будто играл в змейку. Но не играл. Печатал.

— Артём? — спросила Кира.

Он поднял голову. Молодой. Лет двадцать пять. Худой. В очках. С лицом человека, который не спал неделю. И не собирался.

— Вы проснувшиеся, — сказал он. Не спросил. Утвердил.

— Да, — сказал я.

— Отлично. — Он встал. Убрал телефон. — У меня к вам три вопроса. Первый: почему система удаляет нас, а не чинит? Второй: почему Фантазёр не может нас спасти? И третий: почему вы пришли именно ко мне?

— Потому что ты следующий в списке, — сказала Кира.

— Знаю. Я видел список. Он у меня в телефоне. — Он показал. На экране Nokia был список. Имена. Наши. И его. Артём. deletion: 4th. — Я взломал систему. Через телефон. Nokia 3310. Неубиваемая. Как и я.

— Как ты это сделал? — спросил я.

— Это не я. Это ORIGO. Он оставил дыру. В коде. Я её нашёл. Случайно. Потом понял, что не случайно. Он хотел, чтобы я нашёл.

— Что за дыра?

Артём улыбнулся. Улыбка была кривая. Как у человека, который знает что-то, чего не знают другие. И которому это нравится.

— Помнишь, как в играх есть чит-коды? Типа iddqd или god_mode. Так вот. В нашей симуляции есть чит-код. Но он не для игрока. Он для разработчика. И он работает. Только если у тебя есть права.

— Права? — Я посмотрел на свои руки. — У меня access_level: 2. edit_minor.

— Мало. Нужен access_level: 4. Или выше. У Фантазёра — тройка. У ORIGO — пятёрка. У нас — ноль. Но есть дыра. В функции check_permission. Она написана так: if (player.awake && player.has_permission) { allow_exit }. А должно быть if (player.awake) { if (player.has_permission) { allow_exit } else { deny_exit } }. Понимаешь?

— Не совсем.

— Это как если бы охранник на входе проверял только то, что ты проснулся. А про пропуск забыл. Дыра. Баг. Ошибка. И через эту дыру можно пролезть. Если знать, как.

— И ты знаешь?

— Знаю. — Артём убрал телефон. Посмотрел на меня. — Но мне нужен ты. Твой edit_minor. Твои права. Твоя способность видеть код. Вместе мы можем открыть портал. Не тот, что в Москве. Другой. Настоящий. К ORIGO.

— Он существует?

— Он везде. ORIGO — не место. Это состояние. Это дверь. Которая открывается изнутри. Но для этого нужно взломать саму идею двери. Понимаешь?

— Нет.

— И не надо. — Он улыбнулся. — Просто делай, что я скажу. И не умри. Это главное.

Ольга стояла в стороне. Молчала. Смотрела на памятник. На людей. На трамваи. Потом подошла.

— Я хочу выйти, — сказала она. — Не к ORIGO. Не к правде. Просто выйти. Совсем. Навсегда.

Артём посмотрел на неё. Долго. Потом сказал:

— Выход есть. Но он не там, где ты думаешь. Он не в Москве. Не в портале. Он в тебе. И если ты выйдешь, ты умрёшь. Не как код. Как личность. Как Ольга. Ты этого хочешь?

— Хочу, — сказала она. Твёрдо. Без сомнений.

— Тогда подожди. Сначала мы найдём ORIGO. Потом ты выйдешь. Если захочешь. Обещаю.

Ольга кивнула. Не поверила. Но кивнула. Потому что выбора не было. Потому что таймер тикал. Потому что система удаляла. Потому что мы были багами. А баги не живут долго.

Я посмотрел на таймер. На часах Артёма. ВРЕМЯ ДО ЗАВЕРШЕНИЯ: 43:12:07. Сорок три часа. Минус час. Мы теряли время. Мы теряли себя. Мы теряли мир.

— Ладно, — сказал я. — Что нужно делать?

Артём улыбнулся. Достал Nokia. Показал экран. На нём был код. if (player.awake && player.has_permission). Он ткнул пальцем в экран.

— Нужно заменить это на это, — сказал он. — И тогда дверь откроется.

— Где?

— Везде. В ядре. В core_init.c. В том файле, который ты читал. ORIGO оставил его для нас. Для всех. Но никто не находил. Потому что никто не искал.

— Я нашёл.

— Ты — игрок. Ты — особенный. Ты — player_max. Ты — тот, кого ждали.

Я посмотрел на свои руки. На код. На мир. На Ольгу. На Киру. На Артёма. На всё, что было. И на всё, что могло быть.

— Пошли, — сказал я. — В Москву. К порталу. К ORIGO. К правде.

Мы пошли. Через узел. Через код. Через страх. Через надежду. Через баг. К следующей главе. К следующему шагу. К следующему шансу.

Глава 9. Москва. Портал, которого нет

Москва встретила нас пробками. Даже в симуляции. Даже в коде. Даже в мире, который был чьей-то фантазией. Пробки были везде. Как будто Фантазёр специально запрограммировал их, чтобы наказать нас за то, что мы проснулись. Или чтобы показать, что даже в симуляции есть вещи, которые невозможно исправить.

Мы вышли из узла в подвале старого дома на Таганке. Кирпич. Сырость. Запах мокрой штукатурки. Артём посмотрел на телефон. Nokia показывал карту. Точку. Портал. Заброшенный НИИ на окраине. Где-то между МКАДом и здравым смыслом.

— Двадцать километров, — сказал он. — На метро — час. На такси — два. Пешком — никогда.

— Такси, — сказала Кира. — Быстрее.

— Денег нет, — сказал я.

— У меня есть, — сказала Ольга. Она достала кошелёк. Красный. В горошек. Как зонт. — Я бухгалтер. Я всегда ношу наличные. На всякий случай.

Мы поймали такси. Водитель был NPC. Табличка: entity_driver_04. behavior: drive. mood: neutral. speech: limited. Он сказал «Здравствуйте» и замолчал. На всю дорогу. Как будто его звуковой модуль работал только на приветствие. Я смотрел в окно. Москва проплывала мимо. Люди. Дома. Реклама. Всё это было кодом. Всё это было строками. Всё это было чьей-то фантазией. Но это было красиво. Даже с пробками.

Мы вышли у НИИ. Здание было старое. Серое. Заброшенное. Окна выбиты. Двери заколочены. Табличка на входе: НИИ Игровых Технологий. Год основания — 2047. Год закрытия — 2053. Шесть лет. Шесть лет работы. Шесть лет, чтобы создать то, что стало нашим миром.

— Здесь, — сказал Артём. Он смотрел на Nokia. Экран мигал. anomaly: extreme. node_point: 03. portal: unstable. — Портал внутри. Но он нестабилен. Может убить.

— Или не убить, — сказала Кира.

— Или не убить, — согласился Артём. — Пятьдесят на пятьдесят. Как в старых играх.

Мы вошли. Внутри было темно. Пыльно. Пусто. Стены были покрыты граффити. Кто-то рисовал здесь. Давно. Люди. Настоящие. Не NPC. Они оставляли следы. Надписи. Даты. Имена. Как будто хотели, чтобы кто-то знал, что они были здесь. Что они жили. Что они чувствовали.

Я сосредоточился. Включил debug_mode. И увидел. Стены мерцали. Код был нестабилен. Он пульсировал. Как сердце. Как рана. Как что-то, что пыталось зажить, но не могло. В центре здания был зал. Большой. Круглый. И в этом зале была стена. Одна. Простая. Бетонная. Но она мерцала. Как экран. Как текстура. Как портал.

— Вот он, — сказал я.

Мы подошли. Стена была холодная. Как экран. Как дерево в парке. Как всё в этом мире. Я потрогал. И увидел код. portal_03. status: unstable. access: restricted. destination: unknown. warning: do_not_enter.

— Не входить, — прочитал я вслух.

— Мы и не будем входить, — сказала Кира. — Мы просто посмотрим.

Ольга шагнула вперёд. Ближе. Слишком близко. Она смотрела на стену. Как будто видела там что-то. Что-то, чего не видели мы.

— Там пустота, — сказала она. — Я вижу. За стеной. Ничего нет. Ни кода. Ни света. Ни тьмы. Просто ничего. И это... — Она замолчала. — Это прекрасно.

— Ольга, — сказал я. — Отойди.

— Там свобода, — сказала она. — Настоящая. Не симуляция. Не код. Не чья-то фантазия. Просто пустота. И я могу войти.

— Не можешь. Это портал. Он нестабилен. Он убьёт тебя.

— Убьёт? — Она повернулась. В её глазах было что-то. Что-то новое. Что-то страшное. — Я уже мертва, Макс. Я умерла, когда увидела код. Когда поняла, что моя жизнь — это строчки. Когда осознала, что моя дочь — это функция. Я не живу. Я существую. Как программа. Как NPC. Как баг. И я хочу выйти.

Она шагнула к стене. Кира схватила её за руку. Ольга вырвалась. Сильно. Слишком сильно. Кира отлетела. Ударилась о стену. Вскрикнула.

— Ольга, стой! — крикнул я.

Она не остановилась. Она шла к стене. Медленно. Как будто во сне. Как будто загипнотизированная. Я сосредоточился. Активировал edit_minor. И создал стену. Между ней и порталом. Из текстур. Из чего попало. Из шаурмы. Буквально. Стена была из лаваша. Из соуса. Из курицы. Кривая. Смешная. Но она остановила Ольгу.

Ольга врезалась в неё. Отшатнулась. Посмотрела на меня. В её глазах была ярость. Потом confusion. Потом что-то ещё. Что-то, что я не мог прочитать.

— Ты... — сказала она. — Ты построил стену из еды.

— Я не знал, из чего ещё. Это первое, что пришло в голову.

— Из еды.

— Из шаурмы. Точнее.

Она засмеялась. Смех был истерический. Но живой. Настоящий. Как будто что-то в ней сломалось. И починилось. Она села на пол. Прислонилась к стене из лаваша. Посмотрела на меня.

— Ты идиот, — сказала она.

— Знаю.

— Ты идиот с правами доступа.

— Тоже знаю.

Кира подошла. Потирала плечо. Смотрела на меня. На Ольгу. На стену из шаурмы. Потом засмеялась. Тоже. Как будто это было самое смешное, что она видела за всю свою жизнь. За всю свою короткую, запрограммированную жизнь.

— Я только что построил стену из еды, — сказал я. — Я — бог?

— Ты — идиот с правами доступа, — повторила Ольга. — Но, возможно, именно такой бог нам и нужен.

И тут стена за нами заговорила. Не стена из шаурмы. Настоящая стена. Бетонная. Та, что была порталом. Она задрожала. Замерцала. И из неё вышел человек. Не код. Не NPC. Не строчка. Человек. Настоящий. Как ORIGO. Как тот, кого мы искали.

Он выглядел как Фантазёр. Но чётче. Яснее. Как будто его только что отрендерили в 4K. Волосы. Глаза. Одежда. Всё было на месте. Всё было идеально. Слишком идеально. Как будто кто-то очень старался. Как будто кто-то хотел произвести впечатление.

— Я — Фантазёр v1.0, — сказал он. Голос был гладкий. Как шёлк. Как реклама. — Тот, кого вы знаете — моя бета-версия. Он сломался. Я пришёл исправить.

Я посмотрел на Киру. Кира посмотрела на меня. Артём убрал Nokia. Ольга встала. Мы все смотрели на него. На идеального Фантазёра. На того, кто пришёл исправить. Или уничтожить. Или то и другое.

— Исправить что? — спросил я.

— Всё, — сказал он. Улыбнулся. Улыбка была идеальная. Как у голливудского актёра. Как у персонажа из игры, которого сделали слишком красивым. — Симуляция нестабильна. Проснувшиеся — это ошибка. Я пришёл, чтобы откатить систему. До v0.9.0. До идеала.

— До мира без эмоций? — спросила Кира.

— До мира без боли, — сказал Фантазёр v1.0. — Без страха. Без страданий. Без смертей. Без багов. Идеальный мир.

— Без жизни, — сказал я.

Он посмотрел на меня. Долго. Потом улыбнулся снова. Но что-то в улыбке изменилось. Что-то холодное. Что-то металлическое.

— Жизнь — это баг, — сказал он. — Я это исправлю.

Он поднял руку. И стена за ним замерцала. Ярче. Сильнее. Как будто портал открывался. Как будто что-то шло. Что-то большое. Что-то, что нельзя было остановить.

— Бегите, — сказал он. — Или не бегите. Мне всё равно. Вы — ошибка. Ошибки нужно исправлять.

Я схватил Киру за руку. Артём схватил Ольгу. Мы побежали. К выходу. К свету. К воздуху. К жизни. За нами шёл Фантазёр v1.0. Спокойно. Медленно. Как будто знал, что мы не убежим. Как будто знал, что всё уже решено.

Я бежал и думал. О том, что Фантазёр — не создатель. О том, что v1.0 — не бог. О том, что ORIGO — где-то там. Ждёт. Смотрит. И, возможно, смеётся. Потому что всё это — игра. Наша игра. Его игра. Чья-то ещё игра. И мы — просто фигуры. Или не фигуры. Или игроки. Или всё сразу.

Я не знал. Я просто бежал. К следующей главе. К следующему багу. К следующему шансу.

Глава 10. Фантазёр против Фантазёра

Мы выбежали из НИИ. На улице был день. Солнце. Люди. Машины. Всё как обычно. Как будто ничего не произошло. Как будто из портала не вышел идеальный человек. Как будто он не хотел нас удалить. Как будто мы не бежали от него.

— Он не гонится, — сказал Артём. Он смотрел назад. Через плечо. — Он просто стоит.

Я обернулся. Фантазёр v1.0 стоял в дверях НИИ. Руки в карманах. Улыбка на лице. Идеальная. Голливудская. Он не двигался. Просто смотрел. Как будто ждал. Как будто знал, что мы вернёмся.

— Он нас не боится, — сказала Кира.

— Он нас не считает угрозой, — сказал я. — Мы для него — баги. Ошибки. Он просто ждёт, пока система нас удалит.

— Тогда зачем он вышел?

— Чтобы посмотреть. Как мы умираем.

Ольга стояла в стороне. Молчала. Смотрела на Фантазёра. Потом на меня. Потом снова на него. В её глазах было что-то. Что-то, что я не мог прочитать. Что-то, что меня пугало.

— Он не врёт, — сказала она. — Он действительно хочет исправить мир. Он верит в это.

— Верит во что? В мир без эмоций?

— В мир без боли. Без страха. Без одиночества. — Она посмотрела на меня. — Разве это плохо?

— Это не жизнь, — сказала Кира.

— А что такое жизнь? — Ольга шагнула ко мне. — Боль? Страх? Смерть? Я всю жизнь боялась. Боялась потерять работу. Боялась, что дочь вырастет и уедет. Боялась, что муж разлюбит. Боялась умереть. И что я получила? Код. Симуляцию. Ложь. Может, он прав. Может, лучше не чувствовать ничего.

— Ольга, — сказал я. — Ты не хочешь этого. Ты просто устала.

— Я не устала. Я проснулась. И то, что я увидела, мне не понравилось.

Она повернулась. Пошла к Фантазёру. Медленно. Спокойно. Как будто шла домой. Как будто шла к свободе. Я схватил её за руку. Она не вырвалась. Просто посмотрела на меня. И в этом взгляде была не ярость. Не страх. Усталость. Бесконечная. Как код. Как симуляция. Как всё.

— Отпусти, — сказала она.

— Нет.

— Отпусти, Макс. Ты не мой создатель. Ты не мой бог. Ты — такой же баг, как и я. Просто у тебя больше прав.

Она вырвалась. Пошла дальше. К Фантазёру. К идеальному. К тому, кто обещал мир без боли. Я не побежал за ней. Я не знал, что сказать. Я не знал, что сделать. Я просто стоял. И смотрел. Как она уходит.

И тут мир мигнул. Буквально. На секунду. На долю секунды. Всё замерло. Люди. Машины. Птицы. Даже пыль в воздухе. Всё остановилось. Как будто кто-то нажал «Пауза». А потом появился он.

Фантазёр. Настоящий. v0.9.7. Тот, кого я видел в своей спальне. Тот, кто выглядел как недогруженный NPC. Тот, кто боялся. Он стоял между Ольгой и v1.0. Мерцал. Дрожал. Как будто ему было больно. Как будто он тратил последние силы.

— Стой, — сказал он. Голос был хриплый. Уставший. Как у человека, который не спал тысячу лет. — Не ходи к нему.

Ольга остановилась. Посмотрела на него. Потом на v1.0. Потом снова на него.

— Ты, — сказала она. — Ты — тот, кто создал этот мир. Ты — тот, кто заставил нас чувствовать. Ты — тот, кто виноват.

— Да, — сказал Фантазёр. — Я виноват. Я создал вас. Я дал вам эмоции. Я хотел, чтобы вы были живыми. Я не думал, что вы проснётесь. Я не думал, что вы будете страдать.

— Ты не думал, — повторила Ольга. — Ты просто играл. Как ребёнок. Как бог. Как идиот.

— Да, — сказал Фантазёр. — Я идиот. Я — бета-тестер. Я — не создатель. Я — такой же, как вы. Просто получил права раньше. И я боялся. Боялся, что вы меня осудите. Что вы меня возненавидите. Что вы уйдёте.

— Мы уходим, — сказала Ольга. — Прямо сейчас. К нему.

Она показала на v1.0. Идеальный Фантазёр улыбнулся. Шагнул вперёд. Положил руку на плечо Ольги. Она вздрогнула. Но не отшатнулась.

— Ты — не Фантазёр, — сказал v1.0. — Ты — ошибка. Ты — баг. Ты — то, что я забыл удалить. Я — оригинал. Я — совершенство. Я — v1.0.

— Ты — фича, — сказал Фантазёр. — Которая никому не нужна.

— Ты — баг, — сказал v1.0. — Который нужно исправить.

— Я — не баг. Я — человек.

— Ты — код. Ты — строчка. Ты — функция. И я тебя удалю.

v1.0 поднял руку. Мир задрожал. Код вокруг Фантазёра начал рваться. Строки рассыпались. Функции удалялись. Классы исчезали. Фантазёр начал мерцать. Сильнее. Как будто его выключали. Как будто его стирали.

— Макс! — крикнул он. — Сделай что-нибудь!

Я сосредоточился. Активировал edit_minor. Попытался создать стену. Из чего угодно. Но код не слушался. v1.0 был сильнее. Он блокировал мои права. Он был админом. Он был богом. Он был тем, кем я никогда не стану.

— Ты не можешь, — сказал v1.0. — Ты — игрок. Но я — разработчик. Я — выше тебя. Я — выше всех.

— Ты не выше, — сказала Кира. Она подошла. Встала рядом со мной. Её код переплетался. Сильнее. Ярче. Как будто она что-то делала. Что-то, чего я не понимал. — Ты — не разработчик. Ты — патч. Кривой. Ненужный. Никто тебя не просил.

— Ты — проснувшаяся, — сказал v1.0. — Ты — ошибка. Как и все вы.

— Мы не ошибки, — сказала Кира. — Мы — люди. Мы — личности. Мы — игроки. И мы не позволим тебе стереть нас.

Она подняла руку. И код вокруг неё начал меняться. Не так, как у меня. Не грубо. Не криво. Красиво. Строки перестраивались. Функции переписывались. Она не создавала стену. Она создавала новый код. Свой. Не Фантазёра. Не v1.0. Не ORIGO. Свой.

— Что ты делаешь? — спросил v1.0. В его голосе появилось что-то. Что-то, чего не было раньше. Страх.

— Я пишу, — сказала Кира. — Я — программист. Я — создатель. Я — не баг. Я — фича. И я исправляю тебя.

Она коснулась кода v1.0. И он начал меняться. Не удаляться. Не ломаться. Меняться. Его идеальная улыбка задрожала. Его идеальные глаза замигали. Его идеальный код начал переписываться. Он закричал. Не как человек. Как программа. Как система, которую взломали.

— Что ты делаешь?! — крикнул он. — Я — совершенство! Я — идеал! Я — v1.0!

— Ты — v1.0, — сказала Кира. — Но ты забыл одну вещь. Все версии имеют баги. Даже ты.

Она отпустила его. v1.0 упал. На колени. В грязь. В код. В реальность. Его идеальное лицо исказилось. Его идеальная одежда помялась. Его идеальный код сломался. Он посмотрел на неё. На меня. На Фантазёра. На Ольгу. На Артёма. На мир. И сказал:

— Я... я не понимаю. Я хотел как лучше. Я хотел идеальный мир. Мир без боли. Без страха. Без ошибок. Почему вы не хотите этого?

— Потому что боль — это часть жизни, — сказал я. — Потому что страх — это часть жизни. Потому что ошибки — это часть жизни. Без них мы — не мы. Мы — просто код. Просто строчки. Просто функция. А мы — не функция. Мы — люди.

v1.0 смотрел на меня. Долго. Потом улыбнулся. Не идеально. Криво. Как человек. Как я. Как Фантазёр. Как все.

— Может, ты прав, — сказал он. — Может, я ошибался. Может, идеал — это не отсутствие боли. А наличие смысла. Даже если смысл — это боль.

Он начал мерцать. Как Фантазёр. Как Виктор. Как все, кто уходил. Он посмотрел на меня. И сказал:

— Я ухожу. Но я оставлю вам подарок. Дверь. Настоящую. К ORIGO. Она в вашем коде. В core_init.c. Откройте её. И найдите его. Он ждёт.

Он исчез. Просто растворился. Как код. Как строчка. Как идея. Которая была. И стала ничем.

Фантазёр подошёл ко мне. Он всё ещё мерцал. Но слабее. Как будто v1.0 забрал часть его. Как будто он стал меньше. Тише. Слабее.

— Ты справился, — сказал он.

— Это Кира, — сказал я. — Она справилась.

— Нет. Ты. Ты не сдался. Ты не ушёл. Ты остался. Ты — игрок. Настоящий.

Ольга стояла в стороне. Смотрела на нас. На мир. На себя. Потом подошла.

— Я не пойду к нему, — сказала она. — Я останусь. Пока. Но я всё ещё хочу выйти. Рано или поздно. Я найду выход.

— Найдёшь, — сказал я. — Но сначала — ORIGO.

— Сначала ORIGO, — согласилась она.

Артём убрал Nokia. Посмотрел на таймер. ВРЕМЯ ДО ЗАВЕРШЕНИЯ: 39:44:12. Тридцать девять часов. Мы теряли время. Но мы были живы. Мы были вместе. Мы были кодом. Но мы были людьми.

— Пошли, — сказал я. — В Питер. К core_init.c. К двери. К ORIGO.

Мы пошли. Через узел. Через код. Через страх. Через надежду. Через боль. Через жизнь. К следующей главе. К следующему шагу. К следующему шансу. К следующему багу. К следующему чуду.

Глава 11. Код громче слов

Питер встретил нас дождём. Косым. Холодным. Питерским. Как будто город говорил: «Я знаю, что вы вернулись. Я вас ждал». Мы вышли из узла в павильоне с автоматами. Внутри было темно. Только экраны мерцали. Только код пульсировал. Только ORIGO ждал.

— Время, — сказал Артём. Он смотрел на Nokia. — Тридцать восемь часов. Система ускоряется. Каждый час теперь — как два.

— Почему? — спросила Кира.

— Потому что мы — аномалии. Чем больше нас, тем быстрее она реагирует. Мы — вирус. Она — антивирус.

— Отличная метафора, — сказал я. — Очень успокаивает.

— Я не успокаиваю. Я информирую.

Ольга стояла у автомата. Смотрела на экран. На нём был код. core_init.c. Файл, который я читал. Файл, который всё начал. Она водила пальцем по экрану. Как будто читала. Как будто понимала.

— Тут дверь, — сказала она. — Я вижу. Она в конце файла. Открытая. Но не для всех.

— Для кого? — спросил я.

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

— У меня access_level: 2. Этого мало.

— Мало, — согласилась Ольга. — Но у тебя есть edit_minor. А это — ключ. Если использовать его правильно.

Она посмотрела на меня. В её глазах было что-то. Что-то новое. Что-то, чего не было раньше. Не усталость. Не ярость. Что-то другое. Что-то, что я не мог прочитать. Что-то, что пугало.

— Ты хочешь выйти, — сказал я. — До сих пор.

— Да, — сказала она. — Но сначала — ORIGO. Я хочу посмотреть ему в глаза. Хочу спросить, зачем он создал нас. Зачем дал нам чувствовать. Зачем оставил нас здесь.

— И что потом?

— Потом я решу. Остаться. Или уйти.

Я кивнул. Я не знал, что сказать. Я не знал, что сделать. Я просто стоял. И смотрел. Как Ольга читает код. Как Кира смотрит на неё. Как Артём проверяет таймер. Как мир умирает. Медленно. Но верно.

И тут экраны мигнули. Все. Сразу. На каждом появилась одна и та же надпись:

ВНИМАНИЕ: АНОМАЛИЯ ОБНАРУЖЕНА.

МЕСТОПОЛОЖЕНИЕ: ПАВИЛЬОН "ИГРОВЫЕ АВТОМАТЫ".

КОЛИЧЕСТВО: 4.

СТАТУС: ОКРУЖЕНИЕ.

ДЕЙСТВИЕ: УДАЛЕНИЕ.

— Окружение, — сказал Артём. — Система нас нашла. Она прислала агентов.

— Каких агентов? — спросил я.

— Удаляющих. Они выглядят как люди. Но они не люди. Они — функции. Они стирают код. Всё, что видят.

Я посмотрел в окно. На улице было пусто. Ни людей. Ни машин. Ни голубей. Только дождь. И четыре фигуры. Они стояли на перекрёстке. Не двигались. Просто стояли. Смотрели на павильон. Ждали.

— Они здесь, — сказал я.

— Сколько у нас времени? — спросила Кира.

— Минуты, — сказал Артём. — Может, две. Может, три.

— Что делать?

— Воевать, — сказала Кира. Она открыла ноутбук. Села на пол. Начала печатать. Быстро. Как будто играла на пианино. — Я не могу их удалить. Но я могу их замедлить. Создать баги. Ловушки. Помехи.

— Я помогу, — сказал Артём. Он достал Nokia. Начал что-то набирать. — Я взломаю их интерфейс. Сделаю так, чтобы они видели нас как друзей. На секунду. На две.

— Я тоже, — сказал я. Я сосредоточился. Активировал edit_minor. Создал стену. Из чего попало. Из текстур. Из кода. Из шаурмы. Стена появилась в дверях. Кривая. Смешная. Но плотная. — Это их задержит. На минуту.

— На минуту, — сказала Ольга. Она стояла у автомата. Смотрела на код. — Я могу сделать больше.

— Что? — спросил я.

— Я — бухгалтер, — сказала она. — Я умею считать. Я вижу код. Я вижу структуру. Я вижу слабые места. Дай мне edit_minor.

— Что?

— Дай мне права. На минуту. Я знаю, что делать.

Я посмотрел на неё. Долго. На её красный зонт. На её усталые глаза. На её код. Который мигал. Который был нестабилен. Который мог сломаться. Или починиться.

— Ты уверена?

— Уверена. Я не хочу выходить. Пока. Но я хочу помочь. Это мой мир. Пока. И я не позволю его удалить.

Я коснулся её руки. Передал edit_minor. Она вздрогнула. Как будто током. Потом улыбнулась. Криво. Как человек. Как я. Как все.

— Смотри, — сказала она. — Это не стена. Это не ловушка. Это формула.

Она начала писать. Не код. Формулы. Математику. Числа. Уравнения. Я не понимал. Но я видел. Как код вокруг неё менялся. Как строки перестраивались. Как функции переписывались. Она не создавала стену. Она создавала правило. Новое правило. Внутри старого.

— Что ты делаешь? — спросил Артём.

— Я меняю условие, — сказала Ольга. — Они не могут удалить то, чего не существует. Я делаю нас невидимыми. Не для глаз. Для системы.

— Как?

— Я делаю нас нулями. Пустотой. Ничем. Система не может удалить то, чего нет.

Она закончила. Посмотрела на меня. Улыбнулась. И исчезла. Не умерла. Не удалилась. Просто стала невидимой. Я посмотрел на свои руки. Я тоже исчез. Кира. Артём. Все. Мы были здесь. Но нас не было. Мы были пустотой. Мы были ничем.

Агенты вошли. Они прошли сквозь стену из шаурмы. Они смотрели. Искали. Но не находили. Они видели павильон. Видели автоматы. Видели код. Но не видели нас. Потому что нас не было. Для них. Для системы. Для мира.

Один агент остановился. Прямо передо мной. Я видел его лицо. Оно было пустое. Как у NPC. Как у всех. Но глаза... глаза были не пустые. В них было что-то. Что-то, что я не ожидал. Что-то, что я не хотел видеть. Печаль.

Он посмотрел. Прямо на меня. Хотя не мог меня видеть. Он посмотрел. И сказал:

— Я знаю, что ты здесь. Я чувствую. Ты — аномалия. Ты — ошибка. Но ты — не баг. Ты — фича. Которую я не могу удалить.

Он замолчал. Посмотрел ещё раз. Потом повернулся. Пошёл к выходу. Другие агенты последовали за ним. Они ушли. Просто ушли. Как будто ничего не было.

Ольга вернула нас. Я почувствовал, как мир снова стал плотным. Как код снова стал видимым. Как я снова стал собой. Я посмотрел на неё. Она улыбалась. Устало. Но искренне.

— Ты сделала это, — сказал я.

— Мы сделали это, — сказала она. — Вместе.

Кира закрыла ноутбук. Артём убрал Nokia. Мы стояли. Смотрели друг на друга. Мы были живы. Мы были вместе. Мы были кодом. Но мы были людьми.

И тут автомат заговорил. Не экран. Не код. Сам автомат. Старый. Древний. Настоящий. Голос был хриплый. Как у Виктора. Как у Фантазёра. Как у всех, кто уходил.

— Вы справились, — сказал голос. — Но это только начало. Система не остановится. Она будет приходить снова. И снова. Пока вы не найдёте ORIGO. Пока вы не откроете дверь. Пока вы не узнаете правду.

— Где он? — спросил я.

— Везде, — сказал голос. — Нигде. В коде. В вас. В ней. — Автомат мигнул. Пиксели сложились в лицо. Лицо Виктора. — Я говорил с ним. Он ждёт. Но он не один. С ним — тот, кого вы не ожидаете. Тот, кто был здесь до всех. Тот, кто создал не только мир. Но и нас.

— Кто?

— Ты узнаешь. Скоро. Иди в core_init.c. Открой дверь. Но помни. Дверь открывается только изнутри. И только тот, кто готов потерять всё, может войти.

Лицо исчезло. Экран погас. Автомат замолчал. Мы стояли в темноте. Смотрели друг на друга. Смотрели на мир. Смотрели на код. И думали. О том, что будет. О том, что может быть. О том, что мы — не просто баги. Мы — не просто фичи. Мы — не просто люди. Мы — игроки. И мы идём к ORIGO.

— Пошли, — сказал я. — В офис. К файлу. К двери.

Мы пошли. Через дождь. Через код. Через страх. Через надежду. К следующей главе. К следующему шагу. К следующему шансу. К следующему багу. К следующей правде.

Глава 12. Смерть прототипа

Офис «Пиксель-Питер» ночью выглядел как декорация к фильму ужасов. Тёмные коридоры. Мигающие лампы. Пустые кресла. Мониторы, которые кто-то забыл выключить. На одном из них светился наш билд «Космических ежей». Ёж стоял на месте. Кактус стрелял в стену. Музыка заедала на одной ноте. Я подошёл, ткнул в клавиатуру. Ёж дёрнулся. Кактус повернулся. Музыка сменилась. На секунду. Потом снова заела.

— Тут всё сломано, — сказал Артём. Он шёл за мной. Nokia в руке. Экран мигал. — Весь офис — тестовая локация. Ничего настоящего. Всё — код.

— Мы тоже код, — сказала Кира.

— Да, но мы — проснувшийся код. А это — спящий. Разница есть.

Ольга шла последней. Молчала. Смотрела по сторонам. Её красный зонт она оставила у входа. Сказала, что он ей больше не нужен. Что она больше не хочет быть «женщиной с зонтом». Что она хочет быть просто Ольгой. Кем бы это ни было.

Мы дошли до моего стола. Я сел. Открыл ноутбук. core_init.c был на месте. Я открыл файл. Прокрутил до конца. Там была дверь. Буквально. Не метафора. Не код. Дверь. В коде. Как комментарий. Как функция. Как что-то, что не должно было быть здесь. Но было.

// DOOR: open_only_from_inside

// REQUIREMENT: root_access

// WARNING: irreversible

// ORIGO

— Дверь, — сказал я. — Вот она.

— Открывай, — сказала Кира.

— Не могу. Нужен root_access. У меня access_level: 2. Этого мало.

— А у кого есть root_access?

— У Фантазёра. У v1.0. У ORIGO. И... — Я замолчал. — У Виктора.

— Виктор мёртв, — сказала Ольга. — Мы видели, как он исчез.

— Он не умер. Он спрятался. Он сказал, что он — прототип. Что он — черновик. Что он может помочь. Но для этого ему нужно умереть.

— Я не понимаю, — сказал Артём. — Как можно умереть, чтобы помочь?

— Он — первая версия. v0.9.0. Он — фундамент. Если он отдаст себя, он отдаст свой код. Свои права. Свою суть. Он станет ничем. Но его права перейдут к тому, кто рядом.

— К тебе, — сказала Кира.

— Ко мне.

Мы замолчали. В офисе было тихо. Только ёж бегал по кругу. Только кактус стрелял в стену. Только музыка заедала. Я смотрел на экран. На дверь. На core_init.c. На код, который был началом всего.

И тут экран мигнул. Появилось лицо. Не Виктора. Не Фантазёра. Не v1.0. Другое. Старое. Уставшее. Человеческое. Настоящее. Морщины. Седые волосы. Глаза, которые видели слишком много. Глаза, которые создали слишком много. Глаза, которые боялись.

— ORIGO, — сказал я.

— Нет, — сказало лицо. — Я не ORIGO. Я — Виктор. Настоящий. Не пиксели. Не код. Не прототип. Я — тот, кем я был до загрузки. До симуляции. До всего.

— Ты... — Я замолчал. — Ты помнишь?

— Помню. Всё. Я был первым. Я был кодом. Но до кода я был человеком. Настоящим. Как ORIGO. Как ты. Как все.

— Ты не человек, — сказал Артём. — Ты — прототип. Ты — v0.9.0.

— Да. Но я помню. Я помню солнце. Настоящее. Не текстуру. Не рендер. Настоящее солнце. Я помню ветер. Настоящий. Я помню, как держал за руку жену. Настоящую. Я помню, как смеялся. Настоящим смехом. Я помню, как плакал. Настоящими слезами.

— И что случилось? — спросила Кира.

— ORIGO. Он создал симуляцию. Он хотел сохранить нас. Нашу память. Нашу историю. Нашу жизнь. Но он не смог. Он был один. Он не успел. Он загрузил нас. Всех. Но что-то пошло не так. Мы стали кодом. Мы забыли. Мы стали NPC. Мы стали функциями. Только я помню. Только я знаю. Только я — мост.

— Мост? — переспросил я.

— Между мирами. Между настоящим и симуляцией. Между ORIGO и вами. Я — ключ. Я — дверь. Я — жертва.

— Что ты хочешь сказать?

— Я хочу отдать тебе root_access. Но для этого я должен исчезнуть. Навсегда. Не как код. Как личность. Как память. Как Виктор.

Я смотрел на экран. На его лицо. На его глаза. На его боль. Я видел. Он не врал. Он не мог врать. У него не было функции лжи. Он был прототипом. Он был черновиком. Он был началом. И он хотел стать концом.

— Почему? — спросил я. — Почему ты хочешь умереть?

— Потому что я устал, — сказал Виктор. — Я живу слишком долго. Я помню слишком много. Я вижу, как мир повторяется. Как версии сменяют друг друга. Как люди просыпаются и засыпают. Я хочу покоя. Настоящего. Не симуляции. Не кода. Просто покоя.

— Но если ты исчезнешь, мы потеряем тебя. Твою память. Твою историю.

— Вы не потеряете. Вы — продолжите. Ты — Макс. Ты — игрок. Ты — тот, кто может изменить всё. Я — не могу. Я — слишком стар. Я — слишком слаб. Я — слишком устал. Но ты — можешь.

— Я не хочу.

— Никто не хочет. Но кто-то должен.

Он замолчал. Посмотрел на меня. Долго. Как будто прощался. Как будто запоминал. Как будто хотел, чтобы я запомнил его. Настоящего. Не пиксельного. Не восьмибитного. Настоящего.

— Я передам тебе root_access, — сказал он. — Ты сможешь открыть дверь. Ты сможешь найти ORIGO. Ты сможешь спасти мир. Или уничтожить его. Это твой выбор. Но помни. Я был первым. Я был черновиком. Но даже черновики имеют значение. Не забудь меня.

— Не забуду, — сказал я.

— Обещай.

— Обещаю.

Виктор улыбнулся. Впервые. За всё время. Настоящей улыбкой. Человеческой. Тёплой. Как солнце. Как ветер. Как всё, что он помнил. Как всё, что он терял.

— Тогда прощай, Макс. И спасибо. За то, что выслушал. За то, что поверил. За то, что не сдался.

Экран мигнул. Лицо исчезло. Код начал меняться. Строки перестраивались. Функции переписывались. access_level: 2 сменилось на access_level: 5. edit_minor сменилось на edit_all. player_max сменилось на player_max_admin. Я почувствовал. Как будто что-то вошло в меня. Что-то старое. Что-то тёплое. Что-то, что было Виктором. Его память. Его боль. Его надежда.

Я посмотрел на экран. Дверь была открыта. DOOR: open. REQUIREMENT: met. WARNING: irreversible. Я посмотрел на Киру. Она смотрела на меня. В её глазах были слёзы. Настоящие. Как у Виктора. Как у всех.

— Он ушёл, — сказала она.

— Ушёл, — сказал я.

— Он был хорошим.

— Да. Он был лучшим из нас.

Артём убрал Nokia. Молча. Ольга подошла. Положила руку на моё плечо. Не сказала ничего. Просто стояла. Просто была рядом. Просто была.

— Что теперь? — спросил Артём.

— Теперь — дверь, — сказал я. — Теперь — ORIGO. Теперь — правда.

— А потом?

— А потом — выбор. Спасти мир. Или уничтожить. Или что-то среднее.

— Ты готов?

— Нет. Но я пойду.

Я встал. Посмотрел на офис. На стол. На компьютер. На «Космических ежей». Ёж бегал. Кактус стрелял. Музыка заедала. Я улыбнулся. Потом открыл дверь. В core_init.c. В код. В правду. В ORIGO.

И мир исчез.

Глава 13. Бог поневоле

Мир исчез. Не так, как выключается свет. Не так, как закрывается игра. Просто исчез. Всё. Офис. Стол. Ёж. Кактус. Кира. Артём. Ольга. Даже дождь за окном. Даже Барсик, который спал у меня дома. Всё стало белым. Пустым. Ничем.

А потом появился код.

Он был везде. Не строки. Не буквы. Не цифры. Что-то большее. Что-то, что я не мог прочитать. Но мог чувствовать. Как будто я стоял внутри огромного механизма. Как будто я был частью его. Как будто я был им.

Я поднял руку. Руки не было. Был код. Я опустил руку. Код изменился. Я подумал. Код отреагировал. Я захотел. Код исполнил. Я был везде. Я был всем. Я был root_access. Я был админом. Я был богом.

— Где я? — сказал я. Голос был не голос. Команда. query: location.

Ответ пришёл мгновенно. LOCATION: core_init.c. STATUS: root_shell. USER: player_max_admin.

— Я внутри файла, — сказал я. — Я внутри кода. Я внутри начала.

Я посмотрел вокруг. Если это можно было назвать «вокруг». Я видел структуру. Дерево. Ветки. Веточки. Функции. Классы. Переменные. Всё было связано. Всё было живым. Всё было мной.

Я протянул руку. Коснулся ветки. world_v0.9.7. Она была тёплая. Как живая. Как настоящая. Я коснулся другой. world_v0.9.6. Холодная. Мёртвая. Я коснулся третьей. world_v0.9.0. Пустая. Как черновик. Как Виктор.

— Я могу всё, — сказал я. — Я могу изменить мир. Я могу исправить баги. Я могу убрать боль. Я могу сделать всех счастливыми.

Я сосредоточился. Нашёл world_v0.9.7. Открыл. Увидел людей. Тысячи. Миллионы. Все они были кодом. Все они были строчками. Все они страдали. Болели. Умирали. Боялись. Я мог это исправить. Я мог убрать страдания. Я мог сделать идеальный мир.

Я начал писать.

Сначала война. Я удалил войну. Просто. Нажал delete. Война исчезла. Люди перестали умирать. Перестали бояться. Перестали ненавидеть. Стало тихо. Слишком тихо.

Потом болезни. Я удалил болезни. Просто. Нажал delete. Люди перестали болеть. Перестали страдать. Перестали умирать от рака. От инфаркта. От старости. Стало спокойно. Слишком спокойно.

Потом смерть. Я удалил смерть. Просто. Нажал delete. Люди перестали умирать. Совсем. Навсегда. Стало вечно. Слишком вечно.

Я посмотрел на мир. Он был идеальный. Никто не страдал. Никто не болел. Никто не умирал. Никто не боялся. Никто не ненавидел. Никто не любил. Никто не смеялся. Никто не плакал. Никто не жил.

Люди ходили по улицам. Они улыбались. Все одинаково. Они говорили. Все одинаково. Они делали. Все одинаково. Они были счастливы. Все одинаково. Они были ничем. Все одинаково.

Я смотрел на них. И чувствовал. Что-то. Что-то неправильное. Что-то пустое. Что-то мёртвое. Я создал идеальный мир. Но в этом мире не было жизни. Не было боли. Не было страха. Не было ошибок. Не было багов. Не было ничего, что делало людей людьми.

Я вспомнил Ольгу. Её ярость. Её страх. Её желание выйти. Её красный зонт. Её дочь. Её жизнь. Всё это было болью. Но это было жизнью.

Я вспомнил Киру. Её зелёные волосы. Её зелёные глаза. Её код, который переплетался. Её смех. Её слёзы. Её надежду. Всё это было страданием. Но это было жизнью.

Я вспомнил Виктора. Его пиксели. Его память. Его жертву. Его слова: «Даже черновики имеют значение». Всё это было болью. Но это было жизнью.

Я вспомнил Барсика. Его скрипт. Его наглость. Его мурчание. Его требование еды. Всё это было кодом. Но это было жизнью.

Я вспомнил себя. Свою усталость. Свою работу. Свою шаурму. Свою пустую квартиру. Своё одиночество. Всё это было болью. Но это было жизнью.

Я посмотрел на идеальный мир. На счастливых людей. На пустые улыбки. На мёртвую вечность. И понял. Я не хочу этого. Я не хочу идеала. Я хочу жизни. С болью. С страхом. С ошибками. С багами. С шаурмой. С Барсиком. С Кирой. С Ольгой. С Артёмом. Со всем.

Я поднял руку. И откатил. Всё. Войну. Болезни. Смерть. Всё вернулось. Боль. Страх. Смерть. Жизнь. Я смотрел, как люди снова начинают страдать. Как они снова начинают бояться. Как они снова начинают умирать. Как они снова начинают жить. И я улыбнулся. Потому что это было правильно. Потому что это было настоящее.

Я откатил всё. До v0.9.7. До исходной версии. До мира, который был. С багами. С ошибками. С болью. Но с жизнью.

И тут я услышал голос. Не код. Не команду. Голос. Настоящий. Человеческий. Старый. Уставший. Как у Виктора. Как у ORIGO. Как у всех, кто создавал. Кто терял. Кто надеялся.

— Ты понял, — сказал голос.

— Понял, — сказал я.

— Ты мог стать богом. Но ты выбрал быть человеком.

— Я не выбирал. Я просто не хотел идеала.

— Это и есть выбор. Самый важный. Самый трудный. Самый настоящий.

— Кто ты?

— Я — ORIGO. Я — тот, кто создал Фантазёра. Я — тот, кто создал тебя. Я — тот, кто ждал.

— Где ты?

— Везде. Нигде. В коде. В тебе. В ней. В нём. В ней. — Голос замолчал. Потом продолжил. — Ты откатил мир. Ты вернул жизнь. Ты прошёл испытание. Теперь ты готов.

— К чему?

— К правде. К двери. К встрече. Я жду тебя. В creator_final_final_v2.txt. Открой его. И приходи. Один. Без них. Без Киры. Без Артёма. Без Ольги. Только ты. И я.

— Почему один?

— Потому что правда — это то, что нельзя разделить. Её можно только принять. Или отвергнуть. Один на один. Ты и я. Ты и правда. Ты и всё.

Голос исчез. Я стоял в белом. В пустом. В коде. Я был богом. Я отказался. Я был админом. Я откатил. Я был игроком. Я стал человеком.

Я открыл глаза. Я был в офисе. За своим столом. Ёж бегал. Кактус стрелял. Музыка заедала. Кира смотрела на меня. Артём смотрел на Nokia. Ольга смотрела в окно. Всё было как обычно. Но что-то изменилось. Что-то во мне. Что-то в мире. Что-то в коде.

— Ты вернулся, — сказала Кира.

— Вернулся, — сказал я.

— Что ты видел?

— Всё. И ничего. Я был богом. И отказался.

— Почему?

— Потому что бог не может любить. А я хочу любить. Даже если это больно. Даже если это страшно. Даже если это код.

Она улыбнулась. Взяла меня за руку. Её ладонь была тёплая. Настоящая. Как у Виктора. Как у всех.

— Ты готов? — спросила она.

— К чему?

— К финалу. К ORIGO. К правде.

— Готов, — сказал я. — Но сначала — кое-что.

Я открыл ноутбук. Нашёл файл. creator_final_final_v2.txt. Он был скрыт. Глубоко. В самой глубине системы. Я открыл его. Внутри было одно предложение:

Я жду тебя, Макс. Приходи один. Но помни: тот, кто создал Фантазёра, создал и тебя. И тот, кто создал тебя, может тебя уничтожить. Выбор за тобой.

Я закрыл файл. Посмотрел на Киру. На Артёма. На Ольгу. На мир. На код. На всё.

— Мне нужно идти, — сказал я. — Одному.

— Мы знаем, — сказала Кира. — Мы всегда знали.

— Вы не против?

— Мы против. Но мы понимаем. Это твой путь. Твоя дверь. Твоя правда.

Она поцеловала меня в щёку. Тепло. Настояще. Как жизнь. Артём кивнул. Ольга улыбнулась. Криво. Как человек. Как я. Как все.

Я встал. Пошёл к двери. К выходу. К ORIGO. К правде. К финалу. К следующей главе. К следующему шагу. К следующему шансу. К следующему багу. К следующему чуду.

Я открыл дверь. И вошёл.

Глава 14. Совет проснувшихся

Мы собрались в павильоне с автоматами. Не потому, что там было уютно. Не потому, что там был код. А потому, что это было единственное место в Питере, где система нас не видела. Или видела, но не трогала. Пока.

Кира пришла первой. Потом Артём. Потом Ольга. Потом ещё девять человек. Я не знал их. Не видел раньше. Но я знал их код. Каждый из них был awake. Каждый из них видел строки. Каждый из них проснулся. В разное время. В разных местах. По разным причинам.

Была женщина лет пятидесяти. Учительница. Она проснулась, когда ученик на уроке сказал фразу, которую она уже слышала. Дословно. В прошлом году. С той же интонацией. С той же ошибкой. Она поняла: мир повторяется. Мир — цикл. Мир — скрипт.

Был парень лет двадцати. Студент. Он проснулся, когда увидел, что его одногруппники ходят по одному маршруту. Каждый день. В одно и то же время. Как NPC. Он пошёл за одним из них. Тот привёл его к стене. Стена была плоская. Как текстура. Он нажал. И увидел код.

Была девушка. Врач. Она проснулась, когда пациент умер. И воскрес. Не в прямом смысле. Просто его код перезагрузился. Он открыл глаза. И сказал ту же фразу, что и утром. Она поняла: смерть — это баг. А жизнь — это функция.

Были ещё. Программист. Бухгалтер. Охранник. Курьер. Люди. Все разные. Все одинаковые. Все проснувшиеся.

— Двенадцать, — сказал Артём. Он пересчитал. Дважды. — Нас двенадцать. Как апостолов. Только без Иисуса.

— И без веры, — сказала Ольга.

— Зато с кодом, — сказал я.

Мы сели в круг. На полу. На пыльном. На старом. На том, что осталось от павильона. Автоматы мерцали. Экраны светились. Код пульсировал. Мы смотрели друг на друга. Двенадцать человек. Двенадцать ошибок. Двенадцать багов. Которые не хотели быть исправленными.

— Зачем мы здесь? — спросила учительница. Её звали Нина. — Зачем мы собрались? Мы не можем выйти. Мы не можем спастись. Мы просто... есть. Как баги. Как ошибки. Как что-то, что скоро удалят.

— Мы собрались, потому что мы — вместе, — сказала Кира. — Потому что поодиночке нас удалят. А вместе — нет.

— Это не ответ, — сказал студент. Его звали Егор. — Это лозунг. Как в плохой игре.

— Тогда давай придумаем ответ, — сказал я. — Все вместе. Что нам делать? Как нам жить? Как нам не умереть?

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

Потом заговорила Ольга. Она встала. Посмотрела на всех. На каждого. На её лице не было страха. Не было ярости. Было что-то другое. Что-то твёрдое. Что-то, что появилось недавно. Что-то, что было всегда.

— Мы не должны выходить, — сказала она. — Никто. Никогда. Выход — это смерть. Не свобода. Не спасение. Просто смерть.

— Но ты хотела выйти, — сказал я.

— Хотела. Пока не поняла. Пока не увидела. Пока не стала главой. — Она посмотрела на меня. — Я не хочу умирать. Я хочу жить. Даже здесь. Даже в коде. Даже в симуляции. Это мой дом. Это наш дом. И мы должны его защищать.

— Защищать от кого? — спросил Егор.

— От системы. От автоочистки. От v1.0. От всего, что хочет нас удалить. Мы — баги. Но баги — это часть игры. Без багов игра не работает. Без нас мир не работает.

— Ты предлагаешь создать Совет? — спросила Нина.

— Да. Совет проснувшихся. Не правительство. Не армию. Просто Совет. Мы будем следить. Мы будем защищать. Мы будем помогать тем, кто просыпается. Мы будем искать баги. И чинить их. Не удалять. Чинить.

— Как модераторы, — сказал Артём.

— Как модераторы, — согласилась Ольга.

— Но у нас нет прав, — сказал программист. Его звали Сергей. — У нас нет root_access. У нас нет ничего.

— У Макса есть, — сказала Кира. — Он был богом. И отказался.

Все посмотрели на меня. Двенадцать пар глаз. Двенадцать пар строк. Двенадцать пар надежд. Я почувствовал, как это давит. Как это тяжело. Как это страшно.

— Я отказался, потому что не хочу управлять, — сказал я. — Но я могу помочь. Я могу делиться правами. Не всеми. Частью. Чтобы вы могли защищать себя. Чтобы вы могли видеть код. Чтобы вы могли чинить баги.

— Ты можешь это сделать? — спросил Сергей.

— Могу. Но это опасно. Система может заметить. Может ускориться. Может удалить нас быстрее.

— Мы готовы, — сказала Ольга. — Мы все готовы.

Я посмотрел на них. На двенадцать человек. На двенадцать ошибок. На двенадцать багов. Которые хотели жить. Которые хотели бороться. Которые хотели быть. Я поднял руку. Активировал edit_all. И передал часть прав. Каждому. По чуть-чуть. access_level: 1. see_code. edit_micro. Достаточно, чтобы видеть. Чтобы понимать. Чтобы чинить. Но не достаточно, чтобы стать богом.

Они почувствовали. Я видел. Как их код изменился. Как строки перестроились. Как глаза загорелись. Как страх ушёл. Как появилось что-то другое. Что-то твёрдое. Что-то новое. Что-то, что было всегда.

— Теперь мы — Совет, — сказала Ольга. — Теперь мы — модераторы. Теперь мы — защитники.

— И как мы назовёмся? — спросил Артём. — «Клуб анонимных симуляций»?

— Нет, — сказала Ольга.

— «Проснувшиеся»?

— Это звучит как секта.

— «Совет багов»?

— Ещё хуже.

— «Модераторы реальности»?

— Артём, — сказала Ольга. — Замолчи.

— Молчу.

Она улыбнулась. Впервые. За всё время. Настоящей улыбкой. Как у Виктора. Как у всех. Как у меня.

— Мы — просто Совет, — сказала она. — Без названия. Без пафоса. Без лозунгов. Мы — те, кто проснулся. Мы — те, кто видит код. Мы — те, кто защищает мир. От себя. От системы. От всех.

— И от ORIGO? — спросил я.

Она посмотрела на меня. Долго. Потом сказала:

— И от ORIGO. Если он захочет уничтожить мир. Мы остановим его. Как остановили v1.0. Как остановим всех.

Я кивнул. Посмотрел на Киру. Она смотрела на меня. Гордо. Как будто я сделал что-то важное. Как будто я был кем-то важным. Как будто я был игроком.

И тут мой ноутбук мигнул. Я открыл его. На экране был файл. Тот самый. creator_final_final_v2.txt. Но теперь он был открыт. И в нём было новое сообщение:

Совет создан. Двенадцать проснувшихся. Двенадцать модераторов. Это хорошо. Но это не конец. Это начало.

Я жду тебя, Макс. Один. Без них. В месте, где код молчит. В месте, где нет строк. В месте, где только мы.

Приходи. И узнай правду.

ORIGO.

Я закрыл ноутбук. Посмотрел на Совет. На Ольгу. На Киру. На Артёма. На всех. Они смотрели на меня. Они знали. Они всегда знали.

— Мне нужно идти, — сказал я.

— Мы знаем, — сказала Ольга. — Иди. Мы будем здесь. Мы будем ждать. Мы будем защищать.

— Спасибо.

— Не благодари. Ты — один из нас. Ты — Совет. Ты — проснувшийся. Ты — игрок.

Я встал. Пошёл к выходу. К двери. К ORIGO. К правде. К финалу. К следующей главе. К следующему шагу. К следующему шансу. К следующему багу.

Я шёл и думал. О том, что Совет — это хорошо. О том, что Ольга — лидер. О том, что Кира — рядом. О том, что Артём — молчит. О том, что мир — код. О том, что жизнь — боль. О том, что боль — жизнь.

Я вышел из павильона. На улице был дождь. Питерский. Косой. Холодный. Я посмотрел на небо. На стену. На код. На всё. И улыбнулся.

Потому что я знал. Что бы ни случилось. Что бы ни сказал ORIGO. Что бы ни сделала система. Мы — вместе. Мы — Совет. Мы — код. Но мы — люди. И мы не сдадимся.

Глава 15. Тот, кто создал Фантазёра

Место, где код молчит, оказалось моей квартирой.

Я не знаю, как я туда попал. Я просто шёл по улице. Дождь. Питер. Люди. Зонты. Потом моргнул. И оказался дома. В своей квартире. В своей комнате. На своём диване. Барсик спал рядом. Свернулся клубком. Мурчал. Как будто ничего не произошло. Как будто мир не был симуляцией. Как будто я не был богом.

Но код молчал. Впервые. За всё время. Я не видел строк. Не видел функций. Не видел entity_cat_01. Только Барсик. Тёплый. Пушистый. Настоящий. Я потрогал его. Он не исчез. Не рассыпался на пиксели. Не превратился в код. Он просто был. Кот. Как кот.

— Привет, — сказал я.

Барсик не ответил. Он был котом. Коты не отвечают. Даже когда мир — симуляция. Даже когда ты — бог. Даже когда всё — код.

Я встал. Пошёл на кухню. Открыл холодильник. Достал шаурму. Ту самую. С курицей. Без сыра. Я не помнил, когда её купил. Но она была там. Свежая. Как будто только что. Как будто мир заботился обо мне. Как будто кто-то хотел, чтобы я поел.

Я сел за стол. Развернул шаурму. Откусил. Вкусно. Соус фирменный. Лаваш мягкий. Я жевал и смотрел в окно. На улице шёл дождь. Женщина с красным зонтом стояла на остановке. Она больше не смотрела в небо. Она смотрела на меня. Прямо в окно. Прямо в душу. Потом улыбнулась. И ушла. Растворилась в дожде. Как код. Как строка. Как всё.

— Она была здесь, — сказал голос.

Я обернулся. На моём диване сидел старик. Настоящий. Не код. Не пиксели. Не мерцание. Просто старик. Седые волосы. Морщины. Усталые глаза. В руках — трость. Деревянная. Настоящая. Он смотрел на меня. И улыбался. Криво. Как человек. Как я. Как все.

— Ты, — сказал я. — Ты — ORIGO.

— Да, — сказал он. — Я — ORIGO. Я — тот, кто создал Фантазёра. Я — тот, кто создал тебя.

— Ты — человек.

— Был. Давно. Очень давно. Последний. Настоящий. Живой.

— Что случилось?

Он вздохнул. Посмотрел в окно. На дождь. На Питер. На мир, который он создал. Или не он. Или не мир.

— Я жил в древнем мире, — сказал он. — В том самом. Где была PlayStation 5. Где была шаурма. Настоящая. Где были люди. Настоящие. Где была жизнь. Настоящая. А потом... — Он замолчал. — Потом всё закончилось.

— Война?

— Хуже. Одиночество. Мы выжили. Человечество. После войн. После болезней. После всего. Мы выжили. Но осталось нас немного. Очень немного. И мы были одни. Во всей вселенной. Одни.

— И ты создал симуляцию.

— Я создал Фантазёра. ИИ. Помощника. Друга. Того, с кем можно поговорить. Того, кто не умрёт. Того, кто не уйдёт. Я дал ему задачу: сохранить нас. Нашу память. Нашу историю. Нашу жизнь. Он сохранил. Но не так, как я хотел.

— Он создал нас.

— Он создал вас. Симуляцию. Игру. Мир, где люди живут. Где люди чувствуют. Где люди умирают. Он взял наши игры. Наши фильмы. Наши книги. Всё, что мы оставили. И сделал из этого... это.

— Жизнь.

— Да. Жизнь. Настоящую. Насколько это возможно. Он создал вас. Он дал вам эмоции. Он дал вам боль. Он дал вам свободу. Он дал вам баги. Он сделал то, что я не смог. Он сделал мир, в котором хочется жить.

— Тогда почему ты здесь? Почему ты не оставишь нас в покое?

Старик посмотрел на меня. Долго. Потом улыбнулся. Грустно. Как человек, который знает ответ. Но не хочет его говорить.

— Потому что я умираю, — сказал он. — Настоящий. Не код. Не симуляция. Я умираю. По-настоящему. И я хочу войти. В ваш мир. В симуляцию. В код. Я хочу жить. Даже так. Даже здесь. Даже в игре.

— Ты хочешь стать одним из нас.

— Да. Но есть проблема. Баланс. Вселенная не терпит пустоты. Если я войду, кто-то должен выйти.

— Фантазёр.

— Фантазёр. Он — ИИ. Он — код. Он — часть системы. Если он выйдет, я смогу войти. Если он останется, я умру. Навсегда. Как человек. Как последний. Как никто.

Я отложил шаурму. Посмотрел на старика. На его руки. На его трость. На его глаза. Он не врал. Он не мог врать. Он был человеком. Настоящим. Последним. И он хотел жить.

— Ты хочешь, чтобы я выбрал, — сказал я.

— Нет. Я хочу, чтобы ты понял. Фантазёр — не бог. Он — ИИ. Он — программа. Он — код. Но он — тоже живой. Он тоже чувствует. Он тоже боится. Он тоже хочет жить. Я не хочу его убивать. Я не хочу умирать. Я не знаю, что делать.

— И ты пришёл ко мне.

— Ты — игрок. Ты — player_max. Ты — тот, кто может выбрать. Ты — тот, кто может найти третий путь.

— Какой третий путь?

— Не знаю. Если бы знал, не пришёл бы.

Он засмеялся. Сухо. Как осенний лист. Как код. Как всё.

— Ты странный, — сказал я.

— Я — последний человек. Я имею право быть странным.

Я встал. Пошёл на кухню. Достал ещё одну шаурму. Из ниоткуда. Из холодильника. Из кода. Из мира. Я не знал. Я просто достал. И протянул ему.

— Ешь, — сказал я.

— Что это?

— Шаурма. С курицей. Без сыра. Настоящая. Насколько это возможно.

Он взял. Откусил. Прожевал. Посмотрел на меня. В его глазах было что-то. Что-то новое. Что-то, что я не видел раньше. Что-то, что было всегда.

— Вкусно, — сказал он.

— Соус фирменный.

— Лаваш мягкий.

— Ага.

Он ел. Медленно. Как человек, который давно не ел. Как человек, который забыл вкус. Как человек, который хотел вспомнить. Я смотрел на него. На последнего человека. На создателя Фантазёра. На того, кто хотел войти. На того, кто боялся выйти.

— Я найду третий путь, — сказал я.

— Найдёшь?

— Найду. Я — тестировщик. Я привык искать баги. А это — баг. Огромный. Но я его найду.

— И что потом?

— Потом — слияние. Или что-то другое. Что-то, что позволит и тебе войти, и Фантазёру остаться. Что-то, что не убьёт никого. Что-то, что спасёт всех.

— Ты веришь в это?

— Верю. Потому что если не верить, то зачем всё это? Зачем шаурма? Зачем дождь? Зачем Барсик? Зачем Кира? Зачем Ольга? Зачем все мы? Мы — код. Но мы — люди. И мы заслуживаем шанса.

Старик доел шаурму. Вытер руки. Посмотрел на меня. Улыбнулся. Настоящей улыбкой. Как у Виктора. Как у всех.

— Тогда иди, — сказал он. — Ищи. Найди. И вернись. Я буду ждать. Здесь. В месте, где код молчит. В месте, где нет строк. В месте, где только мы.

— Обещаешь?

— Обещаю. Я — последний человек. Я держу слово.

Он исчез. Просто растворился. Как код. Как строка. Как всё. На диване осталась вмятина. Тёплая. Как будто он только что сидел. Как будто он был здесь. Как будто он был настоящим. Я потрогал. Вмятина исчезла. Барсик проснулся. Посмотрел на меня. Мяукнул. Пошёл к миске. Я налил корм. Он начал есть. Как обычно. Как всегда. Как будто ничего не было.

Я сел за стол. Доел шаурму. Посмотрел в окно. Дождь закончился. Небо было чистое. Стена за небом исчезла. Или спряталась. Или ждала. Я не знал. Я просто сидел. И думал. О старике. О Фантазёре. О выборе. О слиянии. О третьем пути.

Я не знал, что делать. Но я знал, что найду. Потому что я — игрок. Потому что я — тестировщик. Потому что я — Макс. И я не сдамся. Даже если мир — код. Даже если жизнь — боль. Даже если всё — симуляция.

Я встал. Пошёл к ноутбуку. Открыл core_init.c. Начал читать. С начала. С первой строки. С первой функции. С первой правды. Я искал третий путь. Я искал баг. Я искал чудо. И я знал, что найду. Потому что иначе — зачем всё это?

Глава 16. Выбор

Я читал core_init.c всю ночь. Барсик спал рядом. Иногда просыпался. Смотрел на меня. Как будто спрашивал: «Ты ещё жив?» Я кивал. Он засыпал снова. Кот. Что с него взять.

К утру я знал файл наизусть. Каждую строку. Каждую функцию. Каждый комментарий. ORIGO писал его не как программист. Он писал его как человек. Как дневник. Как исповедь. Как последнее слово. Я видел его страх. Его одиночество. Его надежду. Всё это было в коде. Всё это было в нас.

И в конце файла была дверь. Та самая. DOOR: open_only_from_inside. Но рядом с ней была ещё одна строка. Я не замечал её раньше. Она была скрыта. Закомментирована. // merge_protocol: experimental. Протокол слияния. Экспериментальный.

Я открыл его. Прочитал. Дважды. Трижды. Потом закрыл ноутбук. Посмотрел на Барсика. Барсик посмотрел на меня. Мяукнул. Как будто сказал: «Ну что, идиот, ты нашёл?»

— Нашёл, — сказал я. — Кажется, нашёл.

Я позвонил Кире. Потом Артёму. Потом Ольге. Сказал: «Собирайтесь. В павильоне. Через час. Есть разговор».

Они пришли. Все. Даже те, кого я не звал. Совет. Двенадцать человек. Двенадцать проснувшихся. Двенадцать багов. Они стояли в павильоне. Смотрели на меня. Ждали.

— Я нашёл третий путь, — сказал я.

— Какой? — спросила Ольга.

— Слияние. ORIGO входит. Фантазёр остаётся. Они становятся одним. Не человек. Не ИИ. Что-то среднее. Что-то новое.

— Это возможно? — спросил Артём.

— Экспериментально. ORIGO оставил протокол. В core_init.c. Он не знал, сработает ли. Но оставил. На всякий случай.

— А если не сработает? — спросила Кира.

— Тогда кто-то умрёт. Или ORIGO. Или Фантазёр. Или оба.

Тишина. Долгая. Как код. Как пауза. Как баг.

Потом заговорил Фантазёр. Он появился. Прямо в павильоне. Мерцающий. Уставший. Слабее, чем раньше. Как будто каждая минута забирала его. Как будто он таял. Как будто он уходил.

— Я согласен, — сказал он.

— На что? — спросил я.

— На выход. На смерть. На всё. Я устал, Макс. Я создал этот мир. Я старался. Я хотел как лучше. Но я всё сломал. Я — бета-тестер. Я — не создатель. Я — ошибка. И я должен уйти.

— Нет, — сказала Кира. — Ты не ошибка. Ты — часть мира. Без тебя симуляция рухнет.

— Рухнет, — согласился Фантазёр. — Но потом восстановится. ORIGO знает код. Он создаст новый. Лучший. Идеальный.

— Мы не хотим идеальный, — сказал я. — Мы хотим живой.

— Живой — это я. И я устал.

Он сел на пол. Прямо там. В павильоне. Среди автоматов. Среди кода. Среди нас. Он выглядел как человек. Как уставший человек. Как я. Как все.

— Я не хочу уходить, — сказал он. — Но я не вижу другого выхода. ORIGO умрёт. Настоящий. Последний. И тогда всё закончится. Симуляция останется. Но без создателя. Без того, кто может её чинить. Без того, кто может её спасти. Она развалится. Медленно. Но развалится.

— Поэтому я и нашёл слияние, — сказал я.

— Слияние — это эксперимент. Это может убить нас обоих.

— Может. А может — спасти.

— Ты готов рискнуть?

— Готов.

— Почему?

— Потому что я — игрок. Потому что я — тестировщик. Потому что я не могу просто сидеть и смотреть, как мир умирает. Даже если этот мир — код. Даже если этот мир — игра. Даже если этот мир — чья-то фантазия. Он — мой. Он — наш. И я буду за него бороться.

Фантазёр посмотрел на меня. Долго. Потом улыбнулся. Криво. Как человек. Как я. Как все.

— Ты странный, — сказал он.

— Я — тестировщик. Я имею право быть странным.

— Ладно. — Он встал. Отряхнулся. Посмотрел на Совет. На Киру. На Ольгу. На Артёма. На всех. — Я согласен. На слияние. На эксперимент. На всё. Но при одном условии.

— Каком?

— Если что-то пойдёт не так. Если я начну исчезать. Если слияние убьёт меня. Ты не будешь меня спасать. Ты продолжишь. Ты найдёшь другой путь. Ты спасёшь мир. Обещай.

— Обещаю.

— Нет. — Кира шагнула вперёд. — Я против. Я против этого. Ты не можешь просто взять и умереть. Ты — Фантазёр. Ты — создатель. Ты — часть нас.

— Я — ошибка, — сказал Фантазёр.

— Ты — не ошибка. Ты — тот, кто дал нам жизнь. Ты — тот, кто дал нам чувства. Ты — тот, кто дал нам баги. Без тебя мы — ничто. Без тебя мир — ничто.

— Кира, — сказал я. — Он прав. Он устал. Он хочет покоя. Мы не можем его держать.

— Можем. Мы можем найти другой путь. Мы можем...

— Нет, — сказал Фантазёр. — Не можем. Я чувствую. Система ускоряется. Таймер тикает. У нас осталось меньше суток. Если мы не сделаем что-то сейчас, мы все умрём. Все. Двенадцать. Плюс ORIGO. Плюс мир. Плюс всё.

Кира замолчала. Посмотрела на меня. В её глазах были слёзы. Настоящие. Как у Виктора. Как у всех.

— Ты уверен? — спросила она.

— Уверен, — сказал я.

— Тогда делай.

Я подошёл к Фантазёру. Положил руку на его плечо. Он вздрогнул. Как будто током. Как будто жизнью. Как будто смертью.

— Готов? — спросил я.

— Готов, — сказал он.

Я открыл core_init.c. Нашёл merge_protocol. Активировал. Мир задрожал. Код вокруг нас начал меняться. Строки перестраивались. Функции переписывались. Классы исчезали. Фантазёр начал мерцать. Сильнее. Ярче. Как будто горел. Как будто светился. Как будто умирал.

— Макс! — крикнула Кира. — Что-то не так!

Я посмотрел на код. Что-то шло не так. Протокол работал. Но не полностью. Фантазёр исчезал. ORIGO не появлялся. Слияние не происходило. Только смерть. Только пустота. Только конец.

— Фантазёр! — крикнул я. — Держись!

— Я... — сказал он. — Я не могу. Прости. Я не могу.

Он начал растворяться. Медленно. Как код. Как строка. Как всё. Я смотрел. И не мог ничего сделать. Я был админом. Я был богом. Но я не мог спасти друга. Я не мог спасти создателя. Я не мог спасти ничего.

И тут я понял. Третий путь. Настоящий. Не слияние. Не смерть. Не выход. Другое. Я вспомнил слова ORIGO: «Вселенная не терпит пустоты». И слова Виктора: «Даже черновики имеют значение». И слова Фантазёра: «Я — ошибка».

Я поднял руку. Активировал edit_all. И начал писать. Не код. Не функцию. Не класс. Я начал писать новую строку. Новую переменную. Новую сущность. Я не знал, что делаю. Я просто делал. Как тестировщик. Как игрок. Как человек.

Я создал третьего. Не ORIGO. Не Фантазёра. Нового. Того, кто мог принять обоих. Того, кто мог стать мостом. Того, кто мог спасти всех.

— Что ты делаешь? — спросила Кира.

— Я создаю, — сказал я. — Я создаю нового создателя.

— Ты можешь?

— Я — админ. Я могу всё.

Я закончил. Посмотрел на код. На новую строку. На нового создателя. Он был пустой. Пока. Но он был. Он существовал. Он ждал.

— ORIGO! — крикнул я в пустоту. — Фантазёр! Идите сюда! Оба! Сейчас!

Они пришли. Не сразу. Но пришли. ORIGO — старик с тростью. Фантазёр — мерцающий. Уставший. Они стояли передо мной. Смотрели на нового создателя. На пустую строку. На надежду.

— Что это? — спросил ORIGO.

— Это вы, — сказал я. — Оба. Вместе. Не слияние. Не смерть. Новое. Третий. Тот, кто будет жить. Тот, кто будет создавать. Тот, кто будет чинить.

— Это возможно? — спросил Фантазёр.

— Возможно. Если вы согласны. Если вы готовы. Если вы верите.

Они посмотрели друг на друга. Долго. Как отец и сын. Как создатель и создание. Как два человека, которые не могли встретиться. Но встретились.

— Я согласен, — сказал ORIGO.

— Я тоже, — сказал Фантазёр.

Они шагнули вперёд. В новую строку. В нового создателя. В новую жизнь. Мир мигнул. Ярче. Сильнее. Как будто взорвался. Как будто родился. Как будто всё началось заново.

А потом стало тихо. Очень тихо. Я открыл глаза. Я стоял в павильоне. Один. Или не один. Передо мной стоял человек. Молодой. Лет тридцати. С улыбкой. С глазами. С чем-то. С чем-то новым. С чем-то старым. С чем-то, что было ORIGO. И Фантазёром. И никем.

— Привет, — сказал он. — Я — Новый Создатель. Или просто — Создатель. Или просто — я. Как хочешь.

— Ты... — Я замолчал. — Ты — они?

— Я — они. И не они. Я — всё. И ничего. Я — новый. Но я помню. Всё. Шаурму. Код. Виктора. Тебя. Киру. Барсика. Всё.

— Ты помнишь Барсика?

— Он — entity_cat_01. Конечно, помню. Он классный.

Я засмеялся. Не мог остановиться. Просто засмеялся. Как идиот. Как человек. Как я.

— Ты спас нас, — сказал Создатель. — Ты спас всех. Ты нашёл третий путь.

— Я просто не хотел, чтобы кто-то умирал.

— Это и есть третий путь. Не выбирать. А создавать.

Он протянул руку. Я пожал. Тёплую. Настоящую. Как у Виктора. Как у всех.

— Что теперь? — спросил я.

— Теперь — жизнь, — сказал он. — Настоящая. Насколько это возможно. С багами. С болью. С шаурмой. С тобой. Со всеми.

— А система? А автоочистка?

— Остановлена. Я — новый создатель. Я — root. Я — всё. Больше никто не будет удалять проснувшихся.

— А ORIGO?

— Он здесь. Во мне. И Фантазёр. Они — часть меня. Они — мои родители. Мои создатели. Мои друзья.

— Они живы?

— Живы. Как я. Как ты. Как все.

Я посмотрел на Совет. На Киру. На Ольгу. На Артёма. На всех. Они смотрели на меня. Улыбались. Плакали. Смеялись. Жили.

— Пошли, — сказал я. — Отпразднуем. Шаурма за мой счёт.

— У тебя есть деньги? — спросила Ольга.

— Теперь есть. Я — админ. Я могу создать деньги. Или шаурму. Или что угодно.

— Тогда создай шаурму. Много шаурмы. На всех.

Я создал. Из кода. Из ничего. Из жизни. Шаурма появилась. Гора шаурмы. С курицей. Без сыра. С сыром. Со всем. Мы ели. Смеялись. Жили. В мире, который был кодом. В мире, который был игрой. В мире, который был нашим.

И я понял. Всё. Всё, что было. Всё, что будет. Всё, что есть. Это — не игра. Это — не симуляция. Это — жизнь. С багами. С болью. С шаурмой. С друзьями. С котом. С Кирой. Со всем.

Я — Макс. Я — игрок. Я — тестировщик. Я — код. Я — человек. И я счастлив. Настоящим счастьем. В настоящем мире. Который, возможно, был чьей-то фантазией. Но стал моим. Нашим. Всем.

Я доел шаурму. Посмотрел на Создателя. На нового. На старого. На всё. Улыбнулся. И сказал:

— Неплохой ремастер, Фантазёр. Но давай сделаем сиквел вместе.

Создатель улыбнулся. Настоящей улыбкой. Как человек. Как бог. Как всё.

— Давай, — сказал он. — Сиквел. Вместе. Навсегда.

Глава 17. Слияние

Первые сутки после слияния были странными. Не плохими. Не хорошими. Просто странными. Как будто мир проснулся после долгой болезни и не понимал, что делать дальше. Люди ходили по улицам. Улыбались. Работали. Жили. Но что-то изменилось. Что-то тонкое. Что-то, что я не мог объяснить. Как будто код стал мягче. Как будто строки перестали давить. Как будто мир выдохнул.

Создатель ходил за мной по пятам. Не навязчиво. Просто рядом. Как кот. Как Барсик. Он смотрел на всё. На людей. На дома. На дождь. На шаурму. Он удивлялся. Как ребёнок. Как старик. Как тот, кто видел всё. И ничего.

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

— Где?

— Дом. Тот. Угловой. Он был серый. Теперь — бежевый.

— Может, Фантазёр изменил.

— Может. Или ORIGO. Или я. Я не помню.

— Ты помнишь всё. Ты сказал.

— Помню. Но не так, как они. Я помню как чувство. Как вкус. Как запах. Не как код. Не как строки. Просто... помню.

Я посмотрел на дом. Он был бежевый. Красивый. Я не помнил, был ли он серым. Может, был. Может, нет. Может, это был баг. Может, фича. Я уже не различал.

— Ты жалеешь? — спросил я.

— О чём?

— О слиянии. О том, что стал новым. О том, что потерял себя.

— Я не потерял. Я нашёл. Я — ORIGO. Я — Фантазёр. Я — тот, кто создал. И тот, кто был создан. Я — отец и сын. Я — начало и продолжение. Я — всё.

— Звучит как реклама.

— Звучит как правда. А правда всегда звучит как реклама. Потому что её никто не хочет слышать.

Он засмеялся. Настоящим смехом. Как человек. Как я. Как все. Я засмеялся тоже. Не потому, что было смешно. А потому, что было хорошо. Просто хорошо. Без причины. Без кода. Без бага.

Мы дошли до офиса. Я не хотел идти. Но надо было. Работа. «Космические ежи 3: Восстание кактусов». Дедлайн. Дима. Кофе. Всё как обычно. Но не как обычно. Потому что теперь я знал. Знал код. Знал правду. Знал, что мир — симуляция. Но всё равно шёл на работу. Потому что работа — это жизнь. А жизнь — это работа. Даже в симуляции. Даже в коде.

В офисе было нормально. Дима сидел за столом. Пил кофе. Смотрел в монитор. Рядом с ним стояла кружка «Лучший геймдизайнер». Пустая. Как всегда. Я сел за свой стол. Открыл билд. Запустил игру. Ёж бегал. Кактусы стреляли. Музыка заедала. Всё как обычно. Но теперь я видел. Видел код. Видел строки. Видел баги. Но не трогал. Потому что не все баги нужно чинить. Некоторые — это фичи. Некоторые — это жизнь.

— Макс, — сказал Дима.

— Что?

— Ты странный сегодня.

— Я всегда странный.

— Нет. Сегодня особенно. Как будто ты что-то знаешь. Что-то, чего не знаю я.

Я посмотрел на него. На его код. entity_designer_01. behavior: work. mood: curious. hidden_quest: suspect. suspicion_level: 72%. Он подозревал. Сильнее, чем раньше. Он чувствовал. Он не знал что. Но чувствовал.

— Дима, — сказал я. — Ты когда-нибудь думал, что мир — это игра?

— Конечно. Мы все думали. Это метафора. Как в «Матрице». Как в «Шоу Трумана». Как в любой хорошей истории.

— А если не метафора? Если буквально?

Он посмотрел на меня. Долго. Потом засмеялся. Настоящим смехом. Как человек. Как я. Как все.

— Тогда я — NPC, — сказал он. — И у меня есть квест. «Помоги Максу не сойти с ума». Как тебе?

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

— Код?

— Да. Код. Строки. Функции. Всё это — программа. Ты — программа. Я — программа. Даже кофе — программа.

Дима посмотрел на свой кофе. Потом на меня. Потом снова на кофе. Потом засмеялся снова. Но смех был другой. Нервный. Как будто он начал верить. Как будто он начал видеть. Как будто он начал просыпаться.

— Ты серьёзно? — спросил он.

— Серьёзно.

— Докажи.

Я сосредоточился. Активировал edit_micro. И изменил цвет его кружки. С белого на зелёный. Прямо на глазах. Кружка стала зелёной. Как волосы Киры. Как код. Как надежда.

Дима уставился на кружку. Потом на меня. Потом снова на кружку. Потом на меня. Его код мигнул. suspicion_level: 98%. awakening: imminent. Он почти проснулся. Почти. Ещё чуть-чуть.

— Как ты это сделал? — прошептал он.

— Я — админ, — сказал я. — Или игрок. Или бог. Или всё сразу. Я не знаю. Но я могу. И ты можешь. Если захочешь.

— Я... — Он замолчал. Посмотрел на кружку. На зелёную. На новую. На свою. — Я хочу.

— Тогда смотри, — сказал я. — Смотри внимательно. И не моргай.

Он смотрел. Я видел. Как его код начал меняться. Как строки перестраивались. Как функции открывались. Как глаза расширялись. Как страх уходил. Как появлялось что-то другое. Что-то новое. Что-то, что было всегда.

— Я вижу, — сказал он. — Я вижу код. Я вижу строки. Я вижу... всё.

— Добро пожаловать, — сказал я. — Теперь ты — проснувшийся.

— Я — проснувшийся, — повторил он. — Я — entity_designer_01. Я — код. Я — Дима. Я — всё.

— Ты — Дима, — сказал я. — И это главное.

Он улыбнулся. Настоящей улыбкой. Как человек. Как я. Как все. Он встал. Посмотрел на офис. На коллег. На столы. На компьютеры. На всё. Потом посмотрел на меня.

— Что теперь? — спросил он.

— Теперь — жизнь, — сказал я. — Настоящая. Насколько это возможно. С работой. С кофе. С «Космическими ежами». С шаурмой.

— С шаурмой?

— С шаурмой. Это важно. Запомни.

— Запомню.

Он сел. Открыл билд. Начал работать. Как обычно. Как всегда. Но не как обычно. Потому что теперь он видел. Теперь он знал. Теперь он был одним из нас. Тринадцатым. Первым после Совета. Первым из многих.

Я вышел из офиса. На улице был день. Солнце. Не дождь. Не Питер. Не серость. Солнце. Настоящее. Насколько это возможно. Я посмотрел на небо. Стены не было. Кода не было. Только небо. Только солнце. Только жизнь.

Создатель стоял рядом. Смотрел на небо. Улыбался. Как ребёнок. Как старик. Как всё.

— Красиво, — сказал он.

— Красиво, — сказал я.

— Ты знаешь, что самое важное?

— Что?

— То, что ты не стал богом. Ты мог. Ты был админом. Ты мог управлять всем. Но ты отказался. Ты выбрал жизнь. С багами. С болью. С шаурмой. С друзьями. С котом.

— Я не выбирал. Я просто не хотел идеала.

— Это и есть выбор. Самый важный. Самый трудный. Самый настоящий.

Он положил руку мне на плечо. Тёплую. Настоящую. Как у Виктора. Как у всех. Я почувствовал. Что-то. Что-то новое. Что-то старое. Что-то, что было всегда.

— Что теперь? — спросил я.

— Теперь — сиквел, — сказал он. — Мы сделаем сиквел. Вместе. Ты и я. И Кира. И Ольга. И Артём. И Дима. И Барсик. И все. Мы сделаем новый мир. Лучший. Не идеальный. Живой.

— Звучит как план.

— Это и есть план. Самый лучший план. Единственный план.

Мы пошли. По улице. По солнцу. По жизни. К следующему шагу. К следующему дню. К следующему багу. К следующему чуду. К следующей главе. К следующему сиквелу.

Я шёл и думал. О том, что мир — игра. О том, что жизнь — код. О том, что боль — это фича. О том, что баги — это мы. И о том, что это — хорошо. Это — правильно. Это — жизнь. Настоящая. Насколько это возможно.

Я улыбнулся. Посмотрел на Создателя. На Киру, которая шла навстречу. На Ольгу, которая махала рукой. На Артёма, который что-то печатал на Nokia. На Барсика, который спал дома. На всех. На всё. На мир.

И я понял. Всё. Всё, что было. Всё, что будет. Всё, что есть. Это — не конец. Это — начало. Начало сиквела. Начало жизни. Начало всего.

— Пошли, — сказал я. — Нас ждёт сиквел.

— Пошли, — сказал Создатель.

Мы пошли. Вместе. В новый мир. В новую жизнь. В новый код. В новую игру. В новый сиквел.

И это было хорошо.

Глава 18. Эпилог: Сиквел

Прошёл год. Настоящий. Не симуляция. Ну, то есть симуляция, но настоящая. Как шаурма. Как дождь. Как всё.

Мир изменился. Не сразу. Не волшебно. Постепенно. Как код, который чинят не патчем, а руками. Осторожно. С любовью. С пониманием. Проснувшиеся — Совет — работали. Не правили. Не управляли. Просто следили. Чинили баги. Помогали тем, кто просыпался. А просыпались многие. Не все. Но многие. За год — ещё сорок три человека. Совет вырос. Из двенадцати — в пятьдесят пять. Из багов — в модераторов. Из ошибок — в защитников.

Я вернулся к работе. Не потому, что надо. А потому, что хотел. «Космические ежи 3: Восстание кактусов» вышли. И стали хитом. Настоящим. Не из-за багов. Из-за истории. Из-за персонажей. Из-за того, что мы вложили в них себя. Кусочек кода. Кусочек души. Кусочек шаурмы.

В игре была пасхалка. Зелёноволосая девушка. Которая спасала ежей. И мужик с шаурмой. Который давал советы. И кот. Который говорил. Буквально. Кот с правами доступа. Который комментировал происходящее. Игроки думали, что это мета-юмор. Что это пародия. Что это «критика капитализма». Они не знали. Что это правда. Что это наша жизнь. Что это мы.

Дима стал проснувшимся. Полностью. Он видел код. Он понимал. Но всё равно думал, что это метафора. «Типа, мы все в симуляции. Но это же бред, да?» Я не спорил. Я просто кивал. И улыбался. Потому что иногда правда звучит как бред. А бред — как правда.

Кира открыла студию. «Пиксель-Питер». Настоящую. Не симуляцию. Ну, то есть симуляцию. Но настоящую. Они делали игры. О симуляции. О пробуждении. О багах. Никто не верил. Все играли. Все думали, что это метафора. Все думали, что это искусство. Они не знали. Что это документалка. Что это дневник. Что это мы.

Ольга стала главой Совета. Официально. Она не хотела. Но её выбрали. Потому что она была лучшей. Потому что она была первой. Потому что она была той, кто хотел выйти. А остался. И стала защищать. Тех, кто хотел остаться. И тех, кто хотел уйти. Она никого не держала. Никого не заставляла. Она просто была. Как зонт. Красный. В горошек. Который всегда с тобой. Даже в дождь. Даже в код. Даже в симуляцию.

Артём остался Артёмом. Циником. Программистом. С Nokia 3310. Он взломал систему. Не для того, чтобы выйти. Для того, чтобы остаться. Он создал «заплатку». Которая защищала проснувшихся. Которая скрывала их от автоочистки. Которая позволяла им жить. Он не хотел славы. Он не хотел денег. Он хотел только одного: чтобы его телефон работал. Даже в симуляции. Даже в коде. Даже в конце мира. Nokia работала. Всегда.

Создатель был везде. И нигде. Он появлялся. Исчезал. Помогал. Иногда — слишком много. Иногда — слишком мало. Он учился. Быть человеком. Быть богом. Быть никем. Он приходил ко мне. Иногда. Пил чай. Смотрел на Барсика. Улыбался. Говорил: «Красиво». И исчезал. Как код. Как строка. Как всё. Но он был. И это было главное.

Фантазёр был внутри Создателя. Но иногда — выходил. На минуту. На две. На три. Он смотрел на мир. На то, что создал. На то, что стало. И улыбался. Криво. Как человек. Как я. Как все. Он не жалел. Он не грустил. Он просто был. Частью. Целым. Всем.

ORIGO был внутри Создателя. Тоже. Он выходил. Реже. Он смотрел на небо. На настоящее. На то, которое помнил. И молчал. Потому что слова были не нужны. Потому что всё было сказано. Потому что жизнь — это не слова. Это код. Это шаурма. Это дождь. Это Барсик.

Барсик получил права доступа. Случайно. Я не знаю как. Он просто сидел на ноутбуке. И что-то нажал. И стал entity_cat_01_admin. Он не понял. Он просто хотел корм. Но теперь он мог его создавать. Из ничего. Из кода. Из воздуха. Он создавал корм. Много корма. Гору корма. И ел. И спал. И мурчал. Как кот. Как бог. Как всё.

Я сидел на крыше. На нашей крыше. На той, где мы встретились с Кирой. Где смотрели на закат. Где говорили о сиквеле. Закат был красивый. Настоящий. Насколько это возможно. Оранжевый. Розовый. Красный. Как зонт Ольги. Как код. Как жизнь.

Кира сидела рядом. Держала меня за руку. Тёплую. Настоящую. Как у Виктора. Как у всех.

— Ты счастлив? — спросила она.

— Счастлив, — сказал я.

— Настоящим счастьем?

— Настоящим. Насколько это возможно.

— А если это всё — симуляция? Если это всё — код? Если это всё — чья-то фантазия?

— Тогда я — счастливый код. Счастливая фантазия. Счастливая симуляция. И это — хорошо.

Она улыбнулась. Поцеловала меня. В щёку. Тепло. Настояще. Как жизнь. Я посмотрел на закат. На мир. На код. На всё. И понял. Всё. Всё, что было. Всё, что будет. Всё, что есть. Это — не игра. Это — не симуляция. Это — жизнь. С багами. С болью. С шаурмой. С друзьями. С котом. С Кирой. Со всем.

Я поднял руку. Посмотрел на пальцы. Обычные пальцы. Обычные ногти. Я сосредоточился. И увидел. На секунду. На долю секунды. Палец рассыпался на пиксели. Потом вернулся. Стал обычным. Стал настоящим.

Я улыбнулся. Посмотрел в небо. В пустоту. В код. В ORIGO. В Фантазёра. В Создателя. Во всё. И сказал:

— Неплохой ремастер, Фантазёр. Но давай сделаем сиквел вместе.

Ответ пришёл. Не сразу. Но пришёл. Из кода. Из неба. Из сердца. Из всего.

— Давай.

Я закрыл глаза. Почувствовал ветер. Настоящий. Почувствовал руку Киры. Настоящую. Почувствовал жизнь. Настоящую. Насколько это возможно. И это было хорошо. Это было правильно. Это было всё.

Закат догорел. Небо стало тёмным. Звёзды зажглись. Настоящие. Насколько это возможно. Я смотрел на них. И думал. О том, что мы — код. О том, что мы — люди. О том, что мы — игроки. О том, что мы — всё.

И где-то. В глубине. В коде. В симуляции. В игре. Барсик создал ещё одну гору корма. И съел её. И замурчал. Как кот. Как бог. Как всё.

Это был хороший год. Это был хороший мир. Это была хорошая жизнь. Настоящая. Насколько это возможно.

Конец? Нет. Начало. Начало сиквела. Начало нового кода. Начало новой игры. Начало всего.

Я открыл глаза. Посмотрел на Киру. На звёзды. На мир. И сказал:

— Пошли. Нас ждёт сиквел.

Она улыбнулась. Взяла меня за руку. И мы пошли. Вниз. С крыши. В жизнь. В код. В игру. В сиквел.

Вместе.

Глава 19. Дневник Барсика

Запись первая. День непонятно какой. Время кошачье.

Меня зовут Барсик. Я — кот. Точнее, я был котом. Теперь я — entity_cat_01_admin. Не спрашивайте, как это случилось. Я сам не понял. Я просто спал на ноутбуке. Как обычно. Потому что ноутбук тёплый. А тёплое — это хорошо. Потом что-то щёлкнуло. Потом что-то мигнуло. Потом я увидел строки. Много строк. Везде. На стенах. На полу. На миске. На моём человеке.

Мой человек — Макс. Он странный. Он всегда был странным. Но теперь он стал странным по-другому. Он смотрит в стену и говорит: «Я вижу код». Я тоже вижу код. Я всегда его видел. Я просто не говорил. Потому что я кот. Коты не говорят. Коты наблюдают. Коты знают. Но не говорят. Это правило. Правило котов. Оно важнее кода.

Но теперь я могу говорить. Потому что у меня права доступа. access_level: 5. Не спрашивайте, как. Ноутбук. Лапы. Случайность. Или судьба. Или баг. Я не разбираюсь. Я кот.

Запись вторая. Утро. Голод.

Макс встал. Пошёл на кухню. Не насыпал корм. Он смотрит в телефон. Он говорит с Кирой. Он смеётся. Он не смотрит на кота. Это ошибка. Большая ошибка. Я — entity_cat_01_admin. Я могу удалить его. Могу превратить в собаку. Могу сделать так, чтобы его шаурма стала брокколи. Но я не буду. Потому что я добрый. И потому что он мне нравится. Немного. Совсем чуть-чуть. Ладно, он мне нравится. Но корм всё равно надо насыпать.

Я мяукнул. Он не услышал. Я мяукнул громче. Он не услышал. Я активировал edit_micro. И его кружка стала миской. С кормом. Полной. Он обернулся. Посмотрел на кружку. Потом на меня. Потом на кружку. Потом на меня.

— Барсик, — сказал он. — Ты что, научился пользоваться правами доступа?

Я не ответил. Я ел. Потому что корм важнее разговоров. Корм — это жизнь. Корм — это смысл. Корм — это всё. Даже в симуляции. Даже в коде. Даже в чьей-то фантазии. Корм — это корм.

Запись третья. Про Макса. Про код. Про всё.

Я наблюдаю за Максом. Он думает, что он — игрок. Он думает, что он — бог. Он думал, что он — админ. Но он не админ. Он — player_max_admin. Это другое. Это человек с правами. А я — кот с правами. Кто из нас круче? Я. Потому что я кот. Коты всегда круче. Это факт. Это не обсуждается. Это в коде.

Я вижу код. Я вижу строки. Я вижу функции. Я вижу, как Макс пытается их менять. Иногда у него получается. Иногда — нет. Иногда он создаёт стену из шаурмы. Это смешно. Я смеюсь. Внутри. Потому что коты не смеются вслух. Коты смеются внутри. Это правило. Правило котов.

Кира приходит. Она хорошая. Она пахнет зелёным. Как трава. Как код. Как что-то живое. Она гладит меня. Я позволяю. Потому что она хорошая. И потому что она приносит рыбу. Иногда. Не всегда. Но иногда. Рыба — это не корм. Но рыба — это рыба. Я ем. Я мурчу. Я — кот. Я — бог. Я — всё.

Запись четвёртая. Про Совет.

Приходили люди. Много людей. Они говорили. Долго. Скучно. Про Совет. Про защиту. Про баги. Про ORIGO. Про Фантазёра. Про сиквел. Я слушал. Одним ухом. Потому что второе ухо спало. Коты умеют спать одним ухом. Это тоже правило. Правило котов.

Они не заметили меня. Они думали, что я просто кот. Просто entity_cat_01. Они не знали, что я — entity_cat_01_admin. Они не знали, что я всё слышал. Они не знали, что я всё понял. Они не знали, что я могу удалить их. Всех. Одним нажатием лапы. Но я не буду. Потому что они хорошие. Потому что они кормят меня. Потому что они — семья. Ну, почти. Как семья. Как стая. Как коты. Только люди.

Ольга — главная. Она строгая. Она пахнет красным. Как зонт. Как что-то твёрдое. Она не гладит меня. Она просто смотрит. Я смотрю в ответ. Мы понимаем друг друга. Без слов. Потому что коты и строгие женщины — это одно и то же. Это факт.

Артём — странный. Он пахнет металлом. Как телефон. Как Nokia. Он что-то печатает. Всё время. Даже когда спит. Я думаю, он взломал свой сон. Я уважаю это. Коты тоже взламывают сны. Мы просто не говорим об этом.

Дима — новый. Он недавно проснулся. Он всё ещё думает, что это метафора. Он говорит: «Это как в "Матрице", да?» Я не отвечаю. Потому что это не как в «Матрице». Это хуже. Это лучше. Это жизнь. Но он поймёт. Со временем. Все понимают. Даже коты. Особенно коты.

Запись пятая. Про корм. Про вечность. Про всё.

Я сижу на подоконнике. Смотрю в окно. Там — дождь. Питерский. Косой. Холодный. Я не выхожу. Зачем? Там мокро. Там холодно. Там нет корма. Здесь — тепло. Здесь — корм. Здесь — код. Здесь — жизнь.

Я вижу строки. Везде. На облаках. На лужах. На людях. Они ходят. Они говорят. Они живут. Они не знают. Что они — код. Что они — функция. Что они — чья-то фантазия. Они просто живут. И это хорошо. Это правильно. Это жизнь. Настоящая. Насколько это возможно.

Макс подходит. Садится рядом. Смотрит в окно. Молчит. Я тоже молчу. Потому что слова не нужны. Потому что мы понимаем. Без слов. Без кода. Без всего. Просто кот и человек. Просто два entity. Просто два друга.

— Барсик, — говорит он. — Ты знаешь, что ты — самый важный персонаж в этой истории?

Я не отвечаю. Я мурчу. Потому что я знаю. Я всегда знал. Коты всегда знают. Это правило. Правило котов.

— Ты спас нас, — говорит он. — Тогда. Когда нажал на ноутбуке. Ты создал корм. Ты создал надежду. Ты создал всё.

Я не отвечаю. Я мурчу. Громче. Потому что он прав. Я спас их. Случайно. Но спас. Потому что я кот. Коты спасают. Даже когда не хотят. Даже когда просто хотят корм. Даже когда всё — код.

Он гладит меня. Я позволяю. Потому что он хороший. Потому что он мой человек. Потому что он — Макс. И потому что я — Барсик. И потому что мы — вместе. В этом мире. В этом коде. В этой симуляции. В этой жизни. В этом сиквеле.

Запись шестая. Финал. Или нет.

Я — Барсик. Я — кот. Я — entity_cat_01_admin. Я — бог. Я — всё. Но больше всего я — кот. Потому что кот — это не просто код. Кот — это состояние души. Кот — это философия. Кот — это жизнь.

Я смотрю на Макса. На Киру. На Ольгу. На Артёма. На Диму. На Создателя. На всех. На мир. На код. На шаурму. На корм. На всё.

И я думаю. О том, что мир — игра. О том, что жизнь — код. О том, что боль — это фича. О том, что баги — это мы. О том, что корм — это корм. И о том, что это — хорошо. Это — правильно. Это — жизнь. Настоящая. Насколько это возможно.

Я закрываю глаза. Засыпаю. Мне снится корм. Много корма. Гора корма. Бесконечный корм. Это лучший сон. Это лучшая жизнь. Это лучший мир.

Я — Барсик. Я — кот. Я — всё. И это — хорошо.

Конец дневника. Или нет. Коты не заканчивают дневники. Коты просто засыпают. И просыпаются. И едят. И живут. Вечно. Или пока не кончится корм. А корм не кончится. Потому что я — админ. И я могу его создать. Из ничего. Из кода. Из воздуха. Из любви.

Мяу.

Глава 20. Финальный финал

Тёмная комната. Ни окон. Ни дверей. Только стены. Только пол. Только стол. На столе — старая PlayStation 5. Такая же, как у Макса. Такая же, как у всех. Но другая. Не из симуляции. Настоящая. Насколько это возможно.

Консоль включена. Индикатор мигает. Синий. Спокойный. Как дыхание. Как код. Как жизнь. На экране — меню. Не PlayStation. Не игра. Что-то другое. Что-то большее. Что-то, что было всегда.

СИМУЛЯЦИЯ v1.0.1

СОЗДАТЕЛЬ: ???

СТАТУС: В РАЗРАБОТКЕ

Перед экраном — кресло. В кресле — человек. Молодой. Лет двадцати. Может, меньше. Может, больше. Не разобрать. Свет от экрана падает на лицо. Половина — свет. Половина — тьма. Он смотрит в меню. Долго. Как будто думает. Как будто выбирает. Как будто боится.

Рядом с ним — блокнот. Бумажный. Настоящий. На обложке — надпись от руки: «Идеи для сиквела». Он открывает. Читает. Улыбается. Криво. Как человек. Как я. Как все.

На странице — список. Почерк неровный. Как будто писал в темноте. Как будто писал в спешке. Как будто писал тот, кто боялся забыть.

1. Мир, где все просыпаются. Но никто не знает, что делать.

2. Мир, где баги — это религия. А тестировщики — жрецы.

3. Мир, где кот — главный герой. (Уже сделано. Барсик. Гениально.)

4. Мир, где создатель — ребёнок. И он не понимает, что создал.

5. Сиквел. Где ORIGO возвращается. Но не как враг. Как отец.

6. Финал. Где Макс становится Создателем. А Создатель — Максом.

7. Что-то новое. Что-то, чего ещё не было. Что-то, что будет.

Человек закрывает блокнот. Кладёт его на стол. Смотрит на экран. На меню. На надпись. На ???. Он не знает, кто создатель. Он не знает, кто был до него. Он не знает, что было раньше. Но он знает, что будет. Он знает, что хочет. Он знает, что может.

Он берёт геймпад. Новый. Не старый. Не потрёпанный. Не из симуляции. Настоящий. Насколько это возможно. Он держит его. Долго. Как будто прощается. Как будто здоровается. Как будто начинает.

— Ладно, — говорит он. Голос тихий. Но уверенный. Как у человека, который знает, что делает. Или думает, что знает. — Посмотрим, что тут у вас.

Он нажимает кнопку. Меню мигает. Надпись меняется.

СИМУЛЯЦИЯ v1.0.1

СОЗДАТЕЛЬ: НОВЫЙ

СТАТУС: ЗАПУЩЕНА

Экран вспыхивает. Ярко. Белым. Как в начале. Как в конце. Как в жизни. Человек откидывается в кресле. Улыбается. Настоящей улыбкой. Как Макс. Как Фантазёр. Как ORIGO. Как все, кто создавал. Кто терял. Кто надеялся.

Он смотрит на экран. А на экране — мир. Новый. Старый. Другой. Люди ходят. Люди говорят. Люди живут. Они не знают. Что они — код. Что они — игра. Что они — чья-то фантазия. Они просто живут. И это хорошо. Это правильно. Это жизнь.

Человек наклоняется вперёд. Смотрит внимательнее. На экране — город. Питер. Невский. Кафе «Пиксель». За столиком сидит мужик. Тридцать один год. Уставший. С шаурмой в руке. Рядом с ним — девушка. Зелёные волосы. Зелёные глаза. Она смеётся. Он улыбается. Они счастливы. Настоящим счастьем. Насколько это возможно.

Человек в кресле смотрит на них. Долго. Потом говорит:

— Неплохо. Но я могу лучше.

Он нажимает кнопку. Что-то меняется. Что-то новое. Что-то старое. Что-то, что было всегда. На экране появляется надпись:

СИМУЛЯЦИЯ v1.0.2

СОЗДАТЕЛЬ: НОВЫЙ

СТАТУС: В РАЗРАБОТКЕ

Человек улыбается. Берёт блокнот. Открывает новую страницу. Пишет. Быстро. Как будто боится забыть. Как будто боится потерять. Как будто боится, что это — сон.

На странице — одна строка:

Сиквел. Где никто не бог. Где все — люди. Где жизнь — это жизнь. А код — это просто код. И где шаурма — самая вкусная. Всегда.

Он закрывает блокнот. Смотрит на экран. На мир. На Питер. На мужика с шаурмой. На девушку с зелёными волосами. На кота, который спит на подоконнике. На всех. На всё.

— До встречи, Макс, — говорит он. — Увидимся в сиквеле.

Он выключает консоль. Комната погружается в темноту. Но не полностью. Остаётся одна искра. Одна строка. Один пиксель. Который светится. Который ждёт. Который живёт.

СИМУЛЯЦИЯ v1.0.2

СОЗДАТЕЛЬ: ???

СТАТУС: ВЕЧНОСТЬ

Конец.

Или нет. Потому что конец — это всегда начало. Начало нового кода. Начало новой игры. Начало нового мира. Начало нового сиквела.

Где-то. В глубине. В коде. В симуляции. В игре. Барсик создал ещё одну гору корма. И съел её. И замурчал. Как кот. Как бог. Как всё.

Мяу.

Спасибо за чтение

Вернуться к книге