Вы здесь

Бот. Вызов (Максим Кидрук, 2012)

Вызов

VII

Четверг, 13 августа, 10:05 (UTC +2)

Отдел «Gaming AI»[15] компании «Time-To-Play Technologies»

Киев, Украина


Тимур Коршак просматривал почту, когда на столе зазвонил телефон.

– Я слушаю, – парень поднял трубку.

– Тимур, – прозвучал там сухой голос босса, заставивший парня непроизвольно напрячься, – ты не занят?

– Нет… Пока нет… – Тимур нахмурился. Утренние звонки начальства, как правило, ничего хорошего не предвещали.

Шеф выдержал длинную непонятную паузу, а потом бесцветным тоном произнес:

– Тогда отрывай задницу от стула и шагай ко мне в кабинет. Есть разговор.

Тимур поморщился. Если директор по разработкам с самого утра приглашает к себе в кабинет, жди неприятностей. Это означает одно из двух: либо сверхсрочное задание из серии «умри-но-сделай», когда нужно выдать десять тысяч строк программного кода за день, либо внеплановую раздачу тумаков (как правило, из-за того, что какой-нибудь мегапродвинутый долбоюзер замордовал вчера до потери пульса всю службу поддержки). А скорее всего и то, и другое одновременно.

– Уже иду, – ответил Тимур и повесил трубку, думая, как на удивление быстро может испортиться так хорошо начавшийся день.

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

– На ковер к Пузатому? – спросила голова, дожевывая утренний пончик. Фамилия директора по стратегическим разработкам и развитию (сокращенно – директор по СРР) – Пузатый – позволяла подчиненным обходиться без дополнительных прозвищ, хотя характер начальника, сварливый, как у разбуженного раньше срока медведя, и подталкивал к словотворчеству.

Тимур хмуро кивнул.

– Бить будет? – с нескрываемой надеждой и сарказмом поинтересовался Ярик.

– Не знаю.

– Есть за что? – не унимался Ярик.

Тимур задумался. В последнее время вроде особо не портачили.

– Не знаю, чувак…

– Значит, за старое, – авторитетно заключил коллега.

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

– Не дай Бог, – буркнул Тимур. – Ну, пойду, пока он не начал вонять.

– Удачи, – ехидно подмигнула голова и снова нырнула за перегородку.

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

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

VIII

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

«Time-To-Play Technologies» сделала себе имя на том, что называется «gaming environment» – игровое окружение. Специалисты «TTP» годами разрабатывали математические модели ветра, травы, кустов, деревьев, даже отдельных листочков, камней на дороге, пыли, а также алгоритмы их взаимодействия. Упорная совместная работа математиков, физиков, 3D-моделлеров и программистов компании позволила создать максимально приближенный к реальному виртуальный мир. И дело было не только во внешнем сходстве. В играх, которые выпустила «Time-To-Play Technologies», шли «настоящие» дожди, непрерывно дули ветра, солнце пряталось за тучи и снова выходило из-за них, причем все это не было заранее запрограммировано на конкретное время и место, а происходило по «естественным» причинам, так же, как и в природе.

Тимур специализировался на ботах. Его основная задача состояла в том, чтобы «житель» такого совершенного виртуального мира вел себя реалистично. Однако из-за большого количества различных процессов, которые одновременно моделирует программа (они называются потоками), очень непросто научить бота правильно выбирать дорогу, обходя заболоченные или заросшие кустами места, прятаться с учетом текущей видимости, безошибочно определять «живые» объекты (других ботов или игрока) в среде, где движется практически все, и при этом не забывать о своей главной задаче: атаковать или защищать игрока – единственное по-настоящему мыслящее существо игрового мира. Никогда не знаешь, в каком месте и в какое время потоки пересекутся друг с другом. После того как была разработана базовая концепция «игрового интеллекта» и создано программное ядро, возникли проблемы. Оказалось, что встроить ботов в игру – еще полдела. Намного сложнее отучить их от неадекватных действий в такой сложной реальности, а именно: от расстреливания кучек опавшей листвы, взвеянной налетевшим ветром, петляния между лужами, когда до противника остаются считанные шаги, и тому подобной деятельности.

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

Выход в свет первой части FPS[16] «Stalker» не на шутку встряхнул всю мировую индустрию компьютерных игр. В одних только Штатах продали более двух миллионов дисков с игрой, а чистая прибыль компании достигла 14 миллионов долларов. Причиной такого успеха стала не только старательно прорисованная непрерывная игровая среда. Фанатов компьютерных стрелялок покорило поведение ботов, которые разительно отличались от своих прямолинейных собратьев из «DOOM 3», «Half-Life 2» и даже «Unreal ІІ: Awakening». Боты были настолько реалистичны, что иногда казались… живыми. За два года никому не известная украинская компания закрепилась на рынке, получила кучу заказов и даже начала формировать тренды в игровой индустрии. И все это в значительной мере благодаря Тимуру.

Шагая по коридору, Тимур размышлял над тем, что же могло вызвать гнев начальства. Четвертый add-on[17] к «Сталкеру» был выпущен на рынок полгода назад. Баги[18] там, конечно, были, но это все касалось сюжета и текстур на отдельных 3D-моделях. К его ботам претензий не было. Новое поколение бойцов, над которым он сейчас трудился, было на стадии эскизного проектирования. Дай Бог, чтобы через два года их направили на тестирование.

«Значит, если влетит, то за старое», – заключил парень, остановившись у кабинета директора по СРР. Он прислушался, на миг задержавшись. Из-за дверей приглушенно доносились голоса. Пузатый был не один и разговаривал с кем-то по-английски.

Тимур глубоко вздохнул и постучал.

– Входите, – донеслось из-за двери.

Тимур изобразил беззаботность и вошел в кабинет.

– А, Тимур! Здоро́во! Заходи, садись, – директор показал на одно из кресел.

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

– Here is that guy![19] – и недвусмысленно кивнул на Тимура. Тот вежливо поздоровался и уселся в кресло, догадываясь, что переговоры между этими двумя велись о нем.

– O’kеy… I see… – вальяжно ответил незнакомец. – He’s so young[20].

– Only twenty seven[21].

– That’s strange[22].

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

– Оскар Штаерман, – представил незнакомца директор. Штаерман был чилийцем с еврейскими корнями.

– Тимур Коршак, – Тимур сдержанно кивнул.

