Игра в Реальность

22
18
20
22
24
26
28
30

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

Я отчётливо видел, как тяжело даётся этот подъём моей любимой. Её ноги уже дрожали от усталости, руки то и дело соскальзывали, лихорадочно нащупывая следующую опору, частое дыхание с хрипом вырывалось из груди. Но она больше не плакала, она боролась за жизнь до конца, каким бы он ни был. Наконец Алиса добралась до вершины и уцепилась за куст, росший на её удачу прямо у края обрыва. Ей оставалось только подтянуться и затащить себя на плато. Она отдышалась и, оттолкнувшись, прыгнула вверх. И тут, как в замедленном кадре, корни куста, за который цеплялась моя девочка, начали с треском выдираться из земли. Она успела уцепиться одной рукой за край скалы, но ноги, потеряв опору, повисли над пропастью. Я совершенно отчётливо видел, как её пальцы соскальзывают по мокрой траве, и тело всё больше отклоняется назад. Если бы это было в моих силах, я бы зажмурился. Мне показалось, что я закричал от ужаса. Но нет, вокруг царила мёртвая тишина. Неподвижно застыли волки под скалой, даже дождь прекратился, и стих ветер. И медленно в полной тишине падала со скалы моя Алиса.

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

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

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

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

Когда ближе к вечеру пришла Светик, я уже дописал алгоритмы поиска и приступил к 3D визуализации. С такой скоростью я ещё никогда не работал. Меня просто распирало от безудержного веселья и азарта. Светик смущённо заглянула в приоткрытую дверь, и я, не задумываясь о том, что творю, подхватил её в охапку и закружил по комнате. Я смеялся как безумный, а она плакала, уткнувшись мне в плечо. Наверное, так и выглядит со стороны то помешательство, что мне напророчил Учитель. Если это так, то не вижу в нём ничего страшного. Пусть я псих, но зато очень счастливый псих. Вопрос о том, оставаться Светику или уходить, отпал сам собой. Наплакавшись вволю, она умылась, переоделась в домашнее и принялась за ужин.

В тот вечер, когда всё получалось само собой, и казалось, что мне ничего не стоит перевернуть этот бренный мир вверх тормашками, я и представить себе не мог, насколько сложной и почти невыполнимой окажется эта задача. Целую неделю я просидел за компом, практически не отрывая пятой точки от стула. Как и предсказывал Учитель, я забывал есть, спать и мыться. Если бы не Светик, то моя участь оказалась бы совсем незавидной. Она незаметно подкладывала мне под руку еду и питьё, время от времени насильно поднимала и отводила в душ и в постель. Я машинально съедал и выпивал всё, что она готовила, послушно проваливался в сон буквально на подлёте к подушке и снова усаживался за рабочий стол, как только просыпался.

Через неделю я понял, что движок Умника не годился для Ищейки, и начал всё с нуля. Объёма сетевых данных было недостаточно для новой задачи, хотя сёрф по сети и был основным поисковым алгоритмом, но далеко не единственным. Тут сгодился бы механизм Подарочка, который осуществлял поиск по всем доступным и не очень доступным базам данных. Ещё пять дней я пытался скрестить Умника с Подарочком, пока не понял, что мне нужен не гибрид, а совершенно новый зверь. Легко найти того, кто оставляет хоть какие-то следы. А если нет? Или оставил, но десять лет назад. Наверное, будь у меня мощности, к примеру, Пентагона, я бы не стал заморачиваться на изощрённые алгоритмы, но мне нужно было сваять Ищейку для возможностей не самого продвинутого ноута.

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

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

Около правого края экрана замигала первая красная точка, значит, поиск запущен. Буквально через несколько секунд красный цвет сменился на зелёный, и вскоре зелёный огонёк перестала мигать. Итак, первый шаг объекта отслежен. Я навёл курсор на горящую зелёным светом точку и нажал кнопку мыши. Открылась карта с адресами и фотографиями местности. Одни координаты соответствовали нашей конторе, а другие — указывали на жилой дом на юге Москвы, где Вовчик вроде бы снимал квартиру. Пока никаких неожиданностей. Тем временем Ищейка нарисовала ещё две точки на горизонтальной прямой. Их можно было не проверять, горизонталь означала неизменность координат. Оставалось ещё восемь минут до конца поиска, и я решил пока заварить чайку. Когда я вернулся с кухни, меня ждал сюрприз. На седьмом шаге вместо одной точки Ищейка нарисовала две, причём обе они ушли от горизонтали. Далее верхняя точка продолжила двигаться параллельно краю экрана, но выше центра, а нижняя так и осталась в одиночестве, не дав продолжения.

