Обложка Дебаг

Дебаг

Владимир Угловский

0% прочитано
Стандартный
Владимир Угловский

Дебаг

I

Офис «Студии Пальмира» среди начинающих разработчиков виртуальных игр и стремящихся в таковые простых геймеров считался чем-то вроде Парнаса или Академии Платона. Местом, где лучшие из лучших в индустрии, все, разумеется, улыбчивые, стильные и подтянутые, в изумительно комфортном и просторном помещении творят будущие легенды. Разумеется, начальство такую репутацию студии всячески приветствовало и с удовольствием культивировало, время от времени давая пиарщикам отмашку запустить в соцсети очередную порцию тщательно срежиссированных «инсайдов из святая святых» с красивыми фотками и как бы между делом упоминаемыми реалиями рабочего быта небожителей игропрома, неизменно генерировавшими чёрную зависть среди сотрудников других компаний.

Реальность, как водится, была намного прозаичнее. Нет, само собой, пафосные картинки не были абсолютной липой ─ это быстро стало бы известно и создало эффект, прямо противоположный ожидаемому. Красивый офис с кучей свободного пространства, богатой зоной отдыха и шикарным видом на Финский залив действительно существовал. И его обитатели действительно как будто сошли с картинки. Вот только это была никакая не «святая святых», это был коммерческий отдел.

Пошедших на такой подлог пиарщиков вполне можно было понять. Берлоги команд разработки, конкретно захламлённые, заросшие лианами проводов самого разного назначения, со следами перекусов на столах и фривольными стикерами на полуразобранной тестовой VR-капсуле, фотогеничностью не отличались. Что до их обитателей... Нет, в принципе, ребята нормальные. Только им бы выспаться, да стереть чем-нибудь с физиономий выученную фаталистичную угрюмость. Например, отпуском.

- Вить! Помнишь, я говорил, что мне сегодня пораньше надо?

Виктор наклонил голову, выглядывая из-за монитора, и уставился на коллегу, всем своим видом демонстрируя, как он и не думает надеяться на продолжение вроде «у меня там всё отменилось, работаем».

- Так это, - если Ромку и смутил выразительный взгляд старшего товарища, то виду он не подал, - я пойду?

Последовал ещё один взгляд, ещё более выразительный. Роман, однако, контратаковал своим ─ одновременно лихим, придурковатым и жалобно-умоляющим.

- А что с багом в данже с чертями? - сообразив, что одними невербальными средствами здесь не достучаться, Виктор зашёл с козырей. - Исправил?

- Исправлю, - с готовностью отозвался Рома. - Завтра же до обеда. Ну, и там же кейс такой, случайно не воспроизведёшь.

- Поверь мне, игроки воспроизведут, - веско возразил Виктор. Но, наткнувшись на ещё один щенячий взгляд, понял, что уговаривать здесь бесполезно. Можно только заставить, но этим в пока ещё не критической ситуации злоупотреблять не хотелось. - После обеда покажешь. Иди уж.

Два раза приглашать Ромика не потребовалось, и, цапнув ветровку с вешалки, он стремительно ретировался. Виктор только покачал головой. Редкостный разгильдяй! Если бы не светлая голова и развитый инстинкт самосохранения, позволявший вечно расслабленному парнишке каким-то чудом всё-же закрывать задачи в срок, долго бы он на этой работе не продержался. Но то, что менять действительно толкового разработчика, при всех его особенностях, Виктор не хотел, вовсе не означало, что Ромина легкомысленность и склонность отпрашиваться пораньше буквально через день его не раздражала. Виктор мысленно обругал себя за сдуру высказанное когда-то согласие возглавить команду, покачал головой ещё раз, будто вытряхивая посторонние мысли, и вернулся к работе.

Вот уж что-что, а писать код ему нравилось. Тем более ─ для игр. В своё время он даже бравировал фразами вроде «у меня нет работы, мне за хобби платят». Потом, когда обязанностей поприбавилось, перестал. Но самые сложные задачи, такие, чтобы с вызовом его способностям, Виктор всё равно старался выполнять сам.

