Убедившись, что завладел вниманием аудитории, Ксенобайт ухмыльнулся и замогильным голосом начал:
— Такое случалось и раньше, только болтать об этом не любят. Как известно, любой компьютерный монстр (или просто ЭнПиСи) состоит как бы из двух частей. Из тела, то есть модели, скелета и прочей ерунды, и управляющего этим телом скрипта. Когда в точке возрождения появляется новый монстр, создается тело и создается новый поток — отображение скрипта управления. А как же, ведь у каждого монстра — свой набор переменных. Координаты, запас здоровья... В конце концов — видит монстр или не видит кого-то из игроков, не атакован ли он... Порой случается так, что тело забывают подключить к скрипту и оно стоит столбом. Но иногда, очень-очень редко, почему-то вдруг оказывается, что запущенных потоков больше, чем тел-моделей. И вот тогда беда! На сервере появляется блуждающий скрипт, одержимый только одним желанием: раздобыть себе тело! Он нападает на представителей своего вида, и два потока вступают в конфликт, что может разрушить тело раньше, чем новый скрипт овладеет им. Но самое страшное начинается, когда блуждающий скрипт, отчаявшись, случайно нападает на игрока! — Голос программиста стал уже совсем завывающим. — Тогда, сняв вирт-шлем, человек начинает вести себя как компьютерный монстр!
Ксенобайт глянул на друзей. Доверчивая Внучка, которой можно было скормить самую невероятную историю, слушала, открыв рот. Как ни странно, Кеша тоже глядел на программиста с благоговейным ужасом. Зато остальные тестеры взирали с явной тоской.
— Что, — обиженно спросил Ксенобайт, — не интересно?
— Мрак, — жестко прокомментировала Мелисса.
— Понимаешь, — деликатно развил ее мысль Мак-Мэд, — мистико-философскую составляющую твоего пасквиля портит обилие технического жаргона, а научно-фантастическую — пошлые заезды в сторону пионерских страшилок.
— Критики... — с отвращением буркнул Ксенобайт. — Что ж, придется тогда, наверное, просто рассказать вам, от чего дохнут бармаглоты.
***
Немного повозившись, вся компания умудрилась взобраться на один из каменных столбов. На его верхушке оказалась небольшая площадка, где теперь и сидело маленькое общество. Ксенобайт неторопливо объяснял свою теорию:
— Полезная вещь — логи. Беда в том, что там содержится куча информации, и вот так, с ходу, научиться ее бегло читать не так то и просто. К тому же инструментов для обработки данных у меня фактически не было, приходилось определять закономерности «на глаз». И вот, как только я обратил внимание на странную продолжительность жизни бармаглотов, метод решения задачки стал ясен. Надо просто дождаться нужного времени и посмотреть, что произойдет с монстром в час Х. Смущало только одно: почему так мало? Ведь из-за этого надо именно что «присутствовать при рождении», что не так уж и просто.
— Ага, — кивнул Кеша. — У нас ведь блуждающие точки респавна!
— Это как? — уточнила Внучка.
— Это значит, что монстр может родиться в любой точке в некотором достаточно обширном радиусе. Сделано это для того, чтобы игроки, зная, где появляется жирный монстр, не устраивали ему засаду.
— Точно. Какое-то время я ломал голову над тем, как бы заранее узнать, где появится новый бармаглот. А потом вдруг вспомнил, как мы спускались в долину, и понял, что искать не так уж и нужно.
— Ксен, ты со своей тягой к драматическим эффектам рискуешь умереть молодым. Объясни толком, а?
— Ну, прыгая в портал, я подумал: а ведь вниз-то секунды две, а то и три лететь.
Все непроизвольно глянули вверх, на виднеющийся край обрыва.
— Ты хочешь сказать, что бармаглоты... — осторожно уточнил Банзай.
— Ага. Просто ляпнулись с большой высоты. Как только у меня мелькнула эта идея, я не поленился еще немного пошнырять по базе и выяснить координаты точек возрождения. Их расставлял очень аккуратный человек. На всякий случай все они были поставлены на высоте двадцати сантиметров. Беда в том, что дно долины находится на высоте...
— Минус тридцати метров, — развел руками Банзай.
— Ага. Думаю, если мы еще немного покопаемся в базе, то выясним, что как раз перед тем, как началась вся эта чепуха, в локации проводились технические работы. Точки возрождения были переустановлены, или, быть может, что-то поменялось в системе координат. Время от времени все монстры обновляются, так что, даже если никто не убивал бармаглотов, они исчезали в естественном порядке. Исчезали, чтобы, по идее, тут же возродиться... Ну и вот. Загадка разгадана, чудовище убито. Баг-репорт, фанфары, занавес.
— И чего же мы тут тогда сидим? — осведомился Махмуд.
— Во-первых, готовимся созерцать редкое зрелище: полет бармаглота. Тут хороший обзор и точка возрождения недалеко. Во-вторых, подумать над сделанным нам предложением.
Молчали довольно долго. Дизайнер Кеша сидел тихо, стараясь даже дышать через раз.
— Я думаю, надо соглашаться, — вздохнула наконец Мелисса. — Возможность писать репортажи из самого сердца «Самары Софт»... К тому же страсть как хочется раскопать подробности истории этого проекта! Михалыч только вскользь упомянул о ней.
— Ну уж, «самое сердце» — это перебор, — фыркнул Ксенобайт. — Но история обещает быть интересной. Может, хоть тут ценят программистов?
Махмуд с Мак-Мэдом пожали плечами, тщательно делая вид, что им вообще все равно. Банзай подвел итог:
— Короче говоря, мы, в принципе, согласны. Но с этим Михалычем мы еще поторгуемся! Я думаю, начнем с того, что...
— Смотрите, смотрите! — завопила Внучка, вскидывая камеру. — Вон там! Летит!
Высоко над долиной, как раз на уровне обрыва, возник бармаглот. Удивленно курлыкнув, он поджал лапы и, отчаянно маша крылышками, камнем рухнул вниз.
Эпизод 33: Сбежавший город
— Махмуд, ну какого черта ты делаешь? Левее! Левее, слышишь?
— Спокойно, идем по курсу!
— Да какой курс?! Тормози! Тормози, кому сказано!
Невнятно зарычав, Махмуд потянул рычаг. Корректор пейзажа утробно замычал и, содрогнувшись, замер.
Если кто-нибудь думает, что создание компьютерной игры сводится к тому, что куча угрюмых программистов байт за байтом строчит чистый машинный код, — он, конечно, ошибается. Нет, без сухих строчек дело не обходится, но программисты уже давным-давно предпочитают писать, так сказать, не саму игру, а набор инструментов, позволяющий менее искушенным в математических абстракциях людям (вроде дизайнеров) сравнительно комфортно создавать и обустраивать игровой мир.
В данный момент Махмуд с Ксенобайтом, оседлав корректор пейзажа, готовили к заселению новую локацию: лабиринт какого-то старинного полуразрушенного бункера. Корректор представлял собой что-то вроде бульдозера, прямо перед собой генерирующего зону пространства с заданными параметрами. Сейчас, например, он был настроен на то, чтобы прокладывать облицованный серым бетоном тоннель.
Конечно, большие пространства обустраивались «снаружи», но тонкую настройку местности всегда удобнее было производить прямо из вирт-пространства игры. Так что Махмуд с Ксенобайтом, вооружившись составленной дизайнерами картой, отправились рыть тоннели. Программист, шипя и ругаясь под нос,