Переплетения
Шрифт:
Навык [Ослепление] изучен.
— Тренировочный полигон — по коридору налево, — бросил клерк, уже погрузившись обратно в свою книгу.
Я направился туда, чувствуя себя так, словно только что получил доступ к новому, невероятно сложному программному обеспечению без всякой документации.
Тренировочный полигон представлял собой огромный зал, потолок которого терялся во тьме.
В воздухе парили светящиеся мишени, медленно дрейфуя по заданным траекториям. Несколько магов-игроков швыряли в них файерболы и ледяные стрелы с разной степенью успеха.
Я отошел в дальний угол, где мне никто не помешает. Открыл панель навыков. Вот они, три новые иконки. Я сосредоточился на иконке [Магических снарядов], и мысленно нажал ее.
Руки привычно дернулись, словно ища эфес меча, но вместо этого кончики пальцев покалывало от собравшейся энергии. Три тусклых снаряда сорвались с моих рук и лениво полетели в ближайшую мишень, оставив за собой едва заметный фиолетовый след. Урон был мизерным.
Это был пользовательский интерфейс. Каст по кнопке. Но Михаил сказал, что есть нечто большее.
Я уставился на иконку и мысленно приказал развернутся.
Прямо в воздухе передо мной развернулась схема заклинания. Голубоватая, полупрозрачная конструкция, которая на долю секунды возникла в моем сознании, прежде чем материализоваться в мире.
Это были не строки кода. Это была архитектура. Идеально логичная, состоящая из трех основных блоков и кучи соединительных линий с дополнительными элементами.
Первый — [Блок инициализации]. К нему подсоединялись блоки захвата энергии из окружающего мира, моя мана также втягивалась в этот блок, словно вода в турбину. Я видел параметры: mana_cost=15, cast_time=0.5s.
Второй — [Блок наведения]. Он принимал данные от моих глаз, от моего намерения. Он определял цель. Простой, но изящный алгоритм с переменными target_lock=true, trajectory=linear.
Третий — [Блок высвобождения]. Он брал собранную энергию, форматировал ее согласно заложенным параметрам и выплескивал в мир. И здесь было самое интересное. Я видел переменные: missile_count=3, damage_per_missile=20, velocity=slow.
Это было именно то, о чем говорил Михаил. Пользовательский интерфейс скрывал все это, давая игроку простой, предсказуемый результат. Но это было на сцене, за ширмой же начинался настоящий театр.
Я мысленно «потянулся» к структуре заклинания, к блоку высвобождения. Я сосредоточился на переменной missile_count=3. Я попытался ее изменить.
Это было странное ощущение. Словно пытаешься мысленным усилием согнуть ложку. Я чувствовал сопротивление, мягкое, упругое. Система не хотела, чтобы я лез в ее внутренности. Но мое понимание того что я пытаюсь сделать было моим ключом. Я не пытался сломать. Я пытался понять и перенастроить.
Я изменил значение. missile_count=4.
И снова выстрелил. На этот раз с моих пальцев сорвались четыре снаряда. Я ухмыльнулся. Но тут же заметил другое изменение. Всплыло системное сообщение, видимое только мне.
Системная корректировка: Баланс ресурсов нарушен.
damage_per_missile снижен до 15. mana_cost повышен до 20.
Вот оно! Система самобалансировалась. Халявы не было. Можно было изменить параметры, но общая «мощность», вложенная в заклинание, оставалась константой. Увеличиваешь количество — падает урон каждого. Хочешь больше суммарного урона — плати больше маны. Это было гениально.
Я начал экспериментировать с лихорадочным азартом.
Что, если не увеличивать, а уменьшать?
missile_count=1. Система отреагировала. damage_per_missile взлетел до 60. mana_cost остался прежним.
Я выстрелил. Вместо трех слабых огоньков, с моей руки сорвался один-единственный, плотный, вибрирующий сгусток чистой энергии, который ударил в мишень с глухим, тяжелым стуком. Урон был тот же, но он был сконцентрирован в одной точке. Против бронированной цели это было бы куда эффективнее.
Это было не колдовство. Это было программирование на лету. Я не читал заклинания из книги. Я дебажил саму реальность.
В этот момент тихо пиликнул интерфейс группового чата. Сообщение от Олега. Короткое, как всегда.
[Неуязвимый]: Наняли. Периметр мой.
Я оторвался от своих экспериментов. Пока я тут открывал фундаментальные законы вселенной, остальная часть моей команды выполняла свою работу. Олег, наш непробиваемый щит, только что стал частью системы безопасности поместья. Он стал нашим «своим человеком» снаружи, источником бесценной информации и, если понадобится, ключом к плану «Шум».
Я посмотрел на свои руки, на которых все еще плясали остаточные искорки магии. Потом — на сообщение в чате. Механизм нашей операции медленно, но верно приходил в движение. И я только что выковал для него новый, совершенно уникальный инструмент.
Глава 14
Понимание было лишь первым шагом.
Теперь предстояло научиться бегать.
Я снова стоял на тренировочном полигоне, но магия больше не подчинялась так просто. Одно дело — статично изменить параметры заклинания перед его активацией. Совсем другое — менять их на лету. Я пытался провернуть трюк, о котором говорил Михаил: ослабить наведение, но усилить высвобождение. Создать не снаряды, а взрыв.
Результат был плачевным. Энергия собиралась в моих руках, но в тот момент, когда я пытался мысленно «переписать» ее структуру, она просто рассеивалась, как дым. Происходила десинхронизация. Мое сознание, мой «процессор», не успевал отдать команду, пока «программа» заклинания уже выполнялась.
После десятой неудачной попытки, оставившей после себя лишь легкий запах озона и тяжелое чувство разочарования, я сдался. Нужен был совет. Я открыл чат и написал Михаилу.
[Лично] Маркус: Есть проблема с динамической реконфигурацией заклинаний. Система сбрасывает каст при попытке изменения параметров в реальном времени. Есть идеи?
Ответ пришел почти мгновенно.
[Лично] Легенда: А, ты пытаешься дирижировать оркестром, ни разу не видев нот! Андрюха, ты пытаешься взломать логику, но магия — это еще и ритм. Ты не можешь просто поменять команду. Ты должен вплести ее в уже звучащую мелодию.
Я нахмурился. Метафоры были его стихией, но сейчас мне нужна была конкретика.
[Лично] Маркус: Что значит «ритм»?
[Лично] Легенда: Каждое заклинание имеет свой внутренний темп. Фаза сбора энергии, фаза формирования, фаза высвобождения. Почувствуй его. Не пытайся изменить структуру в середине такта. Делай это на стыке, в момент перехода от одной фазы к другой. Фокусируйся не на конечном результате, а на самом потоке. Поймай его и направь в новое русло.