Как, к примеру, тот скилл, над которым он сейчас работал. Аналитика, который его придумал, начальство, конечно, не забыло похвалить за богатую фантазию, но ставить его затею в план на реализацию изначально не хотело именно из-за трудоёмкости. Но Виктор, сообразив, что такие задачи подворачиваются не каждый день, убедил всех, кого требовалось, что сможет в приемлемые сроки с этим справиться. И не пожалел. Попотеть над этой амбициозной задумкой пришлось так, как давно не случалось. Виктор так увлёкся, что почти не замечал, как коллеги и подисциплинированнее Ромика начинают потихоньку разбредаться по домам.

Когда первичный вариант, наконец, собрался и по экрану победными реляциями побежали сообщения об успешном прохождении автотестов, офис уже опустел. Пора было и самому, исполнившись гордости за проделанную большую работу, направляться домой. Пожалуй, даже транзитом через магазин ─ хорошего пивка под какую-нибудь вкуснятину он сегодня точно заслужил. Виктор собрал вещи, накинул куртку и собрался выходить. Но, стоя уже на пороге, остановился. Кое-какое дело всё-таки оставалось. Конечно, время уже было позднее, и это можно было без проблем отложить до завтра... Но любопытство оказалось сильнее. Виктор развернулся и, на ходу стаскивая куртку, направился к капсуле.

Бескрайние равнины Ванахейма, покрытые сплошным лиловым ковром достающих до колен гиацинтов, встретили его порывом тëплого ветерка в лицо, что, колыхнув длинную белую гриву персонажа, тут же стих. Этот ветерок за множество тестов стал так привычен, что даже успел до смерти надоесть всей команде. Увы, отвечавшая за этот элемент Саша столь капитально зарылась в нормальную модель движения воздушных масс, что сляпанную ей на скорую руку заглушку предстояло потерпеть ещё как минимум неделю.

А вот то, что гиацинты по-прежнему пахли фиалкой из горшка на окне их кабинета, было явным недосмотром. Пожалуй, стоило в ближайшее время заглянуть к арома-дизайнерам и как следует их взбодрить. Задача им была поставлена ещё в прошлом спринте, как-никак, уже должны были подгрузить нормальные запахи.

Виктор вызвал интерфейс оставленного в специальном разъёме капсулы смартфона и создал на этот счёт заметку. Затем оглянулся по сторонам, выискивая другие баги, но ничего криминального не обнаружил. На секунду, правда, смутило отсутствие шпилей Альвенбурга вдалеке, но этому быстро нашлось объяснение. Денис уже ушёл домой, а перед уходом, очевидно, погасил сервер с этим модулем. Вроде, всё было в порядке. А значит, можно было переходить к делу.

- Консоль разработчика, запуск, - скомандовал Виктор, и верхнюю часть густо-синего небосвода заслонила полупрозрачная тëмная панель терминала. Виктор ткнул пальцем в поле ввода и принялся деловито набивать запрос на услужливо высветившейся клавиатуре.

Первым делом нужно было добавить себе сам скилл. Разумеется, не забыв при этом о необходимых статах и уровне других связанных скиллов, а то при испытании могло получиться смешно. Затем оружие. По идее, для выполнения Лунной Тени подходил любой полуторник, но Виктор не отказал себе в удовольствии назначить свой любимый экземпляр с антрацитово-чëрным клинком и зачарованием на поджиг цели. Так оно должно было ещё и эффектнее получиться. И, наконец, цель. Для теста за глаза хватило бы и тренировочного манекена, но это тоска смертная. Огр-костолом, пожалуй, будет в самый раз.

Здоровенная образина с парой кузнечных молотов в лапах возникла из воздуха в полутора десятках виртуальных метров. Широкие вздëрнутые ноздри подозрительно втянули надоедливую фиалочную вонь. Мелкие поросячьи глазки забегали, выискивая жертву, пока не остановились на плечистом беловолосом мужчине, сгенерированном, очевидно, под большим впечатлением от некоего ведьмака. Повинуясь заменявшему ему мозги скрипту, огр протяжно зарычал, широко раззявив клыкастую пасть, и лишь затем рванулся в атаку.

- Лунная Тень, уровень десять.

Тело Виктора начало двигаться само собой, занимая низкую стойку вполоборота на полусогнутых ногах. Запястья скрестились возле правого виска и меч, окутавшись языками пламени, развернулся остриём к атакующему врагу. Теперь только дождаться, пока огр подойдëт на дистанцию удара, и тогда...