– Nice to meet you, Tymur,[23] – Штаерман говорил с едва уловимым испанским акцентом. И ни одной нотки уважения в голосе.

– Помнишь заказ трехлетней давности от «General Genetics»? – Пузатый крутнулся на кресле в сторону Тимура и заговорил по-украински. – Ну, те чудилы, что заказали только код.

Тимуру не пришлось насиловать память, чтобы вспомнить этот странноватый проект. Самое необычное и в то же время, пожалуй, самое легкое задание за всю его работу в «TTP Technologies». «General Genetics», будто бы разрабатывавшая компьютерную игру в стиле «экшн», заказала ботов, обученных действовать в команде, одним большим роем, но (!) при этом не предоставила практически никаких исходных данных и не представила среду, в которой будет происходить действие игры. Заказчику были нужны только голые операционные коды.

– Шеф, поймите, – наклонившись к Пузатому, зашептал Тимур, – я не компилировал тот код. Это было просто немыслимо! Я же не могу взять и скомпилировать отдельную процедуру или вырванный из контекста класс. У нас не было никакой возможности протестировать в реальной игре наши разработки. Поэтому если у них…

– Успокойся, – прервал его босс, – я хорошо помню эту странную заявку. К тебе нет никаких претензий. В этой ситуации я полностью на твоей стороне.

– А в чем проблема? И почему они спохватились только сейчас? Целых три года прошло!

Пузатый пожал плечами:

– Поговори с этим пижоном. Мне он ничего не стал объяснять. Хочет, мол, разговаривать только с разработчиком, то есть с тобой.

– О чем?

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

Тимур вытянулся в кресле и попробовал улыбнуться.

– Хай, Оскар! – еще раз поздоровался Тимур и деловито заговорил по-английски: – Это я писал коды по вашей заявке три года назад.

– Я уже это понял.

– И что у вас не в порядке?

– У меня все прекрасно, – когда Штаерман говорил, он почти не менялся в лице, словно вместо кожи у него была резиновая маска, – но вот ваши боты… С ними начались проблемы.

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

– Так было нужно, – парировал Оскар.

– Воля ваша! Но что делать мне? За три года вы даже не сообщили, устроила ли вас наша работа. Для моих ботов нужно специфическое игровое пространство. Вполне вероятно, они оказались слишком сложными для вашего математического ядра.

– Сложными? – переспросил гость и как-то странно улыбнулся. – Нет-нет, они были прекрасными. Идеальными! Они анализировали все, что происходило вокруг, принимали решения, сотрудничали друг с другом, действуя как настоящий отряд. Для нас именно это было главным.

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

– И что же произошло? Кто-то напортачил, оптимизируя код?

Оскар стиснул зубы так, что на щеках проступили желваки, и отвернулся к окну. Когда он снова повернул голову к Тимуру, в глазах его опять промелькнуло что-то фатальное и еще что-то такое, чего ну уж никак нельзя было ожидать от надутого заморского пижона. Неконтролируемый страх?.. Паника?.. Через мгновение Штаерман взял себя в руки, но на заданный вопрос так и не ответил.

– Позвольте мне сказать пару слов, – вмешался директор. – Мы сейчас меняем концепцию построения мира, – разумеется, он говорил о виртуальном игровом пространстве, трехмерной сцене, но все равно слова прозвучали коряво и пафосно. Он выглядел как Зевс на Олимпе. В самом худшем, если можно так выразиться, смысле. – Вместо описания поведения отдельных объектов – деревьев, облаков, ручьев или озер – мы переходим к агентно-ориентированному подходу. Если раньше облачко представляло собой 3D-модель, которая могла менять свою форму, размер, цвет и прозрачность в зависимости от концентрации влаги, двигалась в определенном направлении, изредка объединяясь с другими моделями такого же типа, то теперь это – огромное скопление, некая сеть или рой крошечных агентов, несущих в себе набор функций для взаимодействия со смежными агентами. Такая капля-агент сможет испаряться, конденсироваться, переходить в кристаллическую форму в зависимости от внешних условий, а также от состояния соседних агентов. – Несмотря на ужасный характер, директор по разработкам был прекрасным специалистом. Он продолжал: – Представьте – теплое облако-рой попадает в зону холодного воздуха. Пограничные или поверхностные агенты быстро охладятся и превратятся в жидкость – в игровом мире пойдет дождь. При конденсации из агента-капли выделяется энергия в виде тепла. Если воздух быстро нагревается, дождь прекращается, а облако, потерявшее часть агентов, плывет себе дальше. Если же будет прибывать холодный воздух, то внутренние агенты также сконденсируются и дождь будет идти, пока облако не иссякнет. На земле агенты соберутся в лужи, ручьи или озера, пока не испарятся снова. Вот такой непрерывный круговорот!

Директор испытующе взглянул на гостя. Оскар Штаерман сохранял невозмутимость. Его спокойствие граничило с безразличием. Дмитрий Пузатый продолжал:

– Конечно, на начальном этапе написание и настройка агентов занимает массу времени, но потом это окупится сторицей. Агентно-ориентированный подход снимает немало ограничений с виртуального мира. Теперь достаточно создать рельеф местности, загнать на сцену агентов, соответствующих воде, воздуху и органической материи, задать начальные условия – температуру, давление – и запустить солнце. В результате каждый раз у нас будет не просто игровая сцена, а уникальный и неповторимый виртуальный мир! – Чтобы усилить эффект от своих слов, босс взмахнул руками в воздухе. – Кстати, Тимур сейчас работает над тем, чтобы боты комфортно себя чувствовали в этом новом мире. Прежнее поколение тут не годится – они теряются, торопеют… в общем, никуда не годятся.

Тимур, подтверждая сказанное, сдержанно кивнул.

– Поэтому, может, вместо переделки старых проблемных кодов мы попробуем решить вашу задачу с помощью нового…

– Нет, – оборвал директора чилиец. – Не нужно никаких новых подходов. Мы хотим, чтобы тот, кто создал три года назад исходные коды для ботов, разобрался в проблемах. Я понятно выражаюсь? Для ботов. Точка.

Ни Тимур, ни Пузатый, конечно, не догадывались, что их гость (не будучи профессиональным программером) знает об агентном подходе не меньше и сам мог бы многое рассказать. Особенно о внешнем проявлении и о том, к каким результатам он может привести. Хотя тогда это уже не имело значения.

Слова чилийца задели Пузатого. Директор засопел и нахмурился.

