Запах хлорки в поликлинике всегда один и тот же - едкий, казённый, въевшийся в стены так же намертво, как плохие новости. За дверью в коридоре шаркали, кашляли, скрипели стульями. Сидел в кресле с горячим кожзамом подлокотников - нагретым предыдущим пациентом, ещё не остывшим - и смотрел на таблицу Сивцева. Вернее, смотрел туда, где она должна была быть. Белый прямоугольник. Наверху - тёмное пятно: буква Ш, или Б, или что угодно. Дальше третьей строки шла мутная серая каша.

Елена Сергеевна - я знал её имя по табличке, которую с трудом разобрал год назад, - стояла у монитора и двигала пальцем по снимку. Снимок горел оранжевым на экране, с чёрными точками, которые она и имела в виду. Куда именно указывал палец - не разглядеть.

- Вот здесь, - голос ровный, тот профессиональный ровный, который вырабатывается после тысяч похожих разговоров. - И здесь. Прогрессирует быстрее, чем мы ожидали.

Кивнул.

- Насколько быстрее?

Короткая пауза. Такая, после которой всегда плохое.

- Полгода. Может, меньше. Меньше - вероятнее.

Что-то случилось с руками раньше, чем дошло до головы: пальцы сами сжались на подлокотнике, вдавились в горячий кожзам, и горло сделало то движение, которое делает вхолостую - когда нечего глотать. Тело уже знало. Просто ждало разрешения.

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

Она ждала реакции. Чувствовал это по паузе, по тому, как затихло её движение у монитора. Смотрела на меня, а я смотрел на размытый белый прямоугольник таблицы и думал о том, что FATAL ERROR в логах - это не конец, это инструкция. Не паниковать. Зафиксировать. Искать причину. Либо причина есть - либо переустанавливаешь систему и начинаешь заново.

Только система - это я. И «начать заново» - это не о компьютере.

- Есть что-то новое? Клинические исследования, новые протоколы?

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

- Мы отслеживаем. - Голос остался ровным, но тон чуть сдвинулся - туда, где уже не врач, а человек. - Пока нет ничего, что изменило бы прогноз.

Упор для подбородка у щелевой лампы холодный, металлический - помнил это с прошлого приёма. Сейчас лампа молчала, жужжала слабо, линзы не щёлкали. Обследование было позади. Сейчас был просто разговор. Разговор, после которого выйду в коридор и скажу себе, что всё нормально.

Руки лежали на подлокотниках спокойно. Голос вышел ровным. Тело вообще не понимало, что должно было паниковать, - или понимало, но не сообщало наверх. Только под воротом рубашки что-то стало влажным, и этот запах тоже знал: кислый, стрессовый. Тело всё-таки слышало. Просто говорило об этом иначе, чем сознание.

- Спасибо.

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

Спасибо за что - непонятно. За то, что сказала? За то, что у неё был такой ровный, привычный голос, что к нему легко было прислониться и не упасть?

Встал, когда она замолчала, нашёл пальто на вешалке у стены - по форме угадал, не по цвету - и вышел, не сказав больше ничего, потому что добавить было нечего.

Полгода. Не новость - новость скорость. Рассчитывал тайм-лайн под год. Год - это другой ритм, другой объём задач, которые ещё можно успеть. Полгода - это «не успеть закончить текущий спринт». Это разговор с командой по-новому, это адаптация инструментов, это разговор с менеджером - он уже намекал, давно намекал, - только теперь с другими числами.

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

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

Снять? Надо было снять.

Не остановился. Шёл дальше - мимо регистратуры, мимо стойки с буклетами о профилактике чего-то, мимо большого аквариума: он угадывался по форме и по синеватому свечению, тихому и спокойному, как будто кто-то оставил экран включённым. Рыбки, наверное. Или водоросли - не различить. Синеватый свет. Через полгода и он станет просто пятном.

Полгода. Хлорка. Бахилы шуршат. Телефон пикнул снова - тот же чат.

Снаружи было светло. Осень, но днём. Размытое серое небо над размытыми силуэтами деревьев у входа. Мир через матовое стекло - всегда, уже три года, мир через матовое стекло. Там, за стёклами дверей, что-то оранжевело: листья, наверное, или куртка прохожего. Без деталей. Без резкости. Просто цветное пятно в сером.

Всё нормально. Знал, что так и будет. Рассчитывал на год - получил полгода. Разница - это же просто число. Просто число, а не то, что уже нельзя отсчитать обратно.

Бахилы шуршали. Не остановился.