- Запуск!

И вот тогда начались проблемы. Мир на долю секунды мигнул. Обиженно блямкнуло, но предпочло не показываться сообщение о системной ошибке. Пылающее остриё застыло на месте, тогда как остальной меч начал тянуться вслед за рукоятью, будто пластилиновый. Что же до огра... Тупого монстра творящаяся дичь не впечатлила ни капли, и он, скорчив особенно зверскую рожу, с размаху опустил молот супостату на голову. По закону подлости удар оказался критическим, и персонаж Виктора рассыпался яркими искрами, оставив после себя лишь изогнутый ассиметричным бубликом меч, грустно висящий в воздухе.

Позапрошлая точка возрождения, активировавшаяся в отсутствие Альвенбурга, была назначена на Бранвилль, один из уныленьких стартовых городишек на другом конце карты игрового мира. И в этом Виктор находил определëнный символизм. Как его персонаж по-глупому улетел на совсем не подобающую ему новичковую локацию, так и он сам, весь такой матëрый разработчик, умудрился где-то крепко напортачить. Наверняка в чём-то ну совсем идиотском, как какой-нибудь вчерашний студент.

Впрочем, сколько себя не кори, а это уже была явно проблема завтрашнего дня. Сейчас же следовало выбираться из игры, капсулы, офиса и понуро топать домой. Пожалуй, уже без магазина, так как отмечать оказалось нечего.

- Главное меню, запуск, - расстроенно пробормотал Виктор. И, увидев результат, с чувством ругнулся. Неприятности только начинались.

Из меню по команде высветилась только рамка с виньетками, тогда как все кнопки как будто спëрли гремлины. И попытки понажимать туда, где они когда-то имелись, не привели ровным счётом ни к чему.

- Консоль разработчика, запуск!

Терминал с готовностью отобразился, и Виктор воспрял духом. Но ненадолго, поскольку клавиатура также высветилась без единой кнопки.

- Ох, мать! - прорычал Виктор, интонациями уподобляясь тому самому огру, и принялся набирать команду выхода познаково, копируя каждую следующую букву из лога. Увы, это оказалось задачей сродни сборке слова «счастье» из совсем другого набора типографских знаков. Никак не получалось найти строчную «u», а заглавную из команды «Update» интерпретатор воспринимал неадекватно.

Оставалось последнее средство, прибегать к которому очень не хотелось, но выбора не было. Позвать на помощь. С тяжёлым вздохом Виктор вызвал интерфейс смартфона ─ и получил в ответ очередной блямк системной ошибки.

Всё. Приплыли. Вот он и застрял в игре, как персонаж дурацкого фанфика, что во множестве строчили посетители соответствующего раздела на официальном форуме. А ведь сам, помнится, посмеивался над такими ходами. Дескать, ничего подобного быть не может, потому-что не может быть никогда. И вообще, мол, это сходу изобличает техническую безграмотность, нулевые знания о процессе разработки, и всё такое.

Нет, формально, конечно, ситуация была не той же самой. Как минимум, за счёт естественных отличий между продуктивом и тестово-экспериментальной средой отдельно взятой команды. Да и ничего действительно фатального, в сущности, не произошло. Примерно через три с половиной часа Виктора должно было выбросить из игры по таймеру. Уж с этой функцией никакой баг ничего не мог сделать, поскольку от всего остального она была отделена аппаратно, и при любых попытках её отключения капсула просто переставала работать. А на любые попытки шельмовать с этим модулем Потребнадзор реагировал просто зверскими репрессиями. И правильно делал ─ эпидемия голодных смертей среди самых задротистых игроманов была бы крайне паршивой альтернативой.

Но отсутствие какой-либо явной угрозы вовсе не означало, что перспектива сидеть в забагованной игре до глубокой ночи Виктору хоть сколько-то нравилась. К тому же, его лежащая в капсуле тушка вполне могла и в туалет захотеть. Причём, сильно. И тогда всё, можно смело увольняться, переезжать на другую сторону глобуса, менять имя и делать пластику. Позору не оберёшься. Значит, не лишним было что-нибудь придумать.