– А какие именно проблемы? – фыркнул он.

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

– Что это значит?! – вспыхнул Пузатый, забыв о выдержке и терпении, которые необходимо соблюдать при общении с клиентами. – Они голые бегают по сцене и швыряют друг в друга собственными экскрементами вместо того, чтобы атаковать игрока?

Тимур прикусил нижнюю губу. Не потому, что ему не понравилась метафора шефа. Просто так не разговаривают с клиентом.

Штаерман проигнорировал плоскую шутку. В кабинете повисло неловкое молчание.

– Может, у вас есть видео с прохождением какой-нибудь миссии, где использован мой код? – спросил Тимур. (Поиск багов начинается с изучения видеозаписи игры с экрана монитора.) – Это бы очень помогло. Его все больше и больше удивляла эта ситуация – зачем было переться черт знает куда, если все наверняка можно решить по электронной почте или по скайпу?

Впервые с начала разговора иностранец заколебался:

– Вы не понимаете. – Косматые брови взлетели вверх, Оскар подался вперед. – Чтобы разобраться, надо оказаться на месте. Собственно, для этого я и прилетел сюда. Мне нужен ты, Тимур.

Тимур и его босс переглянулись.

– Я вас правильно понял? Вы хотите, чтобы Тимур съездил к вам?

– Да. Мы хотим взять в аренду вашего специалиста. Иначе толку не будет.

Такого поворота ни Тимур, ни босс не ждали. Еще никто и никогда не просил одолжить на время сотрудника «TTP Technologies». Это смахивало на какое-то средневековье – прислать гонца, чтобы забрать мастера к себе для работы. Чушь! И опять же – зачем посылать кого бы то ни было за тридевять земель, если обо всем можно договориться по электронке?

Директор озадаченно притих. Задумался.

– Мы щедро заплатим, – добавил чилиец.

– Мы – это кто? – вставил Тимур. Три года назад, когда ему поручили проект, который в «TTP Technologies» считали несерьезным, заказчиком выступала «General Genetics», однако договор был подписан с физическим лицом, то есть де-юре «General Genetics» не имела к нему отношения. За работу исправно платили, всегда авансом, причем деньги переводили не из США, а из какой-то латиноамериканской страны (Тимур уже не мог вспомнить, из какой именно).

– Экспериментальный центр «NGF Lab», – последовал ответ. – Научная организация, которая проводит исследования по заказу различных независимых фондов и частных лиц. Инвестиции, в основном, американские и японские.

– «NGF Lab»? – переспросил Пузатый.

– Да.

Пузатый скосил глаза на лежавшую на его столе визитку Штаермана. На ней стоял логотип другой организации – «General Genetics».

– И куда надо лететь? – поинтересовался Тимур.

Лицо Оскара не дрогнуло. Только глаза напряглись, поменяли цвет: из карих стали совсем черными. Словно вода в глубоком мрачном колодце. Не мигая, чилиец ответил:

– Лаборатория находится в пустыне Атакама. Это север Чили.

– Где?! – босс раскрыл рот.

– Чили, Южная Америка.

Тут директор вспомнил, что три года назад деньги приходили именно из чилийского банка, «ABN AMOR Bank Chili». Но чтобы экспериментальный центр находился в пустыне?! И именно в этот момент он окончательно понял, что «General Genetics», или «NGF Lab», или как там она называется, производит что угодно, но только не компьютерные стрелялки. Босс посмотрел на Тимура. «Fuck it!»[24] – одними губами выговорил парень.

– Какая, к черту, пустыня, амиго? – Пузатый отбросил формальности прочь.

– Это долго объяснять.

– Любезный, может, хватить играть в жмурки? Вы же не игры разрабатываете!

– Нет, не игры, – без колебаний, выгрызая глазами зрачки собеседника, ответил чилиец. – И нам позарез нужен человек, который три года назад сгенерировал код.

Пузатый попытался сообразить, в каких областях человеческой деятельности можно было бы использовать алгоритмы «gaming AI». Системы искусственного интеллекта? Чушь! Уподоблять синтетический игровой интеллект искусственному разуму в широком смысле – это все равно что ставить на одну ступень технологической сложности электрочайник и баллистическую ракету. Несмотря на более чем двадцатилетний стаж работы с программным обеспечением, Дмитрий Витальевич был не в состоянии догадаться, где еще, кроме компьютерных игр, может пригодиться программа управления ботами.

– Господин Штаерман, – теребя галстук, Пузатый перешел на бесцветный официальный тон, – в вашем контракте не была предусмотрена отладка. Вы не заказывали готовый продукт, а только отдельные классы и процедуры, поэтому мы не…

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

Лысый босс закашлялся. Чуть язык не проглотил. Тимур тоже был ошарашен. Столько платили топ-менеджерам в «Microsoft» или «Google».

– И на какой срок командировка? – завороженно спросил парень.

– Восемь недель. Может быть, десять. – Оскар положил на стол контракт. – Тут все расписано. Виза ждет тебя. Нужен только твой паспорт.

Тимур больше не сомневался:

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

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

– Считай, что ты его получил.

Углы рта у Оскара приподнялись вверх, что, вероятно, означало улыбку. Он отчеканил:

– Двадцать тысяч в неделю. Пятьдесят тысяч – премиальные. Кроме того, «NGF Lab» выплатит «TTP Technologies» любую компенсацию за отсутствие сотрудника.

Директор по стратегическому развитию и разработкам чуть не упал со стула.

«Не меньше ста шестидесяти кусков, – быстро сосчитал Тимур, – это же неплохая квартира в Киеве! И за каких-то два месяца». До головокружения лакомый кусок.

– Я… э-э-э… я должен обсудить это с невестой, – после долгих раздумий все еще сконфуженно пробурчал Тимур.

– Ответ мне нужен не позднее завтрашнего утра. Не позднее.

– Так быстро…

– У меня нет выбора.

– О’кей. Но даже если я соглашусь, – взвешивая каждое слово, произнес Тимур, – вы должны понимать, что отладить код будет непросто.

– Почему? – спросил Штаерман, и Тимур подумал, что тот ничего не понимает в программировании.

– Вы говорите, что наши боты ведут себя не так, как вам хочется?

– Да.

– Для того чтобы это понять, вы должны были скомпилировать мой код и запустить его на выполнение.

Оскар кивнул.