Это было похоже на глюк. Что-то пошло не так. Обычно мои нетленки не давали сбоев. Раньше мне никогда не приходилось их корректировать. Что ж, всё когда-то случается в первый раз. Глотнув чаю, я со вздохом начал проверку. Верхняя точка показала координаты какого-то населённого пункта на запад от Костромы. Я увеличил масштаб в надежде на подсказку, но это был просто деревенский дом. Хорошо, что у меня хватило ума проверить собственников этого дома. Оказалось, что у них с Вовчиком была одна фамилия. Ага, значит, есть вероятность, что это вовсе не глюк программы. Просто мой бывший коллега отчалил в отпуск к родне рыбку поудить. Лето же. Звонить и проверять не хотелось, тем более, что был уже первый час ночи. Вместо этого я залез на его страницу в контакте и к своему облегчению обнаружил фотки Вовчика на фоне реки с удочкой в руках. Значит, работает Ищейка. УРА!

Тут я понял, что рано обрадовался. Была ещё одна неопознанная точка. Я навёл на неё курсор и ахнул. Это были координаты кладбища, а конкретнее, свежей могилы. Открыв справочные материалы, я с ужасом убедился, что могила принадлежала Вовчику. На ней стояла дата смерти, аккурат соответствующая точке на экране. Тут уж я не выдержал и набрал номер своего бывшего коллеги. Плевать на приличия, я должен был знать, жив он или нет. Гудки тянулись, никто не брал трубку. Я ярко представил, как кто-то из родных Вовчика с усталым вздохом протягивает руку к телефону, чтобы объяснить очередному его знакомому, где теперь нужно искать беднягу. Мне стало не по себе. Гудки оборвались, и в трубке раздался сонный Вовкин голос. От облегчения я готов был его расцеловать. И тут же сообразил, что не заготовил заранее историю про причину моего ночного звонка. К счастью, сочинять отмазку не потребовалось, Вовчик был откровенно рад меня слышать.

Оказывается, после моего ухода из конторы Антоша объявил забастовку. Олежка приступил к нелёгким переговорам и до выяснения обстановки распустил всех программистов пока в отпуск, а там как получится. По всему выходило, что я опять всех подвёл. Вовчик, кстати, действительно был под Костромой у родных. Я вздохнул с облегчением. Значит, Ищейка работала корректно, а с этим могильным глюком я как-нибудь разберусь. И тут мой приятель снова меня огорошил. Так уж получилось, что по пути в Кострому его рейсовый автобус попал в аварию и перевернулся. Несколько человек погибли, сам Вовчик чудом остался жив, успел уцепиться за поручни. С суеверным ужасом я посмотрел на экран компа, где всё ещё висела картинка с могилой.

Да что же это получается? Ищейка просчитала вероятные варианты развития событий и показала обе возможности? Прямо не знаю, как относиться к такому раскладу. Я распрощался с Вовчиком, пообещав поговорить с гномом о продолжении сотрудничества с конторой, и погрузился в глубокие раздумья. Что из себя представляла точка с могилой? Просто одна из вероятностей или нечто большее? Один вариант: Вовчик мог погибнуть, но этого не случилось, а Ищейка просто обозначила ненулевую вероятность. Другой вариант: он таки умер, но в альтернативной Реальности. Первый вариант был, конечно, чисто эмоционально более привлекательным, но не слишком реалистичным. Если бы это было просто обозначение вероятности, то, наверное, не существовало бы детальной информации о могиле, например, номера участка на кладбище. Или Ищейка может и такие нюансы просчитывать? А если могила действительно существует в альтернативной Реальности, то как программа из моей родной Реальности может это видеть?

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

Глава 11

Наутро я ожидал состояния опустошённости, обычного для завершения работы над сложной задачей, но ничего подобного не случилось. Эйфория, охватившая меня после кошмара с волками, в котором Алису спас мужик с бусинками в волосах, накатила с новой силой. Мне не терпелось опробовать Ищейку в поиске моей любимой. Похоже, моя миссия ещё не была завершена. Я разрывался между желанием немедленно загрузить Алисины данные в программу и рациональным соображением, что неплохо бы сначала прояснить ситуацию с параллельными Реальностями. По идее, трудностей с немедленным перемещением в Убежище не было никаких, так как проснулся я поздно, и Светик, не дождавшись меня, уже ушла на работу. Всё ещё размышляя над целесообразностью предварительной консультации с Учителем, я прошествовал на кухню, чтобы соорудить себе что-нибудь съедобное на завтрак. Но тут очень кстати вспомнил, какими завтраками кормят Убежище. Это соображение окончательно перевесило чашу весов в пользу консультации. Сбросив Ищейку на флешку на тот случай, если мой комп в Убежище не отразит мои программистские потуги здесь, в базовой Реальности, я наконец уселся в кресло и прикрыл глаза.

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