Первое, что Виктору пришло в голову ─ забаниться. Конечно, через терминал сделать это сейчас было невозможно, но почему бы не натворить дел на автоблокировку естественным путём? Впрочем, это оказалось проще сказать, чем сделать. Читы отпадали заведомо, если бы у Виктора была возможность их запустить, нынешней проблемы бы перед ним не стояло. Противоматерщинный модуль команда выключила сразу, как оттестировала ─ очень уж было неудобно постоянно вылетать из игры при особо напряжённой отладке. Других игроков, по отношению к которым можно было повести себя нехорошо, в онлайне не было. А что ещё можно было учудить, Виктор как-то и не представлял. Наверняка у админов основного сервера было что-то подходящее, всё-таки, среди реальных игроков попадались те ещё затейники. Но, увы, на тестовой среде стоял только самый базовый вариант «уголовного кодекса».

Книжно-стереотипный вариант «пройти игру до конца, чтобы из неё выйти» на секунду всплыл в сознании Виктора, но всерьёз он его рассматривать даже не собирался. Уж кому-кому, а ему было точно известно, что никакого «до конца» в игре нет. Максимум ─ персонажа можно было довести до такого уровня крутизны, что играть дальше становилось попросту скучно. Но и тогда игрок выходил из игры сугубо самостоятельно.

Впрочем, кое-что в этом было. Само собой, не в путешествии к несуществующему финалу. Для выхода из игры было достаточно пройти одно единственное подземелье Аларак-Барзум, в команде для простоты именовавшееся «данж с чертями». То самое, что стараниями Ромки заканчивалось хитро-воспроизводимым багом, намертво укладывающим весь игровой кластер.

По карте игрового мира, к счастью, нормально работавшей, расстояние получалось терпимым. Если конкретно ─ полтора десятка локаций с одним городом по пути. Проходится за полчаса реального времени, если не нарваться на неприятности и не улететь обратно к точке возрождения. В общем, получалось уже нечто похожее на рабочий план действий. Но имелась небольшая проблема. Свой пафосный меч Виктор при возрождении благополучно потерял, а купить было не на что ─ денег своему персонажу он не прописал ни копейки, поскольку тогда это было незачем. Безоружным же до Аларак-Барзума он бы даже не добрался, не говоря уже о прохождении самого данжа. Заработать на снаряжение ─ можно, но долго. Лут в новичковой зоне стоил копейки, и с тем же успехом можно было дожидаться выхода по таймеру. Так что оставался лишь один вариант. Откровенно идиотский, но что поделаешь?

Из западных ворот Бранвилля Виктор выходил, как не в меру азартный самурай из казино ─ в одной лишь набедренной повязке, зато с мечом. Правда, «меч» ─ это было громко сказано. Ржавый скрамасакс, лишь немного возвышающийся по параметрам над совсем уж позорной базовой ковырялкой. Увы, ни на что серьёзнее сменять штаны, сапоги и дублет не получилось, а повязка всё равно была неснимаемой ─ цензура-с.

Игровой день тем временем явно близился к завершению, и солнечный диск, всё больше наливавшийся красным, уже коснулся нижним краем далёкого перелеска на следующей локации. Наступало время ночных монстров, более суровых, но вместе с тем и более ценных по луту и опыту. То есть, учитывая, что два последних соображения сейчас были далеко не первичными, беспримесный лишний геморрой. Но отступать было уже некуда, так что Виктор перехватил скрамасакс поудобнее и пошёл в закат.

II

- Добро пожаловать в лавку Гундерика, мой друг! Желаешь прикупить что-нибудь?

Вообще, этого NPC-продавца было бы неплохо отправить к сценаристам на доработку, поскольку его реакция на вторжение в магазин почти голого чумазого мужика с обнажëнным мечом в руке особой адекватностью не отличалась. Нет, понятно, что наиболее реалистичное в такой ситуации паническое бегство стабильно создавало бы игрокам совершенно необязательные неудобства. Однако, изобразить на подобострастно улыбающейся физиономии хотя бы немного естественного обалдения всё-таки было можно.

- Меню бартера открой, - сказал Виктор. Вести с бездушным скриптом светские беседы, как это делали игроки, никакого желания у него не было.