Домой шёл пешком - двадцать минут, которых ни разу не отсчитывал сознательно. Ноги знали маршрут, мышечная память вшита намертво, хардкод без конфигов - и пока они шли, голова делала то, что умеет: раскладывала задачу по компонентам. Полгода. Что успеть, что нет. Что переписать под скринридер, что делегировать, что закрыть красиво, а что просто закрыть. Полгода - это большой спринт. Можно работать с такими числами.

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

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

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

Собирался, конечно. Просто не вслух.

Через полгода даже это превратится в светлые пятна на тёмном. Без цвета. Без формы.

Микроволновка пикнула.

За монитором обнаружилось, что рабочий чат не ждал - он уже устал ждать. Менеджер написал в три часа дня, потом в пять. Читал через экранную лупу, носом к экрану, шея тянулась вперёд градусов на пятнадцать от нормального - привычная поза, хиропрактик её ненавидит. «Формат работы». «Обсудить варианты». «Хотим найти комфортное решение». Очень аккуратные слова. Слова, в которых нет ничего конкретного, и именно поэтому нечего оспорить. Try-catch без finally: перехватили, обработали, потери не признали.

Что ответить - непонятно. Что не ответить - понятно: ничего не ответить тоже не получится вечно.

Не ответил. Открыл IDE.

Телефон завибрировал.

«Мама», - сказал телефон голосом - тихо, в динамик, настроено ещё когда перестал узнавать имена на экране. Не взял трубку. Положил экраном вниз.

Тревога без адреса - хуже всего. Знал это. Всё равно положил телефон.

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

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

Когда-то мог сидеть прямо.

Набрал функцию. Дошёл до параметра - и остановился. Имя переменной знал, а вот что именно передать - куда смотреть, не понял с первого раза: пришлось тянуться к экрану, считать строки подсказки по цвету. Пять секунд. Раньше хватало периферийного взгляда. Набрал дальше, добрался до вызова - и снова: три точки, третий аргумент не виден целиком, обрезан краем экрана. Подвинул голову ещё ближе, почти уткнулся носом в матрицу. Боль в шее стала ощутимее - не острая, тупая, как заедающая петля двери, которую никогда не чинят. Скомпилировал через скринридер. Голос перечислял строки сборки монотонным синтетическим тоном. Успешно.

Пять лет чинил чужой легаси-код. Теперь чинил свой.

Скоро сам станешь легаси. Система без поддержки, без обновлений. Спишут вежливо - аккуратными словами, именно такими.

Закрыл IDE.

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

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

Потом монитор моргнул.

Один раз, коротко - как будто дисплей икнул. Поднял взгляд: экран стоял ровно, код, тёмный фон, зелёная строка курсора на месте. Потёр глаза. Глаза горели от часов у монитора - нормально, привычно. Усталые глаза создают иллюзии. Монитору три года, подсветка стареет. Или электрика в доме. Или просто устал.

Моргнул снова.

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

Замер - полностью, руки на столе, только сердце отдавало в уши.

Рука потянулась к мышке - рефлекс: когда экран делает что-то непонятное, первый инстинкт - кликнуть, пошевелить курсор, проверить отклик. Курсор двинулся нормально. Система отвечала. Всё работало.

Воздух был не тот.

Монитор мигнул в третий раз, и на этот раз по нему прошла волна - горизонтальная, тёмная, сверху вниз, как рябь по пикселям. Как помехи на старом CRT. Только матрица IPS, которой так не бывает.

Так не бывает.

Последний раз такое ощущение - в детстве, с вышки в бассейне: стоишь, смотришь на воду внизу, и ещё не прыгнул, но уже точно знаешь, что прыгнешь.

Монитор мигал. Лампа мигала. За окном огни размывались, как всегда. Телефон молчал экраном вниз.

Завтра позвоню маме.

Завтра позвоню маме.

Эту мысль - последнюю связную, с адресом и намерением - смяло в долю секунды. Стол, экран, кружка с кофейным осадком, запах горелой проводки, гул умолкших кулеров - всё исчезло разом, как строчку выделил и удалил одним движением. Ctrl+A. Delete. Белое. Потом null.

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

Раньше срока.

Полгода, сказала Елена Сергеевна. Может, меньше. Вот и меньше - без нарастания, без того плавного завершения спринта, под которое вёл все расчёты.

Телефон лежал экраном вниз. Она звонила. Положил. Завтра, сказал себе. Завтра теперь не состоялось.