– Вы не могли скомпилировать код, не вставив его в тело основной программы, – развивал мысль Тимур. – Я писал только разрозненные куски, причем не DLL-библиотеки[25], а отдельные классы и процедуры. Коды нужно было дорабатывать, подгонять под основной игровой модуль.

– Конечно. С эти справились наши программисты. И что?

– Мне придется ковыряться в вашем коде, чтобы понять, как он соотносится с моим. Дело в том, что ваша проблема может не решаться в принципе.

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

– Решение должно быть, – ответил Штаерман. – В этом у меня нет никаких сомнений. Ведь поначалу все работало очень хорошо.

– А потом стало работать плохо? – Тимур саркастически хмыкнул. – Код программы – это не металлическая деталь, которая может стереться или сработаться. Он либо работает, либо нет.

– Я не сказал «плохо». Я сказал «не так, как нужно».

Последняя фраза должна была бы насторожить программиста. Но цифра в 160 000 USD просто снесла ему крышу. Выдержав паузу, он сказал:

– Хорошо. Я подумаю, – в голове гудело, словно по ней врезали сковородкой.

– Ответ нужен к завтрашнему утру, – еще раз подтвердил ультиматум Оскар.

«У них таки горит», – отметил про себя Тимур.

– Вечером я позвоню Дмитрию Витальевичу и сообщу свое решение.

– Прекрасно. Я буду ждать, – холодно процедил чилиец.

Тимур поднялся.

– Ты уверен, что хочешь этого? – Пузатый перешел на украинский. – Готов отменить свадьбу? На месте невесты я бы тебе яйца оторвал.

– Не знаю, – пожал плечами программист. Тимур был ошеломлен. В голове бурлило, как в котле. – Такая сумма… Надо все обдумать.

Выходя из кабинета, Тимур еще раз взглянул на директора. Пузатый понял все без слов и утвердительно кивнул.

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

– Спасибо.

– А теперь вали отсюда. И думай. А лучше не думай, а поговори с будущей женой. Понял, салага?

– Да, шеф.

И Тимур закрыл за собой дверь.

IX

Разговор затянулся. Когда Тимур проходил мимо столов коллег к своему рабочему месту, сотрудники заинтересованно оглядывались.

– Ну что там? – ерзая от нетерпения, выпалил Ярик. – Тебя пытали? Ты признался?

Тимур с ходу плюхнулся в кресло и привычным движением руки взлохматил волосы.

– Похоже, светит командировка.

– Куда?

– Еще не уверен. Возможно, в Чили.

Ярик присвистнул:

– Ого! А на фига?

– Сам не знаю, – отмахнулся Тимур.

– И надолго?

– Месяца на два.

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

– А что скажет твоя Алина? Вы же… – Ярик уже открыл было рот, чтобы завершить фразу, но Тимур прервал коллегу, молниеносно поднеся руку с вытянутым указательным пальцем под самый его нос:

– Чувак, исчезни!

– Все-все. Я ничего… Я понял… – забормотал Ярик, скорчив страдальческую мину. – Просто… мне на самом деле интересно.

Тимур тем временем набрал в строке поиска на компьютере «NGF Lab». Поиск не дал никаких результатов. Он стер «Lab» и снова ударил пальцем по клавише «Enter». Поисковая система выдала кучу ссылок на какой-то Nerve Growth Factor (фактор роста нервов – протеин, важный для роста, поддержки и выживания определенных целевых нейронов… бла-бла-бла), National Golf Foundation (Национальный фонд гольфа) и еще много чего, не имеющего никакого отношения к программированию или компьютерным играм.

Тимур пожалел, что сразу не спросил у Штаермана, как расшифровывается «NGF». Потому что это было важно.

X

Толкаясь по дороге домой в пробках на своем стареньком «Chevrolet Lacetti», Тимур хмурил брови и размышлял о том, как встретит известие о переносе свадьбы его невеста. Алина была нормальной девушкой. Нормальной в том смысле, что за десять лет знакомства Тимур не слышал и не видел, чтобы она устраивала скандалы и истерики. Вот только отношения у них были не очень нормальными.

Они были ровесниками. Оба окончили Киевский политехнический институт, только Тимур учился на теплоэнергетическом факультете, а Алина на факультете менеджмента и маркетинга.

Как же вышло, что Тимур переквалифицировался из инженера в создателя компьютерных игр? После первого же семестра парень решил, что с таким уровнем преподавания (большинство преподов в последний раз заглядывали в научные журналы еще при Горбачеве) и взяточничестве, которое, как ржавчина, проело насквозь все кафедры (бо́льшая часть его группы не таясь платила за зачеты и экзамены), ловить ему тут нечего. На втором курсе Коршак начал самостоятельно изучать программирование. Сначала брал конспекты у приятеля с факультета информатики и вычислительной техники, а потом самостоятельно стал штудировать литературу по специальности. Delphi 7, C++, Visual C++, MFC и, наконец, OpenGL… С такими познаниями он легко выдержал испытательный срок в «TTP Technologies».

Познакомились они на первом курсе на одной из общеинститутских студенческих вечеринок. У Алины была прекрасная фигура: плоский живот, стройные ноги, выпуклые ягодицы, от которых нельзя было отвести глаз. К тому же – редкое сочетание – Алина была синеглазой брюнеткой и пользовалась неизменным успехом у парней. За ней, высунув язык, бегало полфакультета, не считая табуна мужчин постарше – собственно, чуть ли не все, кто ее знал или хоть раз видел вблизи. Тимур же тогда ничем особенным не выделялся. Выглядел… ну… как все. Но любовь, как известно, зла. Порой даже слишком. Королева факультета запала на забавного неряху-инженера, повернутого на 3D-моделировании, программировании и компьютерных играх, который никогда не пользовался расческой, ходил в свитере, потертых джинсах и стоптанных китайских кедах.

Почти четыре года Алина всеми возможными способами подавала Тимуру сигналы, что хочет стать его девушкой. Тимур реагировал как медведь на комариные укусы, только раззадоривая девушку. На третьем курсе парень увлекся проблемой искусственного интеллекта и практически отключился от реальности (программисты поймут). Регулярно встречаться они стали только на последнем курсе.

Через год после окончания института Алина намекнула Тимуру, что не против, чтобы они стали жить вместе. Парень колебался. Не то чтобы ему этого не хотелось, но все же такая ответственность, и вообще – зачем спешить?.. Алине надоело ждать. Как-то вечером она как следует его оттрахала и выдвинула ультиматум: или они будут жить вместе, или она от него уходит. Тимур сдался. Они сняли однокомнатную квартиру неподалеку от станции метро «Шулявская».

