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