А потом та часть головы, которая привыкла искать источник при падении продакшна, включилась сама, как скрипт в cron, которому не нужен оператор. Мерцание экрана. Горизонтальная волна по матрице, которой на IPS-панели не бывает физически. Металлический запах. Кулеры замолчали одновременно. Паттерн сложился быстро, и паттерн говорил: это что-то другое. Инсульт, может быть. Или что-то, для чего у него пока слов нет.

Хотя бы не больно.

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

Сначала пришёл ветер.

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

Потом вернулось тело.

Разом, ударом. Земля под лопатками - тёплая, плотная, с собственным весом, настоящая. Трава у ладоней - острая, влажная, кончики кололи кожу, каждая отдельно, и под травой земля снова тёплая, нагретая, как будто она дышала под ним. После той пустоты, в которой не было ничего, включая понятие «тело», - каждый укол травинки ощущался как подтверждение. Значение присвоено. Переменная получила тип.

Открыл глаза.

Голова была повёрнута набок - трава в двух сантиметрах от носа, каждая стебельная жилка прорисована, капля росы на изгибе травинки ловила свет и дробила его в три цветных точки, и там, где трава у корней темнее, тёмно-зелёная до почти чёрного, а на кончиках - желтоватая, живая, светится. Зрение было здесь целиком, сразу, оглушительно, как будто кто-то выкрутил яркость и резкость на максимум одним движением. Сколько оттенков зелёного одновременно? Пять. Семь. Двенадцать - перестал считать, потому что глаза уже уходили дальше, жадно, сами, без разрешения.

Камень рядом: трещина через весь бок, и в трещине - лишайник серо-оранжевый, крошечный, как принципиальная схема в камне. Кристаллики кварца на сколе блестели. Они просто блестели - мелко, тупо, безо всякого смысла - и что-то в горле сжалось и не разжалось.

Поднял руку перед лицом.

Замер.

Линии на ладони - все. Каждая линия, их там несколько десятков, пересекаются, расходятся, истончаются к краю. Поры. Маленькие, обычные, человеческие поры на коже между большим и указательным пальцем. Грязь под ногтями - чёрная полоска под каждым, земля с того места, куда упал. Столько раз смотрел на собственные руки через экранную лупу, угадывал контуры по цветовому пятну - и не узнал теперь. Это были его руки. Он их не узнал.

Глаза защипало. Слёзы пришли сами, горячие, потекли по вискам в траву, и он не стал вытирать, потому что рука опустилась обратно, а глаза уже шли дальше: к дереву.

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

Небо.

Встать не получилось - остался лежать и посмотрел вверх.

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

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

Потом, откуда-то снизу, дошло: трава колет ноги.

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

Синие поликлинические бахилы. Оба. Целые. Аккуратно надеты поверх кроссовок, в мокрой траве чужого мира, в двадцати шагах от дерева, которого в его дворе точно не было.

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

- Гигиена прежде всего, - сказал вслух.

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

Сел. Потом встал - медленно, потому что колени не договорились с равновесием сразу. Выпрямился.

Мир был огромным, и это ощущалось телом: когда стоишь в открытом поле и видишь всё до горизонта резко, во всех деталях одновременно, это не знание, это физическое давление. В одну сторону - холмы, деревья по склонам, тёмные пятна леса, и там, дальше, за первым гребнем, - тёплые огни. Маленькие, размытые расстоянием, и всё равно каждая отдельно. Просто далёкие. Три года он не знал, что расстояние и расплывчатость - разные вещи.

В другую сторону посмотрел позже. Повернулся - и замер. Что-то горизонтально плоское, серое, с ровным краем. Цвет без текстуры, форма без деталей. Как незагруженный ресурс - прямоугольник-заглушка на том месте, где должна быть картинка, но картинка не пришла. Далеко. Там что-то не так - фиксировал это как факт, складывал в фоновую задачу. Потом. Не сейчас. Сейчас - дерево, небо, холмы, огни.

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

Вытер глаза тыльной стороной ладони. Посмотрел на ладонь: влажная, грязная, линии в ней все там. Никуда не делись.

Никуда отсюда не хотел.

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

Озон по-прежнему стоял в воздухе острым, электрическим - мешался с запахом земли, с травой, с чем-то минеральным от нагретого камня. Слёзы на висках уже подсохли, оставили лёгкое стягивание кожи. Трава у ног шелестела от ветра, который шёл периодически, как будто кто-то с той стороны холмов открывал и закрывал дверь. Синие бахилы на кроссовках мокрые насквозь - трава высокая.

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

Потом буквы.

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

