Мов пяний, Джей-Ді вивалився на вулицю і почовгав до готелю. Голова гуділа гірше за розтривожений бджолиний вулик. Плечі здригалися, а серце зависало від кожного шереху, що висковзував із заллятих пітьмою провулків. Повсюди йому ввижалися загадкові й злі білошкірі хлопчики. Річардсон не вірив у духів, телепортацію, дуплисті дірки у просторі, викривлення часу і всяку іншу подібну чортівню, а тому опирався страху, намагаючись розвязати парадокс, силкуючись знайти прийнятну відповідь.
Біля самого готелю лікар спіткнувся об невисокий бордюр і ледь не загримів додолу, черкнувши долонями порепаний асфальт. У цей момент щось немов блиснуло перед очима. Випроставшись, він завмер. Злякався, що думка вилетить, так і не скристалізувавшись. Цього, на щастя, не сталося.
Хлопчики промимрив Джей-Ді.Не хлопчик, а хлопчики
І тоді Джей-Ді Річардсон, сорокапятирічний кардіохірург, який насправді має до подальших подій вельми опосередковане відношення, який за кілька годин вирушить назад до Окленда, завдяки чому щасливо уникне того паскудства, котре розпочнеться в безлюдних надрах Атаками, став першим, хто зробив (поки що) єдиний правильний висновок у цій історії.
«Значить, їх було двоє», подумав Джей-Ді.
VI
Френк ДіАнно, який планував пробути на півночі Чилі щонайбільше пять днів, залишився там на довгих три тижні. Йому довелось поміняти зручності готельної кімнати в Каламі на похмурі стіни слідчого ізолятора в Сантьяго.
Втім, ні численні виснажливі допити ДіАнно та Рейеса, ні ретельна перевірка магніто-резонансного томографа не дали результатів. Апарат виявився справним і працював, мов швейцарський годинник. Незалежний експерт підтвердив слова австралійця стосовно того, що інцидент, який трапився у клініці Калами, є неможливим, якщо тільки черепок того білошкірого бідолахи не був викладений зсередини якимись металевими пластинами, котрі під дією магнітного поля розірвали його довбешку. Однак металевих пластин не було, а нові обстеження тіла нічого суттєвого не дали. У крові малого виявили цілий букет гормональних стероїдів, зокрема, альдостерон 1, і це було дивно, але аж ніяк не пояснювало, з якого дива голова хлопчика репнула, мов перестигла абрикоса. В усіх інших аспектах то був цілком звичайний дванадцятирічний хлопчак.
Ще більш дивно склалась ситуація з ідентифікацією пустельного знайди. Його ніхто не шукав. Ні до, ні після інциденту ніхто не звертався в поліцію із заявою про зникнення білявого хлопчика, жодна родина під час відпочинку в Чилі не губила дітей, до МЗС не надходило жодної ноти від посольств іноземних держав. Скрупульозний пошук у базі даних митної служби серед іноземців, які вїжджали в країну за останні півроку, також нічим не допоміг. Формально пацана просто не існувало.
Слідство зайшло у глухий кут.
А потім Ніхто не хотів ще більших проблем. Одного дня тіло хлопця відвезли назад в Атакаму і закопали на пустирі за Каламою. Кримінальну справу спалили (в буквальному сенсі), а Френку ДіАнно наказали забиратися геть (для певності влупивши у паспорт яскраво-червону печатку «ДЕПОРТОВАНИЙ»). Що він із радістю виконав.
Ніхто не усвідомлював, що дивний інцидент є лиш початком справжніх проблем
Альдостеронгормон кори надниркової залози. Забезпечує регуляцію водно-соляного обміну між зовнішнім та внутрішнім середовищем людини. Під впливом альдостерону в організмі відбувається затримка хлоридів та води, він сприяє збільшенню обєму крові та підвищенню артеріального тиску.
Виклик
VII
Четвер, 13 серпня, 10:05 (UTC +2)
Відділ «Gaming AI» компанії «Time-To-Play Technologies»
Київ, Україна
Тимур Коршак завершив переглядати пошту, коли на столі дзенькнув телефон.
Я слухаю, хлопець підняв трубку.
Тимуре, у слухавці пролунав сухий голос боса, примусивши хлопця мимоволі напружитися, ти не зайнятий?
Ні Поки ніТимур нахмурився. Ранкові дзвінки від начальства, як правило, нічого доброго не віщували.
Шеф витримав довгу незрозумілу паузу, а тоді безбарвно проказав:
Тоді підривай свою гепу і пензлюй до мене в кабінет. Є розмова.
Хлопець скривився. Якщо директор по розробці з самого рання запрошує до себе в кабінет, жди неприємностей. Такий дзвінок означає одне з двох: або надтермінове завдання з розряду «всрися-здохни-але-зроби», коли від тебе вимагають по десять тисяч рядків коду в день, або ж позапланову роздачу тирлів (як правило, через те, що якийсь мегапросунутий «довбоюзер» протягом минулої доби замордував до втрати пульсу всю службу підтримки). А найчастіше і перше, і друге відразу.
Зараз буду, мугикнув Тимур і відклав трубку, розуміючи, що день, який почався так чарівно, має всі шанси навдивовижу швидко зіпсуватися.
Поки він у задумі мяв руками розкошлане неслухняне волосся, над перегородкою, що розділяє робочі місця, вигулькнула опецькувата голова Ярика.
Тлустий Мазефака кличе на килимок? спитала голова, дожовуючи ранковий пончик. Офіційно директора по стратегічному розвитку та розробці (скороченодиректор з СРР) величали Дмитром Віталійовичем. Проте колоритне прізвище боса Пузатий, а також паскудний сварливий характер, як у ведмедя, котрого розбудили на два місяці раніше, не залишали йому шансів: поза спиною підлеглі знущалися з шефа, вигадуючи йому щораз химерніші прізвиська.
Тимур неохоче кивнув.
Буде бити? з неприхованою надією і сарказмом у голосі запитав співробітник.
Не знаю.
А є за що? не відставав Ярослав.
Тимур замислився. Ніби останнім часом нічого не партачили.
Не знаю, чувак
Значить, «за старе», авторитетно заявив Ярик.
Отримувати тирлів «за старе» було особливо прикро. Зазвичай після цього доводилось длубатися у старезних програмних кодах, які ще бозна-хто після тебе латав і перекроював, заново вникати в концепцію модуля, а то й цілої програми, вишукувати купу додаткових файлів з функціями та класами, котрі, швидше за все, давним-давно не використовуються.
Хріново промимрив Тимур. Гаразд, піду, поки він не почав верещати.
Удачі,єхидно підморгнула голова і шаснула за перегородку.
Тимур перевів робочу станцію у сплячий режим. У чорноті дисплея відобразилося його обличчя: правильний овал лиця, дещо зіпсований відстовбурченими вухами, посеред якого спокійно зблискували світло-сірі, практично безбарвні очі. Високий та широкогрудий, Тимур не виглядав як затятий програміст із перманентною тижневою щетиною, горбатою спиною та «рятувальним поясом» з жиру навколо живота.
Відштовхнувшись разом із кріслом від стола, Тимур встав і почвалав до начальства.
VIII
Підіймаючись сходами з другого на третій поверх, де знаходилися кабінети аналітиків та дирекція, Тимур розмірковував, що могло спричинити ранковий виклик.
«Time-To-Play Technologies» зробила собі імя на тому, що називається «gaming environment»ігрове оточення. Спеціалісти «TTP» роками розробляли математичні моделі вітру, трави, кущів, дерев, окремих листочків, дорожнього каміння, навіть пилу, а також алгоритми їхньої взаємодії. Завдяки тривалій співпраці математиків, фізиків, 3D-моделерів та програмістів компанії вдалося створити максимально наближену до дійсності подобу реального світу. Причому мова не тільки про візуалізацію. В іграх, що випустила «Time-To-Play Technologies», йдуть «справжні» дощі, безперестанку дме вітер, сонце ховається і виходить з-за хмар, при цьому дані явища не запрограмовані на конкретний час та місце, вони виникають самі по собі, за тих же умов, що й у природі.
Тимур у «TTP Technologies» спеціалізується на ботах. Його основне завдання полягає в тому, щоби «мешканець» такого досконалого віртуального світу поводився реалістично. Через велике розмаїття процесів, які відбуваються одночасно в ігровому просторі (у програмуванні вони називаються потоками), доволі непросто навчити ботів правильно вибирати дорогу, оминаючи мокрі чи надто зарослі зеленню місця, ховатися з урахуванням поточної видимості, безпомилково ідентифікувати «живі» обєкти (інших ботів або ж гравця) у середовищі, де рухається практично все, і при цьому не забувати про головнеатакувати чи захищати гравця, єдину по-справжньому мислячу істоту ігрового світу. Ніколи не знаєш, у якому місці і в який час потоки перетнуться між собою. Після того, як низову концепцію нового «ігрового інтелекту» сформулювали і запрограмували ядро, почалися проблеми. Виявилось, вписати ботів у нову модельще півсправи. Набагато важче відівчити їх від неадекватних дій у такій складній реальності. Доводилося «відучувати» бійців розстрілювати купки опалого листя, котре випадковий порив вітру подеколи зривав з дерев і ганяв по тривимірній сцені, петляти між калюжами, коли до цілі лишаються лічені кроки, і таке інше.
Відтак створені Тимуром боти не просто носяться сценою, стріляють чи ухиляються від куль, вони взаємодіють з середовищем. Аналізують віртуальний світ. Завдяки цьому гра виходить неповторною. Скільки б разів гравець не проходив один і той самий рівень, йому ніколи не вдасться провести гру однаково.
Вихід у світ першої частини FPS «Stalker» добряче струсонув світову індустрію ігор. В одних тільки Штатах продали понад два мільйони примірників, а чистий прибуток компанії становив 14 мільйонів доларів. Причина такого успіху полягала не тільки в майстерно вимальованому і звязному ігровому середовищі. Фанатів компютерних стрілялок підкорили персонажі гри, що якісно відрізнялись від «прямолінійних» ботів у «DOOM 3», «Half-life 2» чи навіть «Unreal ІІ: Awakening». Боти були настільки реалістичними, що часом видавалися живими. За два роки нікому не відома українська компанія міцно закріпилася на ринку, заграбастала купу замовлень і навіть почала формувати тренди в індустрії. І все це значною мірою завдяки Тимуру.
Крокуючи коридором, Тимур міркував над тим, що могло викликати гнів начальства. Четвертий add-on до «Сталкера» випустили на ринок півроку тому. «Баги» там були, проте стосувалися виключно сюжету гри та текстур на окремих 3D-моделях. Його боти були ні до чого. Нове покоління бійців, над яким він працює зараз, на даний момент перебуває на стадії ескізного проектування. Дай Бог, щоб за два роки їх направили до тестерів.
«Значить, якщо влетить, то точно за старе», зметикнув хлопець, спинившись перед кабінетом директора з СРР. На мить затримався, прислухаючись. Із-за дверей долітали притишені голоси. Тлустий Мазефака був не сам, перемовляючись з кимось англійською.
Хлопець набрав повітря у легені і постукав.
Заходьте, долинуло крізь двері.
Тимур начепив на лице маску безтурботності і переступив поріг.
О, Тимуре! Вітаю, вітаю! Заходь Сідай, директор жестом запропонував йому одне з крісел.
Пузатий був дебелим чоловіком, геть лисим, з відповідним прізвищу півсферичним черевом і задиристою мясистою щелепою. Повернувшись до візитера, засмаглого іноземця в піжонському діловому костюмі, що сидів, розкинувшись, на шкіряному дивані по інший бік переговорного стола, він проказав англійською з жахливим акцентом:
Here is that guy,і недвозначно кивнув на Тимура.
Хлопець стиха привітався і вмостився на стілець, здогадуючись, що перемовини між цими двома велися про нього.
Okay I seeповільно відповів незнайомець. Hes so young.
Only twenty seven.
Thats strange.
Чоловік сидів, заклавши ногу на коліно, і недбало роздивлявся Тимура. З темних очей віяло холодом і в той же час незбагненною приреченістю. Хлопець раптом зрозумів, що тирлів не даватимуть. Полегшення ця думка чомусь не принесла.
Це Оскар Штаєрман, представив незнайомця директор. Штаєрман був чилійцем з єврейським корінням.
Тимур Коршак, хлопець стримано кивнув.
Nice to meet you, Tymur,у мові Оскара теж проривався ледь вловний іспанський акцент. І жодної нотки, що свідчила б про повагу.
Памятаєш замовлення трирічної давності від «General Gene-tics»? Пузатий крутнувся на кріслі, заговоривши українською. Ті чудила, що замовляли лише код.
Тимуру не потрібно було мордувати память, аби пригадати той чудернацький проект. Найбільш незвичайне, але в той же час чи не найлегше завдання за весь час його роботи на «TTP Technologies». «General Genetics», що нібито розробляла компютерну гру в стилі «екшн», замовила ботів, навчених діяти у командіодним великим роєм, але (!) при цьому не надала практично ніяких вихідних даних і не представила середовища, в якому мала проходити гра. Замовник потребував лише «сирий» код.
Шефе, ви мусите розуміти, нахилившись, зашепотів Тимур, я не компілював той код. То було просто немислимо! Я ж не можу взяти й скомпілювати окрему процедуру чи вирваний з контексту клас. У нас не було жодного шансу протестувати власні розробки під час реальної гри. Тож, якщо у них
Заспокойся, обірвав його бос, я добре памятаю ту химерну заявку. До тебе немає жодних претензій. Якраз навпаки: в даній ситуації я цілком на твоєму боці.
Тоді я не розумію, в чому проблема? І чому вони схаменулись аж зараз? Спливло цілих три роки!
Пузатий знизав плечима:
Поговори з цим піжоном. Він мені нічого не пояснює. Хоче балакати лише з розробником, цебто з тобою.
Про що?
Про те, що його хвилює І не кіпішуй, очі Пузатого хитро зблиснули. Сподіваюсь, нам вдасться витрусити з нього трохи грошенят.
Тимур випростався в кріслі і спробував посміхнутися.
Хай, Оскаре! вдруге привітався хлопець і далі діловито заговорив англійською:Це я писав коди на ваше замовлення три роки тому.
Так. Я вже знаю.
То що у вас негаразд?
У мене все чудово, говорячи, Штаєрман майже не мінявся на лиці, наче замість шкіри у нього була гумова маска, але ваші боти з ними почались проблеми.
Не сприйміть за банальну відмовку, але в тому немає моєї вини, пиндючність напомадженого гостя трохи дратувала Тимура. Згадайте ваше технічне завдання. Та його не було! Я був наче тесля, якого примусили стругати віконні рами, не показавши розмірів вікон.
Так було потрібно, мовив Оскар.
Воля ваша! Але що робити мені? Минуло цілих три роки. За цей час ви навіть не повідомили, чи підійшла вам концепція. Для моїх ботів потрібен специфічний ігровий простір. Цілком імовірно, вони виявились надто складними для вашого математичного ядра.
Складними? перепитав гість, якось дивно посміхнувшись. О, ні. Вони були чудовими. Ідеальними! Вони аналізували все, що відбувалося, вони приймали рішення, вони співпрацювали між собою, діючи, наче справжній загін Для нас саме це було головне.
Тимур ніяк не міг второпати, чому Штаєрман розповідає про віртуальних бійців у минулому часі. Він наче розказував про живих людей. І це добряче різало вуха.
І що ж трапилося? Хтось наколобродив, оптимізуючи код?
Оскар стулив рота, аж на щоках проступили жовна, і витріщився у вікно. Коли він повернув обличчя назад, Тимур встиг (уже вдруге) розгледіти в його погляді відблиски безрадісної фатальності і ще чогось такого, чого він геть не очікував узріти в очах пихатого заморського стиляги Неконтрольований страх? Паніка? За мить Штаєрман взяв себе в руки, але так і не відповів на запитання.
Давайте я скажу кілька слів, встрянув директор. Ми зараз міняємо концепцію побудови світу, певна річ, він говорив про віртуальний ігровий простір, тривимірну сцену, та все одно слова прозвучали кострубато й пафосно. Він виглядав неначе Зевс на Олімпі. У найгіршому, якщо можна так висловитися, значенні.Замість опису поведінки окремих обєктів, як то дерева, хмарки, струмки чи озера, ми переходимо до агентно-орієнтованого підходу. Якщо раніше хмарка являла собою 3D-модель, що змінювала форму, розмір, колір та прозорість залежно від концентрації вологи, рухалась у визначеному напрямку, зрідка зливаючись з іншими моделями свого типу, то тепер цевеличезне скупчення, така собі мережа або рій крихітних агентів, що несуть у собі набір функцій для взаємодії з суміжними агентами. Така краплина-агент може «випаровуватись», «конденсуватись», набувати «кристалічної форми» залежно від зовнішніх умов, а також від стану сусідніх агентів, попри паскудний характер, директор з розробки «TTP Technologies» був чудовим спеціалістом. Він продовжував:Уявіть, як розігріта хмара-рій потрапляє в зону холодного повітря. Граничні або поверхневі агенти швидко охолоджуються і перетворюються на вологув ігровому світі йде дощ. Під час конденсації з агента-краплини виділяється енергія у вигляді тепла. Якщо повітря досить швидко нагрівається, дощ стихає, а хмара, що втратила частину агентів, суне далі. Якщо ж холодне повітря продовжує надходити, внутрішні агенти також почнуть конденсуватися і злива не припинятиметься, поки хмара не вичерпається. Агенти на землі збиратимуться в калюжі, струмки чи озера, поки не випаруються знов. Отакий безперервний колообіг!