Вообще, разнообразные звериные шкуры, клыки с когтями и рога с копытами стоили крайне дëшево. Но у Виктора их скопилось столько, что сумма набежала вполне внятная. Как-никак, лишь с третьей попытки дошёл, каждый раз погибая уже на подходе к Олмерсбургу. И то, при первых заходах как-то больше старался убежать, и лишь на третий психанул и начал уничтожать всё, что стояло на пути. Так бы могло и больше получиться. Или наоборот, меньше, если бы с первой попытки дошёл? В любом случае, вырученных денег вполне хватило на простенькую, но практичную экипировку. А главное, хватило на гросс-мессер ─ грубо говоря, саблю на рукояти от двуручника, хотя у знакомых Виктору реконструкторов от такого объяснения почему-то пар из ушей валил. Впрочем, будь он хоть граблями на черенке от лопаты, сейчас важнее было то, что игра допускала выполнение с гросс-мессером специфичных скиллов от полуторника. Под каковые персонаж Виктора и был заточен.

Город окружали поросшие корабельными соснами каменистые холмы, перемежаемые гранитными кряжами и глубокими тëмными озëрами с изломанными линиями берегов. Отдельные острословы за такой ландшафт обзывали Олмерсбург Петрозаводском, и добавляли, что основными монстрами в этом клоне Карелии должны быть пьяные туристы с гитарами. Дизайнеры уровней, однако, предпочли населить эту локацию банальными стереотипными гоблинами. На шуточки же они отвечали, что, в принципе, то на то и вышло.

С первой такой аллегорией на туриста Виктор столкнулся, едва отойдя от городских ворот, да так неожиданно, что едва успел парировать выпад зазубренным костяным копьëм. Раздосадованно зашипев, гоблин тут же разорвал дистанцию и принялся обходить излишне сноровистого врага по кругу, изображая, будто ищет в его защите брешь. На самом деле, это было не так. По истечению десяти-двенадцати секунд гоблин атаковал в любом случае, одинаково кидаясь и на беззащитный бок, и на подставленный щит, и на выставленную вперëд пику. Последнее, как нетрудно догадаться, зачастую с летальным исходом. У кого же пики не было, могли просто предпринять встречную атаку, без затей и с выгодой для себя разменяв пяток хитпоинтов на опыт за срубленную голову зеленошкурого уродца. Это Виктор изначально и собирался сделать. Но передумал, и отбил укол ещё раз.

- Лунная Тень, уровень десять, - скомандовал он, когда гоблин вновь отступил. Что было, конечно, рискованно. Однако, теперь он был готов к возможным последствиям. И безоружным бы не остался -- предусмотрительно оставленный скрамасакс теперь ждал своего часа в ножнах за спиной. А с багом разбираться всё равно было надо.

- Запуск!

Персонаж с места выпрыгнул вперёд, проворачивая меч над головой, и в падении рубанул справа налево. Гоблину этого хватило с запасом. Удар, по бэку усиленный мистической силой фехтовальщика, а по сути ─ модификатором в формуле урона, развалил его надвое, и обе половинки, не успев упасть, тут же растворились в воздухе.

Получалось, скилл всё же работал, как ему и следовало, а баг возник из-за меча. Скорее всего, как-то сконфликтовали накладывавшиеся при атаке эффекты. Теперь бы ещё понять, как именно.

В задумчивости Виктор посмотрел на землю ─ и вдруг усмехнулся. Там, где раньше стоял гоблин, на порыжевшей опавшей хвое лежал синий полупрозрачный кристалл. Эссенция души. Редкий и очень дорогой лут, необходимый для крайне богатого на награду квеста. Даже просто продав его в нужном месте можно было бы весьма душевно прибарахлиться.

Виктор оставил его лежать на земле. Он и так провëл здесь больше времени, чем рассчитывал, и отклоняться от прямого пути обратно в реальный мир не собирался.

Населявшие Аларак-Барзум сатиры, они же «козлы», они же «черти», были, безусловно, намного более опасными противниками, чем гоблины. Да что там, они немало озадачивали даже опытных игроков, пока те не достигали того отнюдь не малого уровня, на котором всё было уже, в сущности, пофиг. Но и тогда "черти" нет-нет, да и находили, чем удивить зазевавшегося и излишне самонадеянного «папку».

