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