До лунной ночи у сухого колодца оставалось тридцать восемь часов.
Количество игроков онлайн в начальной деревне уже перевалило за пять тысяч. Каждая улочка Ветряного Города была забита людьми: кто-то выискивал на стенах тот самый глазной знак, о котором говорил древний охотник, кто-то до потери пульса сновал туда-сюда через ворота у колокольни, подозревая, что упустил какое-то условие активации, а кто-то сколотил двадцатиморочные отряды и прочесывал каждый возможный тайный вход в режиме ковровой бомбардировки. Информация в мировом чате обновлялась с такой безумной скоростью, что в ней ничего нельзя было разобрать: все обсуждали одно и то же — что за чертовщину умудрился активировать этот 2-уровневый ассасин по кличке Забань Меня Если Сможешь 2.0?
Но экран Лу Ци отображал вовсе не официальный сервер.
Интерфейс симулятора на бэкенде пиратского сервера занимал все три монитора. Слева красовалась полноценная 3D-модель локации сухого колодца: текстура каждого камня в кладке, светоотражение на мху в каждом уголке, координаты коллайдеров для каждой трещины — всё было воссоздано один к одному по данным клиента официального сервера. Справа располагалась панель, какой Чэнь Хао отродясь не видел. В шапке крупными буквами значилось:
Испытание Призрачного Странника. Симулятор v3.7
Ниже плотными рядами тянулись сорок семь регулируемых параметров: порядок узлов цепочки заданий, пороговые значения предрасположенности NPC, ветвления диалоговых опций, дерево поведения боевого ИИ и даже частота дискретизации алгоритма невидимого преломления на водной глади на дне колодца.
Чэнь Хао стоял за спиной Лу Ци, сжимая в руке уже остывшую чашку лапши быстрого приготовления. Сегодня на ужин была говядина со вкусом тушеного мяса, но он не притронулся ни к единой лодке. С того самого момента, как Лу Ци запустил симулятор, он простоял неподвижно ровно двадцать минут — и за эти двадцать минут персонаж Лу Ци погиб в симуляторе больше двадцати раз.
— Братец Ци, что ты делаешь?
— Умираю.
На экране 3D-модель персонажа Забань Меня Если Сможешь 2.0 сорвалась вниз от входа в потайную дверь на дне колодца — не долетела до самого дна, а угодила прямиком в трещину. Цвет, ширина и расположение этой трещины тютелька в тютельку совпадали с одной из трещин в сухом колодце на официальном сервере. В тот самый миг, когда модель провалилась внутрь, в правом нижнем углу экрана выскочила строчка мелкого красного текста:
Симуляция смерти. Попытка No 11.
Причина смерти: погрешность в определении позиции входа в Врата Иносказаний: фактические координаты срабатывания трещины смещены относительно поверхностной текстуры на 0,7 логических единицы. Значение погрешности занесено в журнал.
Лу Ци чирканул пару строк в лежавшем рядом блокноте. Затем сбросил симуляцию. И начал всё сначала.
Чэнь Хао приоткрыл рот. Он смотрел, как счетчик смертей перескакивает с 11 на 12, а с 12 — на 13. При каждой смерти выражение лица Лу Ци оставалось абсолютно непроницаемым. Его пальцы летали по клавиатуре с бешеной скоростью, но это была не та скорость, с какой играют в видеоигры, — это была скорость человека, пишущего код. После каждой гибели он открывал панель параметров, подкручивал непонятную Чэнь Хао переменную, а затем снова щелкал по кнопке «Запустить симуляцию».
— Братец Ци, ты что, отрабатываешь испытание Призрачного Странника?
— Угу.
— Но ты ведь еще даже в первые врата испытания не зашел... Откуда ты знаешь, что там внутри?
— Понятия не имею. — Лу Ци взял со стола соевое молоко (сегодня сахара бухнули на ложку больше обычного; он поморщился, но промолчал). — Вот поэтому сначала нужно умереть. Намрешься всласть — и узнаешь.
Зрачки Чэнь Хао слегка расширились. В памяти внезапно всплыло, как Лу Ци раньше тестировал цепочку заданий Призрачного Странника на пиратке: пятнадцать подготовительных квестовых узлов, четыре альтернативных условия, взаимоисключающий характер каждого триггера, окно благосклонности каждого NPC. Всё это было добыто вовсе не слепой удачей. Это результат ста двадцати семи тестовых прогонов.
— Братец Ци, то испытание... оно что, как цепочка квестов? Ты можешь всё это отсимулировать на пиратке?
— Могу. — Лу Ци кивнул на панель симулятора на экране. — Этот симулятор я собрал сам: сначала вытащил реверс-инжинирингом цепочку заданий Призрачного Странника с пиратки, а потом заново выстроил тренировочную среду на основе данных локаций из клиентской части официального сервера. Все координаты, что есть на официальном сервере, здесь на месте. Все подсказки, которых на официальном сервере нет, здесь тоже отсутствуют. Единственная разница в том, что...
Он на секунду замолк.
— Здесь я могу умирать сколько угодно раз. А на официальном сервере у меня есть ровно ноль прав на ошибку.
Когда симуляция дошла до сорок третьей смерти, Чэнь Хао начал понемногу врубаться.
Врата Иносказаний — первый рубеж испытания. На створке была выбита строчка живого текста: «Сколько всего заложено в фундаменте этой игры по сравнению с тем, что лежит на поверхности?» Поле ввода пароля под надписью не содержало никаких подсказок. На официальном сервере любой рядовой игрок, оказавшись перед этими воротами, не имел бы никаких иных вариантов, кроме как тыкаться вслепую.
Но Лу Ци запирал себя перед этой дверью в симуляторе уже больше сорок раз. Он не тыкался вслепую — он ее препарировал.
Он вытащил на свет божий логи разработки с бэкенда пиратки, комментарии к коду и журналы обновлений версий, выстроив их тремя колонками на соседнем мониторе. В левой колонке красовался фрагмент кода квеста Призрачного Странника из клиентской части официального сервера. В средней — публичный журнал обновлений внутренней команды разработчиков Моюань Стоунтэйнтейн, всякая всячина из патчноутов к новым версиям. В правой — временные метки из всех пакетов данных, перехваченных в процессе реверс-инжиниринга пиратского сервера.
Во всех трех колонках фигурировало одно и то же число: 417.
Код цепочки заданий Призрачного Странника: дата первичного написания — 17.06.2028. Дата фактического внедрения — 07.08.2029. Интервал: 417 дней.
Примечание в журнале разработки: // Этот кусок кода пролежал на полке 417 дней до внедрения.
Логика срабатывания Врат Иносказаний: проверка на равенство введенного значения количеству дней пролеживания у разработчиков.
Лу Ци перевел курсор в поле ввода пароля и вбил 417.
Двери распахнулись.
У Чэнь Хао челюсть отвисла сантиметра на два. Не из-за самого ответа — из-за того, как Лу Ци этот ответ добыл. Он не угадывал. Он просто свел на один стол заметки геймдизайнера, таймстампы сервера и даты комментариев к каждой строчке кода, а затем отыскал единственное число, которое идеально сходилось со всем остальным.
— Братец Ци, ты что, каждый этап вот так проходишь?
— Угу.
— А второй этап — Отражение Личности... Как ты его тренируешь?
— Правила второго этапа таковы: победить собственную тень. У нее ровно такое же снаряжение, такие же навыки и тот же уровень, что и у тебя. — Лу Ци перетащил панель параметров симулятора. — Но под правилами есть приписка мелким шрифтом: у тебя есть кое-что такое, чего у твоей тени нет.
— И что же?
— А ты знаешь, как игра определяет действия игрока? — Лу Ци подвинул клавиатуру в сторону Чэнь Хао. — Сервер игры фиксирует абсолютно каждое твое движение: какие клавиши ты нажал, куда сместил мышь, на каком кадре высвободил навык. А затем на этапе Отражения Личности система берет эти записи и воссоздает зеркальную копию.
— Но эта копия...
— Способна скопировать лишь то, что было до твоего входа на второй этап. А что ты делал после того, как переступил порог, — ей неведомо.
Чэнь Хао нахмурился, размышляя секунд три. И тут выражение его лица переменилось.
— Выходит... если после входа на второй этап выкинуть такой фокус, которого ты сам от себя не ожидал...
— Верно. — Уголки рта Лу Ци слегка приподнялись — этот изгиб Чэнь Хао за последние дни видел уже много раз. — Отражение в зеркале будет по-прежнему лупить тебя по старинке. А тебе достаточно сменить тактику сразу после перехода на второй этап, и оно окажется абсолютно не готово. Даже если эта новая тактика сырая и непривычная — оно все равно не сможет предсказать твои действия.
Он сделал паузу.
— Но тут возникает загвоздка.
Как ты можешь быть уверен, что в реальном бою твои руки... по привычке не сорвутся на старые рельсы?
Чэнь Хао открыл рот, но ничего не произнес.
— Единственный выход. — Пальцы Лу Ци снова заплясали по клавишам. — Сперва проиграть собственным старым привычкам в симуляции. Проигрывать до тех пор, пока не надоест. Проигрывать до тех пор, пока в твоих рефлексах не останется ничего, кроме новой тактики, — и только после этого соваться на официальный сервер.
Он перезапустил симуляцию. На этот раз под его управлением оказался вовсе не собственный персонаж — он переключился на модельку Чэнь Хао. Внутри симулятора два персонажа с никами ДержисьКрепко стояли лицом к лицу. Лу Ци притянул к себе клавиатуру Чэнь Хао.
— Давай. Покажи, как ты бьешься со своей тенью — используя свой самый привычный стиль.
Чэнь Хао послушно выполнил команду. Его зеркальный двойник в точности повторил каждое движение: блок, прямой удар, отскок назад — абсолютная синхронность. Спустя десять секунд персонаж Чэнь Хао рухнул первым.
— Почему я не могу его одолеть?
— Потому что твоя тень пользуется твоим излюбленным стилем. У тебя попросту нет второго варианта ведения боя.
Лу Ци придвинул клавиатуру обратно. И перезапустил тот же уровень. На этот раз, управляя персонажем Чэнь Хао, он применил совершенно иной темп движений: тайминг блока сдвинулся на десятую долю секунды раньше, направление отскока сменилось на диагонально-боковое, а последовательность применения навыков превратилась из цепочки прямой удар — блок в комбинацию блок — боковой шаг — прямой удар. Ему хватило пяти секунд — и двойник повержен.
— Новая тактика вовсе не обязана быть идеальной. — Лу Ци толкнул клавиатуру назад. — Главное, чтобы она не была старой — этого вполне достаточно.
Чэнь Хао впился глазами в монитор. Осколки его зеркального отражения рассыпались по арене облаком частиц. Затем он уставился на счетчик попыток в правом нижнем углу: попытка No 91.
К тому моменту, когда симуляция дошла до сто двадцать седьмого прогона, Чэнь Хао уже спал, устроившись прямо в кресле.
Не от скуки — просто он с четырех часов дня до двух часов ночи наблюдал за тем, как Лу Ци в симуляции падал в пропасти, тонул, погибал от рук собственных отражений и упирался в тайм-аут на гоночном этапе третьего рубежа. Каждый вид смерти он лицезрел больше раза. После каждого фатального исхода Лу Ци вносил в блокнот очередную строчку примечаний. Большую часть написанного он не понимал, но несколько пунктов врезались в память:
Попытка No 58: ответом на Врата Иносказаний служит не число 417, а само название переменной дни пролеживания на полке. Если Моюань Стоунтэйнтейн сменит имя этой переменной, изменится и ответ. Но за три года журналов обновлений они ни разу не трогали этот кусок кода. Так что ответ стабилен.
Попытка No 73: зона сканирования отражения для Отражения Личности ограничена моментом до входа на второй этап. Если я намеренно введу неверный пароль у Врат Иносказаний на первом этапе, запишется ли это? Нет. Поскольку изоляция данных между первым и вторым этапами жесткая.
Попытка No 97: скоростной режим на третьем этапе, в Межпризрачье. Семь узлов: первые четыре фиксированные. Но с пятого по седьмой динамически подстраиваются под скорость противника. Если противник наступает на пятки, сложность с пятого по седьмой узел удваивается. Следовательно, стратегия заключается вовсе не в том, чтобы нестись сломя голову, а в том, чтобы сперва заставить соперника отстать.
Попытка No 111: пройдено все семь узлов в симуляторе, включая динамическую сложность с пятого по седьмой. Подтверждено: минимальное время прохождения первых четырех узлов укладывается в 37 секунд при условии, что каждое движение на первых трех этапах тютелька в тютельку совпадает с симулированным маршрутом.
Попытка No 127: полное прохождение этапов. Воспроизводимо на официальном сервере. Примечание: если в скоростном режиме ко мне одновременно свалится игрок, также удовлетворяющий предварительным условиям, потребуется заблокировать испытание до того, как он завершит четвертый узел. На блокировку уйдет всего 0,5 секунды, но и у соперника окно для реакции составит ровно 0,5 секунды. Нужен предиктивный расчет.
Когда Лу Ци закончил вбивать эту заметку, средний палец его правой руки на мгновение замер над клавишей Enter. Всего на одно мгновение.
Затем он закрыл симулятор, откинулся на спинку кресла и смежил веки.
— Готово.
Чэнь Хао встрепенулся от этих слов. Он потер веки и бросил взгляд на часы в правом нижнем углу экрана — два часа сорок одна минута ночи. Перевел взгляд на панель обратного отсчета на бэкенде пиратки: алая полоска таймера дотикала до последних двух разрядов:
До срабатывания приглашения Призрачного Странника осталось 05:17:43.
— Братец Ци, ты что, ложиться не собираешься?
— Не буду. Осталось пять часов. — Лу Ци открыл глаза и притянул к себе последнюю чашку лапши — за сегодня уже третью, но бульон еще не остыл. — 127 раз. Этого достаточно.
Чэнь Хао вгляделся в его профиль. В комнате общежития 312 стоял лишь монотонный гул старенького процессора E5 да доносились редкие звуки хлопнувших вдали дверей. Под глазами Лу Ци залегли едва заметные тени — и вовсе не сегодняшние, а накопившиеся за долгие дни недосыпа.
— Братец Ци, а ты подсчитывал, сколько времени вообще убил на эту затею? С момента покупки этого сервера, настройки пиратки и до сегодняшней шлифовки ста двадцати семи прогонов...
— Считал. — Лу Ци отодвинул пустую пиалу из-под лапши. — Но я не считаю время издержками. Время, потраченное на то, на что хочется его потратить, называется жизнью. А потраченное на то, на что не хочется, — издержками.
За окном ночное небо из смоляно-черного начало приобретать глубокий, чернильно-синий оттенок. Баскетбольная площадка пуста. Коридор пуст. Весь Цзяньхайский университет погрузился в безмятежный сон. Лишь в окнах 312-й комнаты горел свет, и старенький компьютер продолжал тихо гудеть в тишине.
Лу Ци глянул на мониторинг бэкенда пиратского сервера. В списке идентификаторов реального времени в радиусе двухсот метров от сухого колодца красная метка все еще висела на месте. Шкала прогресса квалификации Стража Ночи сдвинулась с 67% до 74%. Координаты неумолимо приближались к устью колодца.
— Кто-то тоже прется к колодцу. — Голос Лу Ци оставался ровным, но Чэнь Хао заметил, как его пальцы качнулись над клавиатурой — не ради какого-то действия, а в бессознательном ритме, словно он прикидывал секунды.
— Он доберется раньше тебя?
— Нет.
— Почему?
— Потому что у него нет пиратского сервера. Он понятия не имеет, что на дне колодца три рубежа. Он не знает, что ответа на первую загадку — 417. И уж тем более он не ведает о скоростном режиме на третьем этапе. — Лу Ци пододвинул клавиатуру по центру и заново запустил клиент официального сервера. — Он идет к двери, у которой нет ключа.
Он выдержал паузу.
— Всё, что мне нужно сделать, — проскользнуть внутрь до того, как он отыщет ключ.
— Я просто должен убедиться, что ничего не упущу.
5:17:43.
Пять часов спустя — в лунную ночь.
На панели обратного отсчета в бэкенде пиратки алые цифры неумолимо уменьшались. Каждый скачок таймера заставлял синее свечение у устья колодца разгораться всё ярче.
А в блокноте Лу Ци, в самом конце файла под названием Полная запись 127 симуляций Призрачного Странника, появилась свежая строчка:
Симуляция No 127 — полное прохождение. Воспроизводимо на официальном сервере. Примечание: прогресс Стража Ночи 74% — в случае гонки на скорость он застрянет на третьей трещине по меньшей мере на 25 минут. У меня в запасе уйма времени.
Он сохранил файл. Закрыл блокнот.
И, откинувшись на спинку кресла, стал ждать луну.
Настройки чтения
Размер
18
Шрифт
Выравнивание
Тема
Интервал
1.7
Ширина
Оригинал текста
Отметки прогресса
Главный враг сервера — это мой твинк — Главы
Список глав загрузится при открытии.
Комментарии
Войдите, чтобы оставить комментарий.