Виктор отнюдь не был таким уж опытным игроком. Свободного времени у него водилось немного, и он по большей части тратил его не на игры. Вот только он и не вёл себя, как игрок.

«Черти» быстро бегали, больно били и весьма пакостно подколдовывали. Потому в открытом бою с ними было тяжко. Но ещё они были подслеповаты, потому их не так трудно было обойти. А при необходимости и наличии некоторого навыка ─ не игрового скилла, именно умения, ─ можно было и аккуратно подкрасться, чтобы решить всё одной мощной стремительной атакой. Правда, обычно игроки такого не практиковали. Слишком уж неоптимальным относительно других вариантов получался выход опыта и лута на единицу времени. Но для целей Виктора это было самое то.

Сатир-иерофант ─ рогатый козлоногий псевдо-гуманоид в светлой ритуальной накидке, опиравшийся на изогнутый пастушеский посох, ─ был наиболее подходящей целью для нападения из засады, поскольку из-за своего крена во всяческие колдунства удар держал плохо и ничего особенного в ближнем бою из себя не представлял. Тем более, данный конкретный экземпляр закрывал путь к лестнице на уровень ниже, куда Виктору как раз было надо. Но немного смущала прохаживающаяся по залу группка разноклассовых сородичей «козла». Большую часть времени они были на безопасном расстоянии, и, если не зевать, то можно было и проскочить. Но если не повезёт попасться на глаза хотя бы одному, то сразу сбегутся все, и придётся героически принимать последний бой. Надёжнее было дождаться, когда иерофант соизволит всё-таки сдвинуться с места, а потом проскользнуть к лестнице без драки. Правда, так можно было дождаться и нападения с тыла. Которое козлина с посохом, разумеется, не поленится поддержать. Такие перспективы изрядно нервировали. И когда иерофант, потоптавшись на месте, опрометчиво развернулся к тёмному коридору спиной, Виктор всё-таки решил действовать.

- Рассекающий Бриз, - прошептал он так тихо, как только позволяла игра. - Уровень пятнадцать.

Лунная Тень была намного мощнее, и решила бы вопрос с иерофантом самым радикальным образом. Вот только по шумовым эффектам она была аналогом вторжения во вражеское логово с ноги, практиковавшегося до смешного крутыми протагонистами боевиков начала 90-х. Для таких фокусов персонажу Виктора не хватало ещё уровней где-то двадцать. Ну, или слаженной и сбалансированной пати за спиной, готовой поддержать атаку. Урона же от Бриза хватало буквально впритык, зато он был абсолютно бесшумным.

- Запуск.

Персонаж развернул меч остриём назад и побежал. Нет, скорее даже начал падать вперёд, мелкими быстрыми шагами мешая себе растянуться на полу окончательно. Скорость этого падения всё нарастала, чтобы на пике целиком перейти в удар. Не самый сильный ─ этот навык, по идее, был предназначен для атаки на группу противников, и потому урон на каждого в группе ради сохранения баланса был изрядно порезан. Зато такой удар принципиально не блокировался, и увернуться от него было нельзя.

Формально иерофант и не увернулся. Атаки он не видел, так что навык уворота не мог включиться чисто технически. Просто именно в этот момент ему наконец-то вздумалось немного пройтись. В результате, меч лишь чиркнул кончиком по его спине, и сатир яростно взвыл, призывая товарищей покарать обидчика.

- Козёл потраченный! - выкрикнул Виктор и со всех ног припустил к лестнице, надеясь улизнуть, пока враги тратят время на предбоевую анимацию. Но не успел. Бросившийся наперерез сатир-воин с разбега протаранил его щитом, и Виктор кубарем покатился прямо под ноги к паре алебардиров. Которые его и добили.

В этой комнате его убивали четырежды. И ещё один раз ─ не доходя до данжа, когда, сосредоточившись на своей лютой злобе, Виктор прозевал нападение отряда гоблинов. Он успел попробовать и прокрасться втихую, и прорубиться напролом, и на скорости проскочить, но максимум, чего ему удалось добиться ─ это разделать аж целых трёх «чертей», прежде чем вновь отправиться в рейс до Олмерсбурга на ладье Харона. Что, в принципе, было неплохо. Только вот для текущих целей ─ категорически недостаточно.

