Андрей Север
Выйти из игры

Глава 1. Подработка для своих

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

Сегодня был вторник.

Я сижу на корточках перед HP LaserJet, которому лет примерно столько же, сколько нашей компании, и тяну из него скомканный лист. Бумага рвётся. Разумеется, рвётся — она всегда рвётся именно так, чтобы половина осталась внутри и пришлось лезть глубже. Пальцы уже серые от тонера.

— Андрей Палыч, вы скоро? Нам акты печатать.

Это Марина. Марина из бухгалтерии всегда говорит «нам», когда имеет в виду «мне прямо сейчас».

— Десять минут, — говорю я в чрево принтера.

— У нас клиент ждёт.

— Пятнадцать.

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

Это называется «работа с пользователями».

Двадцать три года я занимаюсь примерно одним и тем же: чиню то, что сломалось, объясняю то, что должно быть очевидно, и время от времени убеждаю руководство, что новый сервер — это не блажь, а необходимость. Руководство каждый раз обещает подумать. Думает оно, судя по всему, очень медленно.

Компания называется «СпецОдежда Плюс». Мы продаём робы, каски и светоотражающие жилеты. Основные клиенты — стройки и, в значительной мере, исправительные учреждения. Я никогда особо не задумывался об этом, пока однажды не подписывал накладную и не увидел адрес доставки: «ФКУ ИК-14». Форменные брюки, триста штук.

Ничего, работа как работа.

Я возвращаюсь в IT-отдел — это громко сказано, отдел состоит из меня и Димки, но Димка в отпуске уже третью неделю и, похоже, не торопится обратно. Сажусь в кресло, которое скрипит при каждом движении. Заявка в системе закрыта: «принтер HP 1320, устранено замятие бумаги». Следующая уже висит: Геннадий Петрович, «компьютер глючит». Это значит — где-то что-то. Что именно, он сам не знает.

Я не открываю заявку Геннадия Петровича.

Вместо этого я открываю другое окно.

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

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

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

Я думаю о дочке.

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

Арифметика не то чтобы не сходилась — она сходилась, но впритык. Так, что на любую непредвиденную статью расходов уже не оставалось зазора. Машина три года без ТО. Зубной врач — это вообще отдельная история.

Я закрываю карту и открываю таблицу расходов. Смотрю на неё минуту. Закрываю таблицу и снова открываю карту.

Персонаж стоит у ворот. Ждёт.

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

Я никуда не тороплюсь.

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

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

Я делаю глоток остывшего чая.

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

«Андрюх, есть разговор. Не срочно, но интересно. Подработка. Напиши когда удобно.»

Я смотрю на сообщение.

Потом смотрю на таблицу расходов, которую мысленно держу в голове.

Потом снова на сообщение.

«Завтра удобно», — пишу я и убираю телефон.

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

Я закрываю игру, выключаю монитор и начинаю одеваться.

* * *

На следующий день Гришка позвонил сам.

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

— Андрюх, привет. Ты написал «завтра удобно», — сказал Гришка без предисловий. — Вот я и звоню.

— Логика железная, — согласился я. — Подожди секунду.

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

— Ну, говори. Что за подработка.

— Помнишь, я раньше крутился по части тестирования ПО? — начал Гришка.

— Смутно.

— Неважно. Сейчас у меня небольшой проект, нужны живые люди, которые погоняют клиент и напишут по ощущениям. Ты же до сих пор в игры гоняешь?

Я слегка помолчал.

— Откуда у тебя эта информация.

— Андрюх, ты в друзьях у меня в трёх разных приложениях. Активность видна.

— Понятно, — сказал я. — Слежка через соцсети, значит. Ладно. И что за игра?

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

— Бета-тест, короче.

— Ну да, типа того.

Я дошёл до окна в конце коридора. За стеклом серело небо и серел асфальт, и несколько голубей сидели на козырьке магазина напротив с видом людей, которые тоже пришли на работу без особого энтузиазма.

— Сколько платят? — спросил я.

Гришка назвал сумму.

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

— Негусто, — сказал я вслух.

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

— Звучит подозрительно просто. Ничего подписывать не надо? Кровью, душой, первородством?

— NDA стандартное. Электронное, пришлю на почту. Две страницы, ничего страшного.

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

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

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

— Лесть, — констатировал я.

