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