Нет, разумеется, Виктору приходила в голову идея выманить сатиров в укромное место по одному и там с ними расправиться. Даже более того, она пришла к нему раньше всех. В тот момент, когда он участвовал в их разработке. И именно поэтому он предложил сделать их большими коллективистами, всегда, безусловно зовущими товарищей на драку. О чём теперь сильно жалел.

Впрочем...

Мысль, вдруг посетившая его голову, показалась отдыхающему у алтаря возрождения Виктору столь забавной, что он не выдержал и расхохотался в лицо проходившему мимо NPC-статисту.

Ничего подобного Аларак-Барзум прежде не видел. В том числе, насколько Виктор знал, и на продуктивном сервере, поскольку игрокам проворачивать нечто подобное было элементарно незачем. Хотя, стопроцентной уверенности здесь не было. Всё-таки, игроки были живыми людьми, и далеко не всегда руководствовались исключительно прагматикой. Встречались среди них и такие затейники, у которых хотелось спросить справку от психиатра прямо вместо приветствия.

Затея Виктора строилась на том простом факте, что разнообразная монстрá в этой игре отнюдь не была исполнена глубокого чувства межвидовой солидарности. Напротив, условно-дружественные виды для агрессивных по умолчанию мобов прописывались в качестве исключений. И у сатиров с гоблинами такой условной дружбы не водилось.

А Виктор собрал на себя абсолютно всё гоблинское население, проживавшее на локациях между Олмерсбургом и Аларак-Барзумом. Игра из-за этого даже начала ощутимо подтормаживать.

Эта битва была воистину достойна легенд, песен и кино по мотивам. Нескончаемая зелешкурая река с бурунами вскинутых копий неудержимо текла по коридорам древнего подземелья, сметая всё на своём пути. Конечно, при прочих равных средний сатир мог вытереть пол средним гоблином за считанные секунды ─ вот только мелких носатых поганцев в каждой стычке было несоизмеримо больше. И оставалось больше, несмотря на колоссальные потери, что успевали нанести им мелкие отряды «чертей». По крайней мере, первые пару уровней. На третьем Виктору приходилось уже не только быстро бегать и следить, чтобы гоблюки не слишком разбредались по коридорам, но и время от времени подрабатывать «богом из машины», парой выверенных атак разворачивавшим исход стычки в гоблинскую пользу. На четвёртом он и вовсе с концами прописался, как рядовой боец зеленомордой орды. Жаль только, сами гоблины об этом не догадывались. Наконец, в той самой зловредной комнате, на которой четвёртый уровень и заканчивался, героически полегли последние полтора десятка гоблинов. Причём, вовсе не напрасно, а отвлекая на себя внимание сатиров, которых стало просто невообразимо удобно резать по одному.

И вот ─ пятый уровень. Безраздельная обитель Бафомета, божественного повелителя сатиров, Великого Зла, что довлеет и жаждет вырваться, и главного босса данжа. А ещё пятый уровень был местом обнаружения бага. Последнее в случае с Виктором и было основной причиной. Старина Бафик же ─ так, помеха, пусть и временами значительная.

Пятый уровень по площади был самым маленьким во всём данже. Только узенький коридор после лестницы и, собственно, тронный зал Бафика. Или, учитывая ширину коридора в сравнении с размерами туши ожидавшего за ним босса, его тюрьма. Впрочем, безопасность коридора была штукой ложной ─ у Бафомета было чем попотчевать скрывшуюся там добычу. Но по своей инициативе Старший Козёл туда всё-таки не лез, так что у Виктора имелось несколько спокойных минут, чтобы вспомнить все условия воспроизведения бага.

Они, если честно, были идиотскими. Чем-то очень сильно напоминающими тёмную магию, какой она была в реальном мире: попыткой, совершая некий набор не особо осмысленных действий, добиться результата, которого, по идее, быть не должно. Пожалуй, разница была только в том, что в реале отсутствовал баг, благодаря которому оно бы действительно работало.