Welcome back, Player.

Server uptime: 11,347 years.

Active players: 1.

Прочитал. Прочитал ещё раз. Второй раз - медленнее, каждое слово отдельно.

Welcome back. Обратно. Система полагала, что я уже был здесь раньше - что ушёл куда-то, а теперь вернулся, и она меня помнит. Только у меня не было «до». Либо это стандартное приветствие, одинаковое для всех, без проверки сессии. Либо - сессия есть, просто я её не помню.

Оба варианта были одинаково неудобными.

Поднял взгляд на вторую строку.

Server uptime: 11,347 years.

Одиннадцать тысяч триста сорок семь лет без перезагрузки. Я работал с легаси-кодом, которому было пять лет, - и это казалось краем человеческого терпения, пятилетний монолит без документации на PHP пятой версии, который нельзя было трогать, потому что если тронешь - развалится. А здесь - одиннадцать тысяч лет продакшна. Техдолг на одиннадцать тысяч лет накопленных фиксов и костылей, deprecated-методы поверх deprecated-методов, целые слои архитектуры которые не трогали просто потому что трогать страшно. И это всё - работает. До сих пор. Стоит.

Взгляд задержался на строке. Не хотелось переходить к следующей.

Active players: 1.

Один. Активных игроков - один, на весь этот сервер. Не единственный человек: там, за холмами, огни, там живут люди. Но игроков - один. Это не MMORPG с очередями на вход. Это не плохой день и не ночное затишье. Это дата-центр который работает одиннадцать тысяч лет, и за эти одиннадцать тысяч лет в него зашёл ровно один активный пользователь - вот прямо сейчас, вот именно я. Что-то холодное прошло вдоль позвоночника - не от ветра, изнутри, как когда в логе находишь строку, после которой понимаешь: всё это время система работала не так.

Выдохнул. Медленно, через нос, с запахом озона и мокрой земли. Руки убрал в карманы, но пальцы всё равно не согревались.

Текст не пропадал. Висел перед лицом - терпеливо, как приглашение командной строки у которой нет таймаута. Мир за текстом продолжался: трава, дерево, закат медленно переходил из лилового в тёмно-синее, звезда на краю неба стала чуть ярче. Два слоя существовали одновременно, не перебивая друг друга, как два монитора с разным контентом - один открытый на редактор, другой на продакшн-логи.

Потом, ниже основного блока, появилась строка помельче:

Initializing player interface... done.

И всё остальное.

Зелёная полоска возникла в верхнем левом краю зрения - HP, и рядом синяя, MP, оба полные, оба мягко подсвеченные, как статусные индикаторы на стойке когда всё нормально. Правый верхний угол занял фрагмент карты - частично: цветные тайлы среди серых квадратов-заглушек, граница прогруженного и непрогруженного проходила рваной линией посередине, и это было знакомое ощущение - данные есть, но ресурсы не загрузились, placeholder вместо контента.

На кончиках пальцев прошло что-то похожее на короткую вибрацию, фантомное, как телефон в несуществующем кармане - рефлекс сработал сам, раньше мысли. Статусное окно раскрылось в воздухе.

Player: [unnamed]

Class: -

Level: 1

Skills: /inspect, /report

Безымянный. Без класса. Первый уровень. Два навыка - /inspect и /report. Посмотреть и пожаловаться. Минималистично до прозрачности - это даже не альфа-билд, это голый инстанс без конфигурации, без роли, без прав доступа, с двумя методами в API: один на чтение, один чтобы куда-то отправить репорт. Задержался на втором: /report. Репорт - кому? Если Active players: 1 - значит, получателя нет. Либо получатель не игрок.

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

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

Welcome back. Откуда - back? Если система помнит меня, значит, у неё есть запись. Сессия, профиль, идентификатор - что-то, к чему она привязала это слово. Именно back, обратно, снова. Так не пишут новому пользователю. Это означало, что она знает, кто я. Или думала, что знала. Или знала то, чего не знал я.

Вопрос тянул за собой следующий: почему одиннадцать тысяч лет - и именно сейчас, именно здесь? Совпадений в продакшне не бывает. Бывает нераскрытая причинно-следственная связь.

Ответов не было. Вопросы отложились - в фоновый поток, не в основной.

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

Два языка. Один - трава, запах, ветер, настоящие звёзды над холмами. Другой - Consolas, uptime, первый уровень, два навыка.

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

Welcome back, Player. Где-то в одиннадцати тысячах лет отсюда - ответ на то, почему именно я.

Загрузка...