Максим Кидрук - Бот
VI
Фрэнк Ди’Анно, который рассчитывал провести на севере Чили максимум пять дней, задержался там на долгих три недели. Ему пришлось сменить комфортабельный гостиничный номер в Каламе на мрачный следственный изолятор в Сантьяго.
Но ни частые изнурительные допросы Ди’Анно и Рейеса, ни тщательная проверка томографа не дали следствию никаких зацепок. Томограф оказался исправен и работал как швейцарские часы. Независимый эксперт подтвердил, что подобный инцидент мог произойти, только если череп несчастного мальчика был выложен изнутри металлическими пластинами, которые под действием магнитного поля могли разворотить ему голову. Однако никаких металлических пластин не было, и ничего не дали и новые исследования трупа. В крови мальчика был обнаружен целый букет гормональных стероидов, в частности альдостерон[14], и это было странно, но никак не объясняло, с чего это вдруг его голова лопнула, как упавший с дерева переспевший абрикос. Во всем остальном это был совершенно обыкновенный двенадцатилетний мальчик.
Еще более странно сложилась ситуация с идентификацией пустынного найденыша. Его никто не искал. Ни до, ни после инцидента никто не обратился в полицию с заявлением об исчезновении белокурого мальчика, ни одна из отдыхавших в Чили семей детей не теряла, в МИД не поступило ни одного запроса от зарубежных посольств. Скрупулезный поиск в базе данных таможенной службы среди иностранцев, въезжавших в страну в последние полгода, тоже ничем не помог. Формально пацана просто не существовало.
Следствие зашло в тупик.
В общем, продолжение дела сулило проблемы, которых никто не хотел. Поэтому спустя некоторое время тело мальчика отвезли обратно в Атакаму и там закопали. Папку с делом сожгли. Фрэнку приказали уносить подальше ноги (для верности влепив в паспорт ярко-красный штамп «ДЕПОРТИРОВАН»). Что он с радостью и сделал.
Никто не подозревал, что странный инцидент — это лишь начало настоящих проблем.
Вызов
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», шли «настоящие» дожди, непрерывно дули ветра, солнце пряталось за тучи и снова выходило из-за них, причем все это не было заранее запрограммировано на конкретное время и место, а происходило по «естественным» причинам, так же, как и в природе.
Тимур специализировался на ботах. Его основная задача состояла в том, чтобы «житель» такого совершенного виртуального мира вел себя реалистично. Однако из-за большого количества различных процессов, которые одновременно моделирует программа (они называются потоками), очень непросто научить бота правильно выбирать дорогу, обходя заболоченные или заросшие кустами места, прятаться с учетом текущей видимости, безошибочно определять «живые» объекты (других ботов или игрока) в среде, где движется практически все, и при этом не забывать о своей главной задаче: атаковать или защищать игрока — единственное по-настоящему мыслящее существо игрового мира. Никогда не знаешь, в каком месте и в какое время потоки пересекутся друг с другом. После того как была разработана базовая концепция «игрового интеллекта» и создано программное ядро, возникли проблемы. Оказалось, что встроить ботов в игру — еще полдела. Намного сложнее отучить их от неадекватных действий в такой сложной реальности, а именно: от расстреливания кучек опавшей листвы, взвеянной налетевшим ветром, петляния между лужами, когда до противника остаются считанные шаги, и тому подобной деятельности.
(adsbygoogle = window.adsbygoogle || []).push({});