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