Моя рука отодвинулась от камеры. Я посмотрел на своё изображение и заметил несколько добивавшихся морщинок. Возможно сказывалось количество перенесенного стресса и тяжёлого труда за последнее время.
— Привет народ, с вами Рэм, канал Бункер Теслы. И это мой влог, в котором я кратко отчитаюсь о проделанной работе. Сегодня у нас двадцать первый день с начала новой эры.
Начну по порядку, система Рубежей начала свою работу. Пока со скрипом, но потихоньку люди начинают привыкать. Главным своим достижением в новой программе я считаю то, что больше ни у кого нет времени на рефлексию. Главы рубежей активно насаждают дисциплину, что создаёт в головах людей ощущение стабильности и порядка. На мой взгляд это положительно скажется на всех, особенно на тех, что потеряли родных. Ведь я заставляю каждого уяснить, что Цитадель теперь наш дом, а рубежи наша семья. Иного не дано!
Теперь так же кратко коснусь системы обороны с помощью турелей. Во-первых, я сам охренел, когда увидел их эффективность. Стальные подшипники, плюс давление в четыре атмосферы с системой наведения по фейс-айди выносят эти самые фэйсы к херам. Правда справедливости ради стоит сказать, что пару раз система дала сбой, когда навелась на выживших из девятиэтажки. Один человек погиб, ещё один получил сильный ушиб. Однако в пылу боя этого никто не заметил. Придется мне хранить этот секрет на своей совести. Благо я воспринимаю всё происходящее как игру, иначе ебнусь. Так что у нас был небольшой сопутствующий ущерб, вполне приемлемый, раз мы не потеряли никого из первого рубежа. Но этот технический момент поправим, можно заставить всех носить шлемы с QR-кодами, например, подумаю вообщем. Так что четырнадцать минус два, получаем прирост населения в двенадцать человек!
Раз уж зашла речь о приросте, то стоит упомянуть и несколько интересных кадров, которых нам удалось заполучить в результате успешного завершения квеста «ДЕВЯТИЭТАЖКА».
Одна из спасённых оказалась умелым стрелком из арбалета. Стоит только вспомнить способ доставки послания, — я хмыкнул, — её без лишних вопросов записали во второй рубеж.
Второй оказался автомеханик, что меня безумно обрадовало. Наличие кадра, шарящего в тачках снимет с меня большую часть тупой нагрузки и работы с людьми в цеху. Я уже сказал Николь пристроить к нему несколько людей из звания «сервопривод» для скорейшего обучения, но с удивлением и удовольствием узнал, что она уже отдала такой указ!
А вот третий кадр! — я отхлебнул кофе. — Живая легенда! Подполковник запаса, с позывным Гроза! Когда Иваныч узнал его, то носился за ним со старым диском на котором был фильм про войну, чтобы тот его подписал! — я усмехнулся. — Короче, я несказанно рад, что у нас наконец появился такой человек. Мне пока удалось перекинуться с ним лишь парой слов, но первое, что он у меня попросил, после благодарности за спасение, это возможность руководить разведывательной группой для вылазки в лётное училище, дабы раздобыть оружие и снаряжение. К моему удивлению, Бразерсу пришлось бросать жребий, чтобы выбрать следопытов, чтобы пойти на вылазку с подполом, так как желали все! Знаю, меня многие упрекали в самом начале, что я не дернулся за пушками, а занимался защитой кооператива, но теперь, когда этим делом руководит профессионал, мне стало гораздо спокойнее. Думаю, когда они вернутся, то я пообщаюсь с подполковником подольше, но видимо нахождение взаперти претит такому человеку, раз он в первый же день вырвался в разведку.
Ещё, что? Да! Во время выполнения квестов себя очень эффективно показали дроны! Моргающие светодиоды сильно дезориентировали заражённых и у системы наведения было несколько свободных секунд на расчеты и выстрелы. Так же круто себя показала заряженная «черепаха»! За это «изобретение» Вольдемар первым получил звание «Мастер»! — я улыбнулся и сделал еще глоток кофе. — Но конечно же я то знаю, кто здесь главный «мастер», — рассмеявшись я откинулся в кресле. — Кстати это звание, пускай оно даже пока и формальное, но сильно подстегнуло остальных сидеть и пыхтеть над изобретениями, — моя ладонь постучала по небольшой стопке чертежей, — кое-кто уже даже накидал собственные схемы, однако я понимаю, что у меня практически нет времени, чтобы их разбирать прямо сейчас. В будущем мне нужен будет ещё один техник, высокого уровня, что будет проверять результат мозгового штурма наших граждан.
Мда, и в лучшие деньки заметно сказывалось отсутствие людей с руками из плеч, а сейчас так уж тем более. Из спасенных, все остальные были простыми менеджерами, офисными работниками и госслужащими. Правда одна старушка была учительницей в школе, но по литературе. Но я не отчаиваюсь, как говорится, жизнь научит.
Что ещё, ах да, у Пал Петровича дела идут не лучшим образом. Судя из последнего разговора, наш посёлок скатывается в средневековое мракобесие. А у людей всего лишь две недели нет интернета. Видимо стрессовая ситуация и харизматичный лидер в лице их знахарки быстро разжижают перепуганный мозг обывателя. Полагаю стоит подумать на досуге о том, как вытаскивать оттуда его с Танюхой.
На этом пока всё, мой небольшой отчёт закончен. На связи был Рэм, всем пока! — я выключил камеру.
Развернувшись на кресле, я покатился в сторону верстака. Новая модель костюма впечатляла даже меня. Стальной колос разительно отличался от предыдущей версии. В этой модели я решил сделать резервную возможность управления, если лепестки корпорации ИнтерРоб выйдут из строя. После их связи с Уроборос я посчитал важным перестраховаться.
Мне не терпелось снова взобраться в костюм, опять начать ходить, испытать ту непередаваемую мощь и защиту, какую даёт железо, контролируемое электричеством.
Приблизившись, к нему, я пробежался взглядом по мышцам из сервоприводов и жилам гидравлики. От холодного металла веяло опасностью, казалось, что ещё чуть-чуть и железный гигант оживёт, сделав вдох из пневматики. Я дотронулся до косы сплетения слаботочных проводов, будто желал ощутить связь с ним через прикосновение к будущим нервным окончаниям.
Но несмотря на уже практически сформировавшееся тело костюма, он всё ещё был не более чем анатомичным каркасом. Затаив дыхание, я перевёл взгляд на стол, где рядом с ним лежали микросхемы, что должны были стать его мозгом. У меня мелькнула мысль, что даже с собранным компьютером, костюм продолжит быть куском железа, так как в нём ещё нет программного кода, что заставит это слияние металла и электрического тока действовать согласно алгоритму.
Улыбнувшись, я подумал о том, что мы, люди, во многом похожи на этот костюм. У нас так же есть тело, есть провода нервы и вены-гидравлики, есть мозг-компьютер способный обрабатывать поступающие данные. Но, в отличии от костюма, у нас есть воля, которая заставляет двигаться вперёд и достигать своих целей, заложенных природой.
— Воля, — вслух сказал я, положив руку на стальной скелет, — я стану твоей волей! Нам осталось лишь найти общий язык.
Собирать и разбирать компьютер я научился ещё в детстве. Кулеры сюда, жесткие диски туда… Для меня это было лёгкой задачей, так что уже через час-полтора я установил все мозги для костюма. В этот раз они отличались в разы от предыдущих. Огромный стальной бокс, какой был в прошлой модели, пришлось разделить на две части и добавить ещё два поменьше сверху. В совокупности получалось, что у меня за спиной находился небольшой сервер, который, благодаря совокупности языков кодирования, по мощности можно сравнить с громоздким компьютером какого-нибудь университета.
Надёжно скрыв его за бронёй в герметичных контейнерах с водяной системой охлаждения, я быстро подключил коннекторы в разъёмы. Затем подал питание со станции и запустил небольшой компрессор. Индикаторы загорелись, а шланги гидравлики набухли от давления. Костюм был готов к физической работе, но в нём не хватало главного — души из алгоритмов и направляющей их воли.
Наступал не менее важный процесс, чем проектировка или сварка.
Я отъехал от костюма и взял в руки ноутбук, от которого тянулась коса слаботочных проводов к костюму.
Закрыв глаза, я затаил дыхание, прислушиваясь к тишине мастерской, что должна была стать свидетелем оживления металла…
Открыв глаза, я отпускаю все чувства освобождаю мысли от всех текущих задач и проблем. Передо мной открывается программа, и я словно ныряю в мир нолей и единиц через светящийся портал. Пальцы буквально срастаются с клавиатурой, я не замечаю как их переставляю. Мне начинает казаться, что код появляется благодаря лишь одной силе мыслей и на экране появляются первые алгоритмы. Подобно шаману древности я стучу по клавишам как в бубен, разговаривая с этой вселенной на языке символов, что даже если будут озвучены, то непосвященный человек не поймёт их значения и силы.
Я продолжаю камлать. Руки дрожат от напряжения. Я задерживаю дыхание на выдохе, но лишь для того, чтобы услышать первый вдох костюма, что делает это через тихо загудевшие кулеры. На краткий миг закрыв глаза, полностью насладившись первым вдохом железа, открываю их, дабы снова нырнуть в синюю бездну экрана.
Периферийным взглядом я вижу, как сердце костюма — материнская плата, замерцала огнями диагностики. Пробуждающийся электронный разум, начинает знакомиться с миром, действуя по моим прописным законам. Сперва он пытается ощутить собственное тело.
Волна дрожи пробегается по стальному скелету. Я замечаю ошибку, ловлю её за оставленный хвост из переменных и тут же исправляю. Костюм успокаивается, будто через очередную строчку кода слышит голос своего Творца, что говорит ему о том, что ему нечего бояться.
Он снова изучает своё тело, индикаторы на конечностях моргнули, сообщив об успешном подключении. Мои пальцы скользят по клавиатуре, отмечая строки, где код сольется с физикой в монолит и я плавно перехожу к системе приводов.
Экран затягивает бездной символов. Курсор мигает, как мушка прицела, а я вгрызаюсь в логику движений. Каждая функция — это сустав, каждый цикл — сухожилие, которое должно сокращаться без задержек. Я пишу не программу, я проектирую рефлексы. Здесь, в строке 47, зашифрован поворот бедра, там, в подпрограмме delta_theta, — баланс между силой и грацией. Сталь экзоскелета на верстаке еще бездвижна, но код уже заставляет ее дрожать в ожидании жизни.
Искры ошибок выстреливают в консоль, осыпая экран багровыми предупреждениями. Компилятор хрипит, как перегруженный мотор, отказываясь проглотить мой алгоритм обратной связи. «Ошибка сегментации», словно шипит он, и я чувствую, как по спине стекает капля пота. Это не просто сбой — это предательство. Сейчас, когда костюм уже должен понять как ходить, а часы бьют полночь, я не могу позволить себе слабину. Я вцепляюсь в код, как в глотку невидимого врага, переписываю переменные, меняю указатели. Память — это болото, где тонут надежды, если не проложить мосты из строгих типов данных.
Сквозняк из открытой двери мастерской швыряет в меня лист бумаги с чертежами кинематики, это Николь бесшумной тенью скользнула внутрь, не смея меня отвлекать. Я ловлю его на лету, не отрываясь от экрана. Здесь, в углу схемы, кроется ответ: угол сгиба колена не совпадает с траекторией, заданной в коде. Цифры врут.
— Нет, — тихо шепчу я, осознав, что это именно Я солгал им неверной цифрой, зажав погрешность в три десятичных знака, будто машина не заметит подвоха. Заметила…
Я стираю старые расчеты, вбиваю новые формулы, где каждое число — это молитва точности. Симулятор на будущем мониторе шлема оживает яркой вспышкой. На нем мелькают сумбурные мысли костюма, в которых лишь едва прослеживается логика расчетов. Нога экзоскелета подрагивает на верстаке, сервоприводы поют тонким воем — они готовы к прыжку.
Но этого мало. Программа должна не просто двигать металлом — она должна «чувствовать». Датчики давления на стопе, ЭМГ-сенсоры на бедрах, гироскопы вдоль позвоночника… Каждый сенсор — это нерв, который я вшиваю в код. Я создаю карту тела, где электрические импульсы человека переводятся в цифровые команды. Здесь, в функции neural_map(), я заставляю экзоскелет дрожать при мысли пользователя о шаге. Тут, в блоке torque_control, балансирую мощь гидравлики с хрупкостью человеческой кожи, чтобы сталь не раздробила мои кости в неловком движении против моей человеческой анатомии.
Мои пальцы выстукивают ритм, который не услышит никто, кроме машины. Enter. Компиляция. Ожидание. Зеленое «успешно» вспыхивает на экране, и я впервые за несколько часов позволяю себе выдохнуть. Но это лишь начало. Я подключаю программатор к порту экзоскелета, наблюдая, как светодиоды вдоль его позвоночника загораются волной — будто кровь побежала по венам. Он пробуждается от сна пустоты.
Устало положив ноутбук на колени, я дотрагиваюсь до ободов кресла и ощущаю, как ладони, вспотевшие от волнения, проскальзывают. Подкатываюсь к верстаку, решаю сделать первый тест.
Я надеваю перчатку с сенсорами, чувствуя, как ее провода, которые не успел толком прикрепить, цепляются за мою кожу, как паразиты, жаждущие данных. Сгибаю мизинец — экзоскелет на верстаке повторяет движение с микросекундной задержкой. Недостаточно. В коде, где фильтруются шумы, второй рукой уменьшаю порог чувствительности, заставляя алгоритм ловить даже дрожь мышц. Теперь он сгибается синхронно, как тень.
Тест второй: предплечье. Я поднимаю руку, и экзоскелет вздымает свою стальную лапу с мягким шипением пневматики, предохраняющей от зажимов между будущих пластин брони. Но при резком движении сустав дергается — в коде вспыхивает предупреждение о перегрузке. Я вручную вбиваю поправки в PID-регулятор, уменьшаю коэффициент усиления, пока движение не станет плавным, почти человеческим.
— Нет, должно быть лучше человеческого — без дрожи усталости, без страха надрыва! — говорю я синей бездне монитора, что глуха к людской речи.
Покончив с этим, я решаюсь на третий, решительный, тест. Заехав за спину костюма я нажимаю на кнопку на своем наруче и костюм с металлическим скрипом раскрывает спину, чтобы я взобрался внутрь.
Я влезаю, царапаюсь о необработанный край, затем опускаю ноги, пристегиваюсь к лямкам экзоскелета, что будет способен отделяться от костюма, когда я закончу с броней. Его вес впервые давит на бедро, но через секунду сервоприводы включаются, принимая нагрузку на себя.
Дрожа от волнения, делаю шаг — и металл следует за мной, как вторая кожа. Но на втором шаге алгоритм теряет баланс. Гироскопы захлебываются данными, экзоскелет дергается в сторону, и я едва удерживаюсь, хватаясь за стол. В консоли полыхает красное: «FALL DETECTED».
С матами, я выбираюсь обратно, снова, падаю в ненавистное кресло, что не хочет меня отпускать. Глаза слипаются от усталости, но закрыть их — значит позволить ошибке укорениться. Перечитываю код системы балансировки. Там, где должна быть рекурсивная коррекция, я вижу линейную функцию — глупую, прямолинейную, как школьная задача. Я усмехаюсь сквозь усталость: как мог пропустить это? Переписываю, вводя обратную связь от акселерометров в реальном времени. Загружаю патч. Не сдаюсь как скалолаз зависший над пропастью!
Экзоскелет снова на мне. Первый шаг — плавный. Второй — уверенный. Третий… Я иду по мастерской, и стальные суставы поют в унисон моим мышцам. Нет больше разрыва между желанием и движением, между мыслью и действием. Только я поднимаю руку и слегка сжимаю ладонь, как экзоскелет повторяет жест, поднимая старый, побитый врагами, фанерный щит. Нет напряжения — только чистая сила, перетекающая из моего мозга в гидравлику.
Но внезапно — сбой. Датчик на колене гаснет, экзоскелет замирает, и я с грохотом падаю вперед, сильно ударяясь ладонью о бетонный пол. Боль пронзает запястье. Понимаю, что не смогу выбраться из такого положения. Пытаюсь ползти к креслу, но костюм намертво сдавил своим весом.
Ко мне подбегает Николь, девушка что-то кричит, но я практически не слышу её из-за звона в ушах. Вытянутой рукой показываю ей на ноутбук, она кивает. Когда она подносит его, я замечаю, что разбил ладонь о пол и теперь мажу кровью по клавиатуре. Лог показывает обрыв связи — похоже банальный плохой контакт. Я судорожно прописываю аварийную команду.
Костюм изгибается, с шумом открывает спину и я наконец могу выбраться из него. Девушка передо мной хлопает глазами, пытается помочь выбраться, я жестами объясняю ей, что мне ничего не требуется. Я не хочу говорить, сейчас слова излишни. Снимаю с себя потную футболку и быстро перематываю ей разбитую руку.
Начинаю проверять неисправность. Всё как я и подумал. Плохой контакт. Чищу разъем, перепрошиваю драйвер, стираю капли крови с экзоскелета. Никакой мистики — только железо и код. Только я и бесконечный танец между совершенством и хаосом. Гляжу на руку, затем на костюм.
Всё же нарушаю негласный обет молчания и прошу Нику принести мне бинты, а затем прошу её надеть наушники, так как в мастерской будет ещё много шума и крови…
К утру экзоскелет уже танцует. Я оставил его в центре мастерской, голосовой командой запустив демонстрационный режим. Он выполняет КАТА, заложенную мной в его память через последовательность цепей алгоритмов: удары, прыжки, балансировка на одной ноге. Металл скрипит, пневматика шипит, а гидравлика стойко выдерживает давление, но это уже не просто машина — это тело.
«Моё» тело, рожденное из тысячи строк кода, из бессонных ночей, из ожогов паяльником и мигающих курсоров, из знаний и навыков, впитанных кровью и потом. Тело, которое я создал сам за все эти годы, когда принял решение побороть собственную слабость, пройдя без ног путём науки и механики.
На столе валяется распечатка первых черновиков — они испещрены пометками: «Слишком медленно!», «Переписать!», «Ошибка!». Рядом лежит окровавленная перчатка с оторванным сенсором, как напоминание о десятках неудач за прошедшую ночь. Но теперь экзоскелет спокойно стоит без лебёдок верстака, сверкая стальным каркасом.
Я прикасаюсь к его «плечу», чувствуя легкую вибрацию работающих кулеров и компрессора климат-контроля. Я с нетерпением жду, когда снова взберусь в него, чтобы ощутить мощь и неуязвимость подконтрольной стали.
Я — инженер, что хотел создать для людей, потерявших возможность ходить, идеальный протез, посчитал ироничным тот факт, что моё творение сохранило свою изначальную задачу — помогать людям. Но словно ошибка в изначальном коде, он продолжил выполнять свою задачу, и он будет помогать людям, только убивая тех, кто болен неизвестной заразой.
— Витязь, заметки! — произнёс я, заметив как временно примотанная синей изолентой камера включилась. — Запись первая. Закон стального рубежа: если дорога из благих намерений привела тебя в ад, то пусть она содрогнется под твоей поступью! Конец записи! — камера погасла
Откатившись от костюма, я нажал на своём наруче кнопку выключения. Костюм слегка ссутулился, как обиженный школьник. Глядя на него сейчас, в предрассветной тишине, где есть только я и он, ощущаю, что между нами появилась неуловимая связь, даже крепче, чем моя привязка к инвалидному креслу. Мы, два существа, связанных паутиной алгоритмов. Я — творец, он — творение. Я — воля, он — её стальная решимость.
Мастерская наполняется симуляцией рассвета. Подсветка тускло загорается, имитируя восход солнца. Отражение светодиодных полос скользит по экзоскелету, и я вижу в нем отражение — свое лицо, искаженное в блеске металле. Мы похожи — оба кривые версии друг друга.
Я сохраняю проект, архивирую код. Экзоскелет уходит в режим ожидания, тусклый индикатор гаснет. Но я знаю — он уже не мертв. Он спит, и в его сне мелькают алгоритмы, готовые проснуться по первому моему жесту, по первому слову и первому нажатию кнопки.
Я выключаю свет, чтобы поспать хоть немного даже сидя в кресле. В темноте экзоскелет мерцает, как светлячок. И где-то в его памяти из нолей и единиц уже живет первый шаг человека без ног…