Если бы нежданная племянница Ника не возникла сегодня утром на пороге моего виртуального спейса, я в жизни бы не оказался в этой кафешке. С другой стороны, если бы мне не пришлось тащиться с Никой в это приторно раскрашенное местечко, созданное для новичков и поэтому так притягивающее любителей пранков и скама, я бы не познакомился с Олей.
Но могли ли эти напрямую связанные события быть частью более сложной цепочки причин и следствий, из-за которых возник этот баг? Вряд ли. Скорее, ошибку вызвало пространство самой кафешки, скрипт официантки или что-то ещё.
Бывают же неудачные дни. Пятнадцать минут назад я думал, как поскорее избавиться от надоедливой мелкой племянницы, пять минут назад объяснял неопытной, по-забавному скромной Ольге, что вокруг одни боты и в Мегаверсе всегда нужно проверять профиль собеседника, а теперь сам сидел, как забагованный бот, тщетно пытаясь открыть настройки, кошелёк или меню аккаунта… Бесполезно. Я даже не мог перезагрузиться или телепортнуться к себе в спейс.
– А ваше, ой, извини, – хоть мы и сразу договорились, у Оли никак не получалось переключаться на «ты», – твоё имя почему недоступно? Тоже прикидываешься ботом?
Мне понравился её смех.
Вообще-то она была почти права: я действительно скрываю никнейм в общих спейсах, чтобы на меня обращали меньше внимания. Привычка специалиста по безопасности, наверное. Но теперь из-за непонятных глюков у меня не получалось открыть профиль и показать ей, что я живой человек!
Идиотская ситуация.
А потом произошло нечто ещё более странное. То, что не могло и не должно было произойти никогда.
На дороге мелькнула фиолетовая вспышка, и прямо напротив прозрачной стены кафе прогрузился огромный портал. Из абсолютной чёрной, непривычной глазу текстуры, без типичных эффектов и анимаций, в пространство Мегаверса вышел громадный серо-зелёный тролль. Яростно проорав в небо, он размахнулся дубиной размером с дерево и обрушил орудие на глайдер, бибикавший рядом.
Это уже совсем выходило за рамки возможного. Но всё-таки всё началось не с тролля и не с Оли, а с Ники. И, если бы не её появление, я бы в этой ситуации не оказался.
Проснувшись утром, я едва успел прочитать сообщение от сестры. Она напомнила, что её дочка сегодня впервые подключится к Мегаверсу и я обещал встретить племянницу и всё показать. Не помню, если честно, когда я прям обещал, но это, очевидно, были мои проблемы – кто-то уже настойчиво тыкал «вызов» в общем холле перед моим спейсом.
– Привет, я Ника!
От громкости и энтузиазма приветствия чертоги моего сонного разума превратились в руины, и я сделал исходящий от неё звук тише. Всю ночь мне снилось, как я занимался ерундой – тщетно пытался вычислить место расположения Архитектора, настроение после сна было отвратительным.
– Привет… – я взглянул на дефолтный аватар школьницы в клетчатой юбке и чёрной куртке с рюкзачком. Единственное, что поменяла Ника, – это цвет волос на фиолетовый, и, похоже, срандомила причёску – в разные стороны торчали два коротких мультяшных хвоста. – Напомни, в реале тебе лет сколько?
– А что, мама разве не говорила? – Ника перепрыгнула через порог и оказалась внутри. – А тебе?
Как меня бесит эта детская непосредственность, когда на конкретный вопрос отвечают вопросом.
– С утра было двадцать восемь, – я подал невоспитанной малявке пример. – Что, мама разве не говорила?
– Не-а. А мне четырнадцать. Круто! – уперев в бока руки, она рассматривала мой спейс.
И чего крутого? Кровать, рабочее кресло, окно с лесом на фоне. Уютно – это да. Мне нравились деревянные стены, теплый свет. Тем более, перед тем как открыть дверь, я поставил утренний скин – никакого компромата в комнате быть не могло.
– А правда, что ты всю жизнь живешь в Мегаверсе?
Интересно. Похоже, сестра и вправду ничего обо мне не сказала.
– Правда, – коротко ответил я, сменив тему: – А ты, в какое приключение хочешь отправиться? Сейчас в топах верс про пиратов. Или лучше какую-нибудь сказку с феями и драконами?
– А как ты спишь? Как вообще можно спать в виртуальности? А сны тебе снятся? – удивительно, как за пару реплик подросток способен утомить человека.
– Я не сплю, я киборг, – пошутил я. – Мой мозг заменён квантитами-сублиматорами. Секретная разработка.
– Мама говорила, что ты странный.
– Круто! – я попытался копировать её тон. – Хорошо, что мама не забыла рассказать обо мне самое главное.
Правда, с чего я должен отвечать на глупые вопросы?
– У меня скоро это… рабочее совещание. Может, на остров с динозаврами тебя отправить? Или полетишь в космос?
– Нам по социологии эссе задали про профессии в виртуальности, и мама такая говорит: дядя Антон же в Мегаверсе живёт, вирты придумывает! – в этот момент я осознал безнадёжность своего положения. – А я уже взрослая, мне можно одной подключаться.
– Версы, – поправил я на автомате. – Ограниченное виртуальное пространство называется верс. И их не придумывают, а программируют. Пишут, можно сказать.
– Ну, чтобы что-то написать, это надо сначала придумать!
Интересно, я в её возрасте был таким же непробиваемым?
Меня ведь тоже подключили к Меге примерно в четырнадцать. Здесь я закончил школу, получил высшее, жил и работал. Для многих Мегаверс – это пёстрая песочница, надувной город, бесконечный торгово-развлекательный спейс. Для меня он был детством, домом. Моей личной вселенной свободы, полной загадок, открытий. Надежд.
Я вспомнил, как сестра в первый и последний раз попробовала подключиться. Только поздоровались – ей сразу же поплохело, не прошло и минуты. Когнитивная несовместимость с виртуальностью…
– А что у тебя за наряд? – не унималась Ника. – Что значит «ин-тер-корпс»?
– Это рабочий скин, – я поскорее сменил корпоративный тёмно-синий костюм на единственный хранившийся в гардеробе сет: футболку, горчичные шорты и ретрофутуристические очки. – Так лучше? Слушай, ты задаёшь очень много вопросов.
К этому моменту я смирился с тем, что просто так от Ники мне не отделаться.
– Пошли лучше съедим что-нибудь вкусное.
Я наугад ткнул в один из тысяч общих спейсов для новичков в меню терминала двери, створки разъехались в стороны, и я пригласил племянницу картинным жестом, изображая волшебного наставника, как из какой-нибудь сказки, который открывает перед ребёнком проход в магическую страну:
– Зачем большая квартира, если есть дверь в любое место на свете?
– Не на свете, а в виртуалке, – с умным видом поправила Ника, проходя мимо.
Проглотив едкий комментарий, я шагнул за ней на солнечный тротуар. Мы вышли на перекрёсток яркого города: вдалеке в низких облаках таяли небоскрёбы, солнце висело, как всегда, прикованное к зениту, мимо вяло ползли заскриптованные глайдеры, прогуливались приветливые болванчики-боты.
Да, давно я не выходил в общественные пространства. Вспомнилась юность: как мы гоняли на хакнутых глайдерах, устраивали тайные собрания во взломанных спейсах, как я днями и ночами писал софт, чтобы просканировать весь Мегаверс и таки найти, где прячется Архитектор…
– Это всё реальные люди? – Ника выдернула меня из пелены нежных воспоминаний.
– Нет, в основном боты, скрипты, анимации, – ответил я, про себя усмехнувшись. – Народ развлекается в версах, приватных спейсах, а Мега – это скорее общий системный хаб и защитная оболочка, песочница. Здесь не происходит ничего интересного, люди просто работают…
Ровно в этот момент перед нами выскочил яйцевидный робот с ногами как у сверчка и, прыгая спиной вперёд, затараторил:
– Платина, кристаллы, дешёвый гринд в любых версах! Метавалюта, экс-ди-эс, кре…
Я спешно замьютил поток этого мусора.
– Заняться тебе больше нечем? – бросил я роботу, хоть и знал, что не услышу ответа, и посмотрел на Нику: – Реальные люди, как видишь, выбиваются из обстановки…
Техносверчок подпрыгнул ещё пару раз и, завидев на другой стороне дороги пользователя в корпоративном костюме, ускакал к нему прямо по крышам проезжающих глайдеров.
– А что он хотел?
– Украсть у тебя самое ценное – твоё время, – заявил я серьёзным тоном. – Заходи. И лучше скрой айди.
Вход в кафе находился в соседнем доме: типичное пространство с длинной барной стойкой, широким проходом и большими столами вдоль прозрачной стены. Под потолком крутились пирожные, коктейли и сладости, среди них бесновались анимированные логотипы новых версов, периодически прыгая с потолка вниз и зазывая к себе.
За стойкой сидела парочка аватаров: девушка с открытым профилем в скине Интеркорпса и слащавый парень в белой рубахе с пижонским галстуком, ни имени, ни инфо – то ли бот, то ли особо скрытный пользователь.
Мы с Никой сели за большой стол, я выбрал в меню сырный пирог и кофе, Ника – арбузный коктейль, и милая антропоморфная лисица-официант тут же выкатилась к нам на роликах с готовым заказом.
Они – девушка с парнем за стойкой – общались, значит, он не был ботом. Я открыл её коротенький профиль: Ольга-два-шесть-шесть-четыре…
– И как ты делаешь версы? – из-за открытой анкеты Ольги до меня донёсся очередной вопрос от племянницы.
Двадцать девять часов в виртуалке, совсем новичок, вторые сутки в Меге.
– Руками и головой, – ответил я Нике. – Ищу уязвимости, анализирую, пишу код…
– А кто придумывает всех этих инопланетян, драконов и приключения?
Да у этой Ольги-два-шесть-шесть вся анкета открыта! Какая наивная! У неё сегодня первый рабочий день…
– Художники, дизайнеры. Историю – сценаристы… – отозвался я.
Младший сотрудник отдела развития Интеркорпс, двадцать три года…
– А я думала, всё само делается, нейросетью.
Я вздохнул, понимая, что от племянницы мне не отделаться, закрыл профиль Ольги и посмотрел на Нику:
– Ну, каждый камень и правда никто не рисует и травинки не расставляет, я тоже простые скрипты сам не пишу. Но дело в том, что задачи меняются, и нейронки приходится переобучать, корректировать модели… – Ника уставилась на улицу, и я понял, что она перестала слушать.
– Папа говорит, что версы – бессмысленные развлечения, что настоящие эмоции не симулировать, – вдруг выдала она, не отрываясь от меланхолии равномерно безоблачного пейзажа.
– Мм… – промычал я в ответ, припоминая, что, вроде, её отец работал орбитальным пилотом. – Вкусный коктейль?
– Вкусный. Но я всё равно знаю, что это имитация. Фейк. Это как сравнивать настоящую любовь с порно.
Если бы у куска пирога был параметр плотности, он точно бы застрял в горле моего аватара.
– Слушай, во-первых, ты не права. Во-вторых… подожди, я сейчас.
Я так и знал! Ольга уже проходила авторизацию, чтобы подключить кошелек к бартерному окну этого смазливого типа.
– Девушка, стойте! – я подскочил к ним как можно скорее. – Что ж вы инструкции безопасности никогда не читаете!
– Эй, покинь моё личное пространство! – возмутился тип.
Нет, он точно был ботом – плашка закрытого профиля неактивна, наверняка налеплена сверху на каком-то предмете… Я потянулся к нелепому галстуку, дёрнул, рядом ойкнула Ольга, а из-под отвалившегося софта выскочила панель программных настроек.
Бот попытался протестовать, но я тут же кинул репорт, он замер – и уже через пару секунд рассыпался на кусочки исчезающих в пространстве текстур.
Ольга ойкнула ещё раз.
– Это скам, девушка. На что он у вас деньги просил?
Похоже, чтобы создать аватар, она использовала модель реального лица, но всё равно фото в анкете показалась мне привлекательнее.
– Но как же так? Я же случайно с ним познакомилась! Там ещё был другой пользователь, его друг, с открытым профилем. Я была уверена, что он живой человек…
Какой приятный голос, такой растерянный.
– Нейросеть уже давно не отличить по простому общению, нужно всегда проверять профиль, – назидательно сказал я и улыбнулся: – А у меня сегодня, видимо, день новичков.
– Ой, спасибо вам большое!
– Можно на «ты». Антон.
Я пригласил Ольгу за наш стол, познакомил с Никой и прочитал девушкам лекцию по виртуальной безопасности. Ну, как прочитал, попытался.
В присутствии старшей Ника вела себя поспокойнее, хотя и выкинула пару неуместных протестных тейков, что-то про «лживые иллюзии» и «настоящее счастье», Оля смешно извинялась, через раз обращаясь ко мне на «вы», я в какой-то момент увлёкся рассказом о пирогах – она обожала крыжовниковый, а я его никогда не ел и тут же попробовал, – в общем, последовательно изложить новичкам теорию виртуальной гигиены не получилось. А под конец, когда Ольга спросила меня, почему я скрываю профиль, а я попытался заплатить за её пирог, случился этот проклятый баг.
Меня полностью отключило от внутренних интерфейсов аккаунта, я не мог открыть меню, настройки, получить дополнительную информацию об окружении. Оставался только контроль над аватаром и возможность взаимодействовать с интерактивными интерфейсами, доступная даже ботам.
А потом, как эффект домино, – вспышка на улице, чёрный портал и огромный тролль, размахивающий дубиной.
– Ой, а это что, реклама какого-то верса? – Ольга смотрела на тролля с недоумением.
– Круто!
– Понятия не имею… – честно ответил я, забыв о проблемах с аккаунтом.
Тем временем тролль методично вдалбливал глайдер поленом в асфальт. И самое удивительное, что Мегаверс регистрировал все коллизии и деформации.
Вдруг на запястье Оли замигал зелёным и запикал браслет. Она подскочила и как-то печально вздохнула.
– Эх, работа. Спасибо вам… за компанию! И тебе, Антон. Ты спас меня! – улыбнулась она, чуть наклонив голову. – Жалко уходить на самом интересном, расскажете потом, к чему всё это было.
Она повернулась к выходу, но в этот момент тролль швырнул расплющенный глайдер прямо в кафе. Прозрачную стену выбило, машина врезалась в барную стойку и застряла поперёк помещения, перегородив проход.
– Пожалуй, воспользуюсь другой дверью… – невозмутимо бросила Оля и поспешила активировать выход в другом конце коридора.
Я пожелал ей удачи.
– Пока-пока! – попрощалась Ника не глядя, всё её внимание занимало бешеное чудовище. – Дядя Артём, так же не должно быть. Что происходит?
– Да похоже, что какой-то… – не договорив, я вышел на улицу.
Несколько пользователей, недовольно оглядываясь на тролля, открыли двери и исчезли в других спейсах, ещё пара наблюдала за буйствующим монстром издалека, вокруг чудища прыгал знакомый робот-сверчок, над ним кружилась камера, транслируя происходящее куда-то в эфир. А сам Мегаверс, похоже, не замечал инородный код у себя в пространстве, глайдеры и боты не реагировали, а тролль охотно плющил крыши и рвал фигурки прохожих напополам.
Тем временем Ника выпрыгнула из окна кафе и побежала ко мне на перекрёсток.
Я стоял у портала, не имея возможности изучить его структуру. Как хакер смог обойти защиту и вытащить что-то из верса в Мегу, на верхний уровень? Неужели Интеркорпс не получил ни одного репорта? Почему Архитектор не чувствует инородный код?
На самом деле, вопросов было куда больше, не было времени их формулировать. Тролль поймал-таки назойливого робота, размозжил его по текстурам дороги серией мощных ударов и, завидев подбегающую Нику, ринулся на нас.
Тут я вспомнил про слетевшую связь моего реального тела и аватара, и меня как током ударило: если из-за этой твари меня выкинет из Мегаверса, есть риск, что случится непоправимое…
– Пожалуйста, отвлеки его! – крикнул я Нике, высматривая ближайшую дверь.