— Факт, — сказал он. — Ну что, интересует?

Я посмотрел на голубей. Потом представил таблицу расходов.

— Когда нужно?

— Чем раньше тем лучше. Хоть сегодня.

— Сегодня не могу. Завтра после работы.

— Отлично. Я заеду, скину клиент на флешке — там всё равно установка специфическая, проще так.

— Прямо сюда заедешь?

— Если не против.

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

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

— Несколько — это сколько?

— Ну... часа три-четыре. Может, чуть больше.

— Понял. Комп на работе потянет?

— Должен. Там требования невысокие, всё в облаке, по сути.

Я кивнул, забыв, что он меня не видит.

— Ладно. Жду завтра в пять.

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

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

— Растёшь, — сказал я.

— Стараюсь, — согласился он.

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

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

— И всё?

— И всё.

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

Гришка усмехнулся.

— Выход интуитивный. Там вообще всё интуитивно, это одна из задач теста — проверить, насколько.

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

Гришка сунул флешку мне в руку и поднялся.

— Удачи. Пиши, если что-то совсем непонятно. Хотя не должно быть.

— Знаю я эти «не должно быть», — сказал я.

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

Я повертел флешку в руках.

На ней не было никакой маркировки.

Ну и ладно.

* * *

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

Я вернулся к себе, сел, достал флешку.

Ну а чего тянуть, собственно.

Вставил. Автозапуск предсказуемо не сработал — безопасность, корпоративные политики, всё дела. Открыл вручную. Внутри обнаружился один исполняемый файл с незамысловатым названием «client.exe» и текстовый документ с пометкой «README», в котором было ровно семь строк. Обещанная одна страница, видимо, в понимании Гришки — это семь строк. Я пробежался по ним глазами: установка в текущую папку, запуск, создание персонажа, сервер подхватывает автоматически. Никаких ключей активации, никакой регистрации. Как будто кто-то принципиально решил сделать минималистичный продукт — или просто не успел дописать документацию, что вероятнее.

Запустил установку.

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

Этот не завис.

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

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

Галочку «ознакомился с условиями использования» поставил не читая. Двадцать лет в IT, и я до сих пор читаю эти соглашения только когда мне за это платят отдельно.

Система предложила выбрать сервер. Серверов было два — оба с зелёными индикаторами, оба без названий, только цифры. Я ткнул в первый.

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

Я посмотрел на неё секунду.

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

— Ну, поехали, — сказал я вслух, без всякого энтузиазма, и щёлкнул мышью.

Секунда темноты.

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

А потом не было монитора.

* * *

Запах ударил первым.

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

Я стоял на брусчатке.

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

Вместо этого — брусчатка. Настоящая, мокроватая, с мхом в швах.

Вокруг шумела улица.

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

Первая мысль была совершенно профессиональная.

— Зависло, — сказал я вслух. — Что-то зависло.

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

Может, вылетел драйвер видеокарты. Может, оперативка. Может, весь этот тестовый клиент — одна большая красивая дыра в системе, и у меня сейчас синий экран смерти с очень хорошей графикой. Я судорожно попытался вспомнить сочетание клавиш — Alt-F4, Ctrl-Alt-Delete, что угодно — и тут обнаружил, что руки мои ничего не держат.

Не клавиатуру. Не мышь. Вообще ничего.

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

Меч.

У меня висел меч.

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

Где кнопка выхода. Это был главный вопрос.

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

HUD. Интерфейс, встроенный в поле зрения.

Я попробовал на него сфокусироваться — и он послушно проявился: полоска зелёная сверху, полоска синяя под ней, цифры, маленький портрет с лицом, которое, видимо, было моим игровым лицом. «Андрей. Воин. Уровень 1». Всё как положено.

Всё совершенно не как положено.

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

Я медленно огляделся по сторонам.

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

Монитора не было.

Системного блока не было. Стола не было. Стены IT-отдела с распечаткой схемы сети, которая висела там с прошлого года и уже пожелтела, — тоже не было. Клавиатуры, мыши, кресла, кружки с остывшим чаем — ничего этого не существовало в радиусе, до которого доставал взгляд.

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

— Ну, — сказал я вслух, тихо, — это уже не драйвер видеокарты.

Никто не обернулся. Подросток с дровами прошёл мимо. Где-то звякнул металл.

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

Выхода видно не было.