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