В следующие три года все было замечательно. Просто волшебно. Пока Алина не решила, что пришла пора переводить их отношения на следующий, высший уровень. Тут и начались проблемы. Тимур все понимал, но упорно не желал делать предложение. Не помогали ни намеки, ни уговоры друзей, ни угрозы разрыва. Во время учебы в институте Алина получала предложения руки и сердца два-три раза в семестр. А теперь судьба откровенно издевалась над ней, подсунув рохлю, привязанного исключительно к компьютерным играм, тяжелому року и пиву «Paulaner».

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

Не сто́ит описывать, сколько всего натерпелась Алина, прежде чем Тимур капитулировал. Но два месяца назад, через шесть с половиной лет после начала официальных отношений, через десять лет после первой встречи парень, наконец, сдался. Бездарно, неизобретательно и коряво – но все же сделал предложение. Алина не жаловалась. Известно: говнюк останется говнюком, даже если потрясающе сделает предложение. Эту фундаментальную истину девушка перефразировала по-своему: хороший парень остается хорошим парнем, даже если предложил руку и сердце так, будто наложив посреди ресторана кучку говна. Свадьбу назначили на начало сентября.

И вот теперь, ползя черепашьим шагом домой, Тимур ломал голову над тем, как сказать, что все переносится на два-три месяца.

В кармане зазвонил мобильник. Это был Пузатый.

– Слушаю вас, Дмитрий Витальевич.

– Я только что разговаривал с девочками из юротдела. Контракт чистый. Это не кидалово.

В этот момент Тимур ясно понял, каким будет его ответ Штаерману. Даже если Алина выльет ему на голову кастрюлю с его любимым грибным супом-пюре, он скажет «да».

– Прекрасно.

– Чувствую, что ты склоняешься к положительному ответу.

– Ну, еще не совсем, но, в принципе, да…

– Дело твое, но хочу обратить внимание на несколько деталей, – с нажимом произнес Пузатый.

– М-м?

– Во-первых, этот пижон уже дважды звонил, интересовался, не надумал ли ты ехать. Не удивлюсь, если он позвонит среди ночи. Мне это не нравится. Франт слишком кипешует и дергается. Как мышь в мышеловке.

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

– Во-вторых, в контракте есть пункт о неразглашении. Ты должен молчать по гроб жизни о том, над чем будешь работать, а также обо всем увиденном или услышанном в лаборатории.

– Думаю, с этим проблем не будет.

– А я думаю, что ты ошибаешься, – отчеканил Пузатый. – И в контракте сказано, что в случае разглашения любой производственной, научной или организационной тайны тебя ждет штраф от 2 до 10 миллионов долларов.

– Ого!

– А позволь тебя спросить, Тимур, у тебя есть два-тире-десять миллионов долларов?

– Э-э… Нет.

– Я догадывался. Я несколько дольше тебя кручусь в бизнесе, поэтому должен предостеречь: такая неподъемная сумма штрафа кое-что значит…

– И что же?

– С тобой никто не намерен судиться. Ляпнешь лишнее, тебя сразу уберут.

Тимур сильно ударил по тормозам. «Lacetti», взвизгнув, клюнул носом и замер. Сзади каскадом раздался возмущенный вой целого ряда клаксонов.

– И в-третьих: я просто не хочу, чтобы ты ехал.

– Плохое предчувствие?

Директор презрительно фыркнул:

– Я похож на того, кто полагается на предчувствия?

– Да нет…

– Парень, ты, конечно, первоклассный специалист, но – при всем уважении – ты не стоишь двести тысяч баксов. И если тебе предлагают такие деньги, то они не за компьютерные коды. Значит, здесь скрывается что-то другое. Хорошо бы узнать, что именно, прежде чем тебя высадят в чилийской пустыне. Подумай об этом.

XI

– Любимая, я дома! – с порога крикнул Тимур. Голос звучал как у столетнего попугая.

Алина, прикрываясь полотенцем, выглянула из ванны. Поблескивали смуглые плечи и мокрые волосы.

– Так рано! – она улыбнулась, подскочила и чмокнула парня в губы. – Мне послышалось или ты вправду назвал меня любимой?

Тимур состроил придурковатую гримасу.

– Я… э… тут… ну… тут такая подстава нарисовалась…

– Подстава? – Алина хихикнула. – Опять твои программистские словечки!

– Это не…

– Раздевайся, – девушка, придерживая локтями полотенце, расстегивала пуговицы на его рубашке. – Иди в душ, – полотенце сползло, обнажив ее крепкую грудь. – Ужин скоро будет готов.

Обычно такое поведение Алины возбуждало Тимура. В течение их совместной жизни его влечение к Алине только усиливалось. Но в этот раз он почувствовал всего лишь укол тоски под сердцем. Он разулся, обнял девушку и затем, аккуратно отстранившись, проскользнул в комнату.

– Я должен тебе кое-что сказать, – если честно, то говорить он не хотел, хотя и понимал, что разговора не избежать.

Несмотря на напряженность голоса, девушка не восприняла его слова всерьез.

– Мне предложили работу.

– Круто. С повышением? Ты уходишь из «TTP»?

– Не совсем. Возник один из прежних заказчиков. Он хочет, чтобы я временно поработал на них.

– Без отрыва от работы в «TTP»?

Тимуру стало жарко.

– С отрывом.

– То есть тебе придется брать отпуск за свой счет?

– Ага.

– И что ты решил?

– Согласился.

– Предложили хорошие условия?

«Бляха, как же ей рассказать?» – парень смог выложить все, кроме главного.

– Да. Хотя есть две особенности, о которых ты должна знать, – Тимур потер пальцами глаза, – которые ты должна понять.

– Что именно? – Алина деревянной лопаткой помешивала на сковороде мясо.

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

– А в случае неудачного?

– Тогда всего лишь сто шестьдесят тысяч.

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

– И какая же вторая особенность, которую мне следует знать и понять? – синие глаза следили за каждым мускулом лица Тимура.

Язык у парня задеревенел:

– Контракт рассчитан на два месяца, но… компания находится в Чили… и мне надо ехать туда…

Алина поджала губы. Мясо начало подгорать, наполняя горьким ароматом тесную кухню.

– Это то Чили, о котором я подумала? – ледяным голосом уточнила девушка.

– Наверное, да.