Для воспроизведения бага требовалось: погасить каждый третий факел в коридоре; спровоцировать Бафомета; убежать в коридор; включить анимацию случайного танца; открыть инвентарь и начать выбрасывать монетки по одной; дождаться, когда Бафик ударит в коридор магией. И вот после этого игра должна была лечь намертво. Видимо, не вынеся дебильности происходящего.

Виктор выполнил всё в точности, хоть и чувствовал себя в процессе крайне неловко. В особенности ─ когда уже вытанцевал четверть содержимого своего кошелька, а бородатая и увеличенная в размерах копия иерофанта всё ещё не пыталась его атаковать. Впрочем, памятуя о не ко времени захотевшем погулять представителе Бафиковой паствы, никаких необдуманных действий он не предпринимал. Как оказалось ─ не зря. Устав ломиться в явно не для него вырубленный проход, Старший Козёл всё-таки стукнул макушкой посоха об пол, запуская в коридор волну всепожирающей тьмы.

Первые секунд десять Виктор молча оглядывал центральную площадь Олмерсбурга. Его помпезную ратушу с золочёными часами на башне. Строгий готический собор с яркими пятнами витражей. Жизнерадостные фахверковые домики горожан с аккуратно выбеленными стенами и весёлой красно-оранжевой черепицей. Наконец, черно-мраморную громаду алтаря возрождения, что не слишком вязалась со всем остальным ансамблем. Он смотрел на однообразную заскриптованную суету статистов и пытался определиться, какое именно слово из богатейшего обсценного тезауруса великого и могучего русского языка лучше всего описывает сложившуюся ситуацию. Кандидатур было сразу несколько, но Виктор никак не мог выбрать, какую из них предпочесть для досадливого возгласа. Какими-то все они казались пресными. Не отражающими всей глубины испытываемых им эмоций.

Когда перед глазами высветился интерфейс смартфона с вызовом от Ромы, Виктор, погружённый в свои тяжёлые мысли, поначалу едва от него рефлекторно не отмахнулся ─ мол, не до тебя сейчас. И лишь спустя секунду он осознал, что видит. Спасение! Входящие работали! Он торопливо ткнул в кнопку ответа и, сдерживая рвущийся из глотки ликующий крик, произнёс:

- Алло?

- Алло! - раздалось в ушах, - Вить, привет ещё раз! Ребята говорили, ты допоздна сегодня, так ведь? Ну, в смысле, ты сейчас на работе ещё?

- Ну... - Виктор озадаченно огляделся по сторонам. - Да. Типа того.

- О, прекрасно! - обрадовался Ромик. - Слушай, я перед уходом модуль не выключил. Тебя не сильно затруднит его погасить? Кстати, если что, я из дома подключился и тот баг с чертями починил. Представляешь, там, оказывается, для некоторых скиллов боевого танцора и торгаша исключений не было прописано, плюс ─ тёмные и огненные эффекты в некоторых случаях конфликтовали. А мы и не знали, что там такая ерунда кроется.

- Ты сделал что? - переспросил Виктор нервно подрагивающим голосом.

- Баг починил, - настороженно повторил Рома.

И тут Виктор вдруг понял, что он всё-таки знает нужные слова. Он их даже произнёс. Во всю глотку.

- Вить, ты чего ругаешься? - ошарашенно спросил Рома, - Я что-то не то сделал, что-ли?

Виктор надавил виртуальными пальцами на виртуальные виски. Реального толку от этого, разумеется, никакого не было, но чисто психосоматически ─ успокаивало.

- Так, стоп, - чуть хрипло сказал он. - Ромыч, извини, пожалуйста. Это всё не тебе. Ты ─ молодец, и сделал всё правильно. Просто здесь... В общем, позвони, пожалуйста, охраннику на проходную. Пусть вытащит меня из этой чёртовой капсулы!

Пару секунд Рома молчал, видимо, переваривая услышанное. После чего, давясь от едва сдерживаемого нервного смешка пробормотал «хорошо» и отключился.

А около десяти минут спустя Олмерсбург вдруг померк.

- Живой там? - раздался голос охранника, чуть приглушённый корпусом обесточенной капсулы, - Всё, свобода! Вылазь давай. Кирито-кун, понимаешь...

Спасибо за чтение

Вернуться к книге