– Я правильно поняла: ты уже принял предложение и едешь в Южную Америку?

– Да…

Она сделала паузу и переспросила напоследок:

– На два месяца?

Тимур прикусил губу:

– Да. Лечу завтра с утра.

– Ты что, рехнулся? – Алину словно подменили. Ее глаза метали молнии.

– Это только на два месяца.

– На два месяца?! У нас же в сентябре свадьба!

Красные пятна проступили у нее на лице и тонкой шее.

– Я понимаю… – попробовал обороняться Тимур.

– Что ты понимаешь? Как ты мог не посоветоваться со мной?.. – вдруг она побледнела. – Ты бросаешь меня?

– Ну, начинается. Не говори глупостей, – махнул рукой Тимур. – Сначала я не хотел ехать. Но подумай сама – это же двести тысяч баксов. Мы сможем купить квартиру.

– Подумать? А ты чем думал? Что я скажу родителям? Что я скажу всем приглашенным? Извините, свадьба отменяется, он уехал на заработки в Чили?! – Девушка сжала кулаки. – Я знала, что так будет… знала… знала…

– Перестань. Перенесем свадьбу на конец октября.

– Я тебе не верю! Ты… ты… Как ты мог?!

Тимур развел руками:

– Ты опять за свое…

– Я не верю! Не верю тебе! В октябре у тебя снова возникнет работа, контракт какой-нибудь. На полмиллиона. И тебя снова как ветром сдует!!!

Алина больше не могла сдерживаться. Швырнув лопатку в раковину, она выскочила из кухни. Тимур за ней не пошел. Решил немного выждать. Пусть все переварит и успокоится. Через час он снова попробует с ней поговорить.

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

Но едва он раскрыл ноутбук, как в доме, мигнув, пропал свет. Ноутбук мог продержаться еще часа два-три, но роутер без электричества отключился, и доступа к сети не было. Мысленно сетуя на такую подлянку, Тимур закрыл компьютер «Hewlett-Packard», прислонился спиной к стене и, скрестив руки на груди, стал смотреть в темноту.

XII

Все могло сложиться совсем по-другому, и Тимур отказался бы от поездки, если бы в тот вечер в доме 24/9 по улице Вадима Гетьмана не отключили свет. Он бы выбросил из головы обещанные 160 тысяч долларов плюс премиальные, если бы Оскар Штаерман так не спешил с вылетом, и у Тимура был бы дополнительный день на сборы. Он бы послал ко всем чертям «NGF Lab» и ее представителя, если б не задержался утром, собирая дорожную сумку, и пришел на работу заранее, хотя бы за час до того, как за ним приехал Штаерман.

Судьба. Фатум. Карма. Называйте это как хотите. Существовало множество «если бы», из-за которых это путешествие было бы отменено. А суть всех несбывшихся «если бы» состояла в том, что Тимур проверил бы свою электронную почту.

Дело в том, что за миг до того, как в жавшихся к Индустриальному мосту стареньких многоэтажках по улице Гетьмана выбило свет, в почтовый ящик электронной почты Тимура Коршака упало письмо от некой Натальи Хорт. Тимур не был с ней знаком. Наталья тоже не была знакома с Тимуром. Более того, им и не суждено было когда-либо встретиться или познакомиться. Но тем не менее письмо было адресовано именно Тимуру.

От: Natalie1976

Кому: Tym_the_Botfucker

Тема: Предостережение!


Сколько бы ни предлагали, не соглашайтесь на работу в Чили.

Вы пожалеете. Я УЖЕ пожалела…

Муж Натальи, тридцатипятилетний Вадим Хорт, тоже был программистом. И не менее талантливым, чем Тимур. Некоторое время он работал в Москве в компании «МАЙКОН», которая разрабатывала системы инженерного проектирования (CAD[26]), зарабатывая сорок тысяч баксов в год. Два года назад уволился и вернулся в Киев, где, ни с кем не посоветовавшись, подписал мутный договор с еще более мутной «General Genetics» и уехал на год куда-то в Южную Америку. О том, куда именно едет и над чем там будет работать, он никому не сказал. Наталья узнала о месте работы мужа только через несколько месяцев после его отъезда.

За время своего годичного отсутствия Вадим не более десяти раз разговаривал с Натальей по скайпу и не чаще раза в неделю посылал жене электронные письма, где писал о чем угодно, но только не о работе. После окончания контракта Хорт прилетел в Киев – бледный, худой, измученный, с лихорадочным блеском в глазах. Он пробыл в Киеве три дня, после чего объяснил Наталье, что проект не окончен и контракт продлен еще на восемь месяцев. После этого дернул назад в Южную Америку.

Со временем Хорт перестал выходить на связь через скайп. Он регулярно переводил жене крупные суммы денег, которые с каждым месяцем становились все больше. Изредка присылал короткие сухие письма, которые с каждым месяцем становились все короче.

Три месяца назад связь с ним прервалась. Деньги тоже больше не приходили.

Спустя какое-то время Вадим позвонил жене по телефону с незнакомого номера и, скрываясь и переходя на срывающийся шепот, попросил не волноваться. Второпях сообщил, что не может долго говорить, что дела в лаборатории идут неважно, случилось ЧП, кое-что вышло из-под контроля, но волноваться не надо, и как только ему позволят, он снова будет ей писать. Наталья, глотая слезы, спросила, почему он не может писать сейчас. Вадим ответил, что офис отрубили от сети – боятся каких-то вирусов, ситуация нестабильная, и нежелательное влияние извне может ее еще ухудшить.

О вирусах он явно врал. Наталья всегда чувствовала, когда ее муж говорит неправду.

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

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

От: Vadym.Hort

Кому: Natalie1976

Тема: Просьба


Привет, солнышко!

Пишу в спешке – дела не ждут. Есть всего несколько минут. Проблемы почти уладили. Представляю, как это все тебе надоело, но через месяц-полтора меня, наконец, отсюда отпустят. Закончу свой кусок работы, получу премиальные и свалю из этой гребаной пустыни. Не знаю, утешит ли это тебя, но деньги получу приличные. Сможем купить домик где-нибудь в Италии и забыть навсегда заботы о хлебе насущном. Потерпи еще чуть-чуть, любимая! У меня к тебе одна, может, немного странная, просьба. Только не думай о плохом и не задавай лишних вопросов, потом я тебе все расскажу. Просто сделай, как я прошу. Если со мной что-нибудь случится (не волнуйся, я пишу это просто на всякий случай), найди в Киеве Тимура Коршака. Он работает на «TTP Technologies». Фантастически одаренный парень. По-моему, это он спрограммировал мозги ботам из «Сталкера». (Помнишь стрелялку, за которой я засиживался по ночам?) Дело в том, что люди, на которых я работаю, хотят, чтобы он приехал к нам в лабораторию. Они думают, что парень сможет решить проблемы. Я в этом сильно сомневаюсь, но неважно. У меня больше не будет возможности выйти в Интернет, чтобы найти его электронный адрес и написать ему.

Солнышко, очень тебя прошу, если со мной вдруг что-то случится и я вовремя не вернусь в Киев, свяжись с Тимуром Коршаком. Обязательно! Предупреди, чтобы он ни за что не соглашался на эту работу, сколько бы они ему ни предлагали. Ему не стоит никуда ехать из Украины! Так будет лучше…

Скучаю по тебе. Вадим.

Вадим, как всякий настоящий программист, не умел писать жене слезные письма. После его «вдруг-что-то-случится» Наталья три недели глотала валиум и каждый день писала мужу по семь-восемь истеричных мейлов, не получив ответа ни на один.

Целиком поглощенная своей тревогой, Наталья забыла о просьбе мужа. Женщина не собиралась искать Тимура Коршака. Ей не было дела до чужого сопляка, который разрабатывал стрелялки для полупомешанных игроманов, когда ее родной муж, выйдя на связь один раз за месяц, написал такую вот чертовщину.

Но за восемь дней до того, как Тимур с Оскаром Штайерманом должны были вылететь в Чили, 7 августа, Вадим Хорт вернулся в Киев. В цинковом гробу.

Сообщили родственникам – сначала родителям, потом жене. Повезли Наталью в аэропорт Борисполь забирать страшный груз.

Когда гроб привезли в морг, полумертвая от шока и отчаяния Наталья Хорт все же настояла, чтобы обшарпаный ящик, доставленный из Сантьяго-де-Чили сначала в Милан, а потом в Киев, открыли в ее присутствии. Она до последнего не хотела верить, что в гробу ее муж. Должна была убедиться в этом, чтобы знать, кого будет хоронить.

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

В цинковом гробу действительно лежало тело Вадима Хорта. Точнее, то, что от него осталось. Не хватало оторванной выше локтя левой руки. На шее, груди и животе видны были глубокие рваные раны. Левая часть лица также была разорвана: вместо уха торчал кровавый обрубок, левая глазница зияла пустотой, а изрядный кусок кожи от верхней части щеки до виска был выдран с мясом, оголив кости черепа. Вадим Хорт выглядел так, будто попал в лапы крупному хищнику. На лице запечатлелась гримаса глубокого ужаса. Его так и похоронили: никакие манипуляции с мышцами лица не помогли избавиться от ужаса, исходящего от мертвого лица. Мышцы окаменели, красноречиво и в то же время безмолвно свидетельствуя о чем-то страшном, что стало предвестником смерти.

Но была еще одна деталь, которая шокировала Наталью (как и всех остальных, кому не повезло присутствовать при опознании трупа) больше, чем перекошенный от ужаса рот и рваные раны, превратившие тело в кровавое месиво, вместе взятые. Волосы у тридцатипятилетнего Вадима Хорта полностью поседели.

XIII

Пятница, 14 августа, 11:10 (UTC +2)

Терминал «B» международного аэропорта Борисполь

Украина


Штаерман переминался с ноги на ногу у эскалатора, демонстративно громко вздыхал и поглядывал на часы. Чуть в стороне от него стояли Тимур и Алина. Тимур смотрел в пол, девушка – в окно на стоянку перед терминалом.

Время шло. Парочка будто и не собиралась прощаться.

У Штаермана кончилось терпение. Он кашлянул и деликатно, но твердо сказал:

– I think we must go[27].

Тимур посмотрел на чилийца так, словно видел его впервые.

– It’s time[28], – чернявый франт проявил настойчивость. Он реально нервничал. Он не мог позволить себе расслабиться, пока Тимур не пройдет паспортный контроль и не окажется в транзитной зоне аэропорта.

– Сейчас-сейчас, Оскар. Еще чуть-чуть, – отмахнулся Тимур и, набравшись смелости, повернул лицо Алины к себе. – Ну, мне пора. Ты тут… это… не…

Щеки у Алины были горячие, словно она только что вернулась с пляжа.

– Я тебя ненавижу, – она посмотрела ему в глаза.

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

– Я тебя ненавижу, – повторила она, но в голосе уже не было ни капли злости.

– Я знаю. Я – говно.

– Хуже.

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

– И надо было тебе вот так ерепениться! – взъерошивая пальцами душистые волосы, прошептал он на ушко Алине. – Мы не увидимся целых два долбаных месяца, а вчера у нас даже не было секса.

– Секса у тебя не будет еще два месяца после возвращения, – изобразила злость брюнетка. Тимур снисходительно усмехнулся. – Я тебе это обещаю, юноша!

– Ну, это мы еще посмотрим. – Тимур сильнее притянул ее к себе.

– Запомни мои слова! – вспыхнула Алина и больно укусила его за шею.

– Хорошо. Только не сердись. Сразу после прилета я тебе напишу, – Тимур засомневался, сможет ли он выйти в Интернет в аэропорту Сантьяго. – Хотя не знаю. Я постараюсь написать из Сантьяго. Если нет, то сразу, как доберусь до места работы.

– Только попробуй не написать!

Штаерман опять кашлянул и положил руку на поручень эскалатора.

– Все, пошел. Я тебя люблю.

– Пока, – Алина послала ему воздушный поцелуй, выдавила из себя улыбку. – Пиши мне, а то я тебе… – и погрозила кулачком.

– Наконец-то, – выдохнул чилиец.

Тимур поднимался на эскалаторе, стоя на три ступеньки ниже Штаермана. Проехав половину пути, он обернулся и помахал Алине рукой. Жест получился неуклюжим. Можно сказать, даже дурацким. Алина хихикнула и показала ему язык.

Вряд ли она бы так резвилась, если бы знала, что писем от любимого не будет…

XIV

Пятница, 14 августа, 15:34 (UTC +1)

Терминал 4 международного аэропорта Барахас

Мадрид, Испания


Самолет испанской авиакомпании «Iberia» должен был вылететь в Сантьяго-де-Чили в 00:10. Оскар и Тимур пообедали, после чего оставалось только ждать. От нечего делать Тимур включил ноутбук, чтобы попробовать через вай-фай войти в Интернет. Нашел канал без пароля и подключился.

– Эй, амиго! – вдруг обратился к нему Штаерман. После того как в аэропорту Киева они прошли паспортный контроль, чилиец сменил тон и стал вести себя уже не как строгий работодатель, а как рабовладелец. – Побудь здесь. Мне надо подобрать тут еще одного пассажира.

– Кто-то еще летит с нами?

– А ты думал, ты один такой умный?

Тимур вошел на свою страницу на почтовом сервере ukr.net. В папке «Входящие» висело 24 непрочитанных письма. Бо́льшая часть касалась работы. Тимур не стал их читать. В ближайшее время у него будет над чем ломать голову. Зачем тратить время и силы, отвлекаясь на проекты «TTP Technologies»? Несколько сообщений пришло с Facebook. Он быстро с ними разобрался.

После этого непрочитанным осталось всего одно письмо. Отправитель – Natalie1976, тема – «Предостережение!».

Что еще за Натали? 1976 скорее всего означает год ее рождения, предположил Тимур. То есть она старше большинства его знакомых и младше всех его начальников. Наверное, это просто спам. Тимур провел пальцем по тачпаду, собираясь открыть письмо. Но тут перед ним возник Оскар Штаерман.

– Вот познакомься, – апатично бросил чилиец по-английски, – это Игорь Емельянов.

Рядом со щеголеватым Штаерманом стоял неряшливо одетый полноватый человек лет сорока.

Профессор Игорь Емельянов, – ядовито уточнил новоприбывший. Нижняя губа презрительно оттопырена, щеки обвисли, как у бульдога, засаленные волосы падают на лоб.

– А это наш программист, – не обращая внимания на поправку, продолжил Штаерман, – Тимур Коршак.

– О, – с лица русского сошло надменное выражение. – О-о, – снова повторил он, дважды передернув кустистыми бровями.

– Вы говорите по-русски? – спросил Тимур, удивленный реакцией профессора.

– А как мне еще говорить? Не на китайском же?

«Еще один псих», – подумал Тимур, а вслух сказал:

– Откуда вы меня знаете?

– Я тебя не знаю. Мы только что познакомились, забыл?

– Тогда почему такая реакция?

– Какая?

– Это ваше «о-о».

– Я видел твою работу.

Тимур насторожился.

– Прошу прощения, – прервал их разговор Штаерман, – должен сообщить, что мне не удалось достать места в бизнес-классе. Я поздно обратился за билетами в «Iberia».

– Хочешь сказать, что мы полетим в эконом-классе? – завелся толстячок, переходя на английский.

– Именно.

– Посмотри на меня! Как ты это представляешь, Штаерман? Я похож на человека, который способен весь этот долбаный перелет тереться локтями о всякую вонючую деревенщину? Я никуда не полечу! Снимай отель. Когда будут нормальные билеты, тогда и полетим.

На скулах у Штаермана заходили желваки. Но он сдержал себя:

– Мы не можем ждать, профессор. Полетим в эконом-классе. Я взял каждому по три соседних места в конце салона. Конечно, это не кровать в бизнес-классе, но можно поспать и никто не будет толкать локтями.

Емельянов подвигал обвисшими щеками:

– Все так серьезно?

Чилиец кивнул несколько раз подряд.

Пока они препирались, Тимур вернулся к непрочитанному письму. Нажал на клавишу, чтобы открыть текст. Однако письмо не открылось, вместо этого появилась главная страница ukr.net. Видимо, пока он разговаривал с русским, связь с сетью прерывалась, и теперь почтовый сервер снова просил ввести логин и пароль.

Тимур терпеливо набрал их. Это заняло еще минуту.

Открыв свою страницу, он снова подвел курсор к заголовку «Предостережение!». Что-то словно звенело у него в ухе, говорило ему: он должен прочесть это письмо.

Но Емельянов как раз закончил разговор со Штаерманом.

– Ладно, – согласился профессор, – летим в эконом-классе, – и плюхнулся в кресло рядом с Тимуром, толкнув парня локтем и чуть не сбросив ноутбук на пол. Тимур мог бы и возмутиться, если бы не последняя фраза профессора. Она направила мысли в другое русло.

– Вы знаете, куда мы летим? – спросил программист.

Емельянов хмыкнул с видом человека, который знает все:

– Мы летим разгребать кучу дерьма, которая образовалась из-за тебя.

– Послушайте, – Тимур обиделся, оторвавшись от экрана, – если пользователь недоволен работой программиста, то не всегда виноват программист. Как я могу нести ответственность за код, который не я компилировал? Вы не имеете права судить о моей компетентности по обрывкам. Неужели не понимаете: невозможно отредактировать программу, которой не существует? Мне заказали только сырой код…

– Ты, похоже, не врубился в ситуацию, – с легкой грустью в голосе перебил его профессор. – Никто не ставит под сомнение твой профессионализм, никто не упрекает тебя. Там, куда мы летим, возникли проблемы. Судя по спешке, с которой мы туда направляемся, проблемы до черта большие. Но дело не в том, что ты дал маху в концепции или настрочил дырявый код. Все, что сейчас творится в Атакаме, произошло потому, что ты слишком хорошо сделал свою сраную работу. – Русский замолчал, невидящими глазами уставившись прямо перед собой. И повторил: – Слишком хорошо, черт побери.

Профессор снова озадачил Тимура, и парень некоторое время сидел в задумчивости. Пока не услышал длинное «би-и-ип», раздавшееся из динамика ноутбука. Он сигнализировал о том, что заряд батареи снизился до критического уровня. Через секунду экран погас.

Если бы Тимур опустил глаза на экран на минуту раньше и прочел письмо Натальи Хорт, сейчас он бы уже искал нужную стойку, чтобы купить себе билет обратно в Киев. К сожалению, перепалка Штаермана с Емельяновым и слабый сигнал вай-фая помешали ему. Зарядное устройство от ноутбука лежало в сумке, которую он сдал в багаж в Борисполе. Сейчас сумка кочевала между багажными терминалами в недрах Барахаса. Поэтому у Тимура не было никакой возможности подзарядить свой компьютер.

А это было последнее «если бы». Тимур так никогда и не узнает, кто такая Natalie1976 и от чего она хотела его предостеречь.