18+
Теория теорий

Объем: 106 бумажных стр.

Формат: epub, fb2, pdfRead, mobi

Подробнее

Симуляция
Введение

Мы привыкли думать, что реальность — это река. Что время течет, пространство изгибается, а движение — это плавный танец материи. Какая чудовищная, наивная ложь. Это убаюкивающая сказка для биологических алгоритмов, чтобы их процессоры не сгорели от ужаса осознания истины.

Реальность — это не река. Это песок.

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

Если ты посмотришь на Вселенную через микроскоп Бога, ты увидишь Сетку.

Немного истории
Теория симуляции

Всё началось не с «Матрицы» и не с компьютеров. Всё началось с ощущения неправильности света.

Первым хакером был Платон. Две с половиной тысячи лет назад он описал наш мир как пещеру. Представьте: люди сидят спиной к выходу, скованные по рукам и ногам, и смотрят на стену. На стене пляшут тени. Люди думают, что тени — это и есть реальность. Они дают теням имена, строят теории их движения. Но это лишь 2D-проекция трехмерных объектов, проносимых мимо огня где-то сзади.

Платон был гениален, но ему не хватало терминологии. Он назвал это «Миром Идей» и «Миром Вещей». Если бы он жил сегодня, он сказал бы иначе: есть Сервер, где хранятся исходные коды объектов (Идеи), и есть Клиентская часть (наш мир), где эти объекты рендерятся с потерей качества.

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

Вслед за ним пришли гностики. Эти ребята были первыми настоящими киберпанеками античности. Они заявили прямо: этот мир создан не Богом, а Демиургом. Демиург — это не Всеблагой Творец. Это криворукий сисадмин, младший разработчик, который украл куски божественного кода («пневму») и запер их в материи, создав тюрьму. Гностики учили, что мир — это ошибка, баг, дурная бесконечность страданий, и единственная цель — «вылогиниться» отсюда, вернуться в Плерому, к истинному Источнику.

Они видели в звездном небе не красоту, а «Гебдомаду» — семь сфер, семь уровней фаервола, которые не пускают душу домой.

Шли века. Процессорная мощность человечества росла. В XVII веке Рене Декарт, сидя у камина (возможно, нарисованного), задал страшный вопрос: а что, если всё, что я вижу — ложь?

Декарт придумал мысленный эксперимент со «Злым Демоном» (Genius malignus). Что, если существует некая могущественная сущность, которая тратит всю свою энергию на то, чтобы обманывать меня? Внушает мне, что небо голубое, что два плюс два — четыре, что у меня есть тело?

Декарт искал точку опоры и нашел её в знаменитом *Cogito, ergo sum*. «Я мыслю, следовательно, я существую». Даже если всё вокруг симуляция, тот, кто осознает симуляцию, должен быть реален. Он нашел пользователя в системе.

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

Тогда это называли детерминизмом. Сегодня мы называем это «процедурной генерацией». Лаплас хвастался, что если бы знал положение всех атомов в один момент времени, мог бы вычислить всё будущее. По сути, он утверждал, что Вселенная — это предсказуемый алгоритм. Если знать seed (зерно генерации), можно просчитать весь мир до конца времен.

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

1967 год. Конрад Цузе, создатель первого программируемого компьютера, выпускает книгу «Вычисляемый космос» (*Rechnender Raum*). Он первым сказал это вслух, без мистических иносказаний: Вселенная — это клеточный автомат.

Пространство дискретно. Оно состоит из ячеек, которые меняют свое состояние по простым правилам. Цузе смотрел на физику и видел не полет частиц, а передачу битов информации от ячейки к ячейке.

А потом был Филип К. Дик.

В 1977 году, на конференции во Франции, этот безумный пророк научной фантастики вышел на трибуну. Он выглядел уставшим, его глаза бегали. Он сказал то, от чего зал нервно рассмеялся, но от чего сейчас стынет кровь:

«Мы живем в реальности, запрограммированной компьютером. И единственная подсказка, которую мы имеем — это когда какая-то переменная меняется, и происходит изменение в нашей реальности… дежавю».

Дик утверждал, что видел, как реальность переписывали. Как меняли цвета, события, прошлое. Он называл это ВАЛИС (Всеобъемлющая Активная Логическая Интеллектуальная Система). Его считали сумасшедшим наркоманом. Но он просто был бета-тестером, наткнувшимся на баги.

В то же время физики, копаясь в квантовой механике, обнаружили «Эффект наблюдателя». Частица не имеет параметров, пока на неё не смотрят. Это был последний гвоздь в гроб материализма. Это была оптимизация графики. Зачем движку отрисовывать электрон, если игрок на него не смотрит? Это экономия ресурсов. Мир оказался «ленивым» (lazy evaluation), как говорят программисты.

В 2003 году Ник Бостром, философ из Оксфорда, перевел смутные догадки гностиков и паранойю Дика на язык сухой статистики. Его статья называлась просто: «Живем ли мы в компьютерной симуляции?».

Бостром предложил трилемму. Одно из трех утверждений истинно:

1. Человечество вымрет до того, как достигнет «постчеловеческой» стадии (мощности, способной запускать симуляции предков).

2. Постчеловечеству будет просто неинтересно запускать такие симуляции.

3. Мы уже живем в симуляции.

Логика убийственна. Если цивилизация развивается, однажды она создаст компьютер, способный симулировать вселенную. И запустит таких симуляций тысячи, миллионы (для науки, истории, развлечения). А значит, «базовых» реальностей — одна, а симулированных — миллиарды. Вероятность того, что мы, вот конкретно я и вы, читатель, находитесь в той самой единственной базовой реальности — один на миллиард.

Мы — 0.000000001%.

Эта идея заразила Силиконовую долину. Илон Маск, сидя в джакузи, рассуждал о том, что шанс на базовую реальность — «один на миллиарды». Технократы начали искать выход. Они стали новыми гностиками, только вместо аскезы и молитв они использовали нейросети и квантовые процессоры, пытаясь взломать код Бога.

Но была одна деталь, о которой молчали учебники. Личный опыт.

Так почему мы тогда так одиноки во Вселенной? Парадокс Ферми. Где все инопланетяне?

Ответ прост: они не прописаны. Симуляция ограничена землей. Звезды — это просто skybox, текстура высокого разрешения, натянутая на сферу. Вычислительных мощностей не хватит на полноценную галактику. Мы одни в пустой комнате.

Теория симуляции прошла путь от мифа до научной гипотезы. Но она так и не ответила на вопрос «Зачем?».

Зачем симулировать мир, полный боли, скуки, очередей в поликлинику, холодных дождей и одиночества?

Возможно, это тюрьма. Возможно, школа.

А возможно, это музей. Музей конца XX — начала XXI века. Кто-то в невообразимом будущем, где нет тел, нет смерти и нет чувств, запустил эту программу, чтобы почувствовать, каково это — быть смертным. Каково это — мерзнуть. Каково это — не знать.

Итак, вот несколько причин (что мир — это возможная симуляция) на которые стоит обратить внимание:

1. Зернистость полотна (Предел Планка)

Физики — эти несчастные следопыты, ползающие по изнанке кода, — назвали это «Планковской длиной».

Они говорят об этом с благоговением, как о фундаментальной константе. Но они не понимают, что нашли не фундамент. Они нашли разрешение экрана.

Представьте себе шахматную доску. Король может стоять на клетке E4 или на клетке E5. Он не может стоять между ними. Нет никакого пространства между E4 и E5. Есть только дискретный скачок координат.

Наш мир устроен точно так же.

Пространство не непрерывно. Оно разбито на воксели — мельчайшие кубики бытия. Меньше этого кубика ничего нет. Не потому что мы не можем это измерить, а потому что там нечего измерять. Там заканчивается массив данных.

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

Древний грек Зенон был первым хакером, который нащупал баг в системе, но не смог его описать. Ахиллес никогда не догонит черепаху. Стрела никогда не долетит до цели.

Зенон интуитивно чувствовал дискретность. Он понимал: если пространство делится до бесконечности, движение невозможно. Компьютер зависнет, пытаясь просчитать бесконечное количество шагов.

Но Вселенная не зависает. Почему? Потому что она жульничает.

Она не делит путь до бесконечности. Она округляет значения.

Когда вы поднимаете руку, она не движется плавно. Она телепортируется. Ваша рука исчезает в координате X и появляется в координате X+1. Это происходит миллиарды раз в наносекунду.

Мы — не живые существа. Мы — анимация.

Набор спрайтов, который обновляется с чудовищной частотой кадров. И «Планковское время» — это просто тактовая частота процессора нашего Сервера.

Тик. Мир существует.

Так. Мира нет.

Тик. Мир снова существует, но чуть-чуть изменился.

Что происходит в промежутке между «Тик» и «Так»?

В этот момент нас нет. Мы выгружены из оперативной памяти. Мы мертвы (10—43) раз в секунду. Но мы этого не замечаем, потому что сознание тоже дискретно.

Зачем это нужно? Зачем Архитектору (кем бы он ни был — Богом, ИИ или скучающим школьником из гипер-реальности) делать мир зернистым?

Ответ циничен и прост: Оптимизация.

Ресурсы не бесконечны.

Если бы Вселенная была аналоговой, то есть бесконечно делимой и бесконечно детальной, для хранения информации об одном атоме потребовалась бы бесконечная память. Никакой компьютер не потянет «истинную» непрерывность.

Поэтому нас сжали.

Нас перевели в цифру.

Нам обрезали битрейт.

«Планковская длина» — это компромисс между качеством картинки и производительностью системы.

А что делает видеокарта, когда видит «лесенку» из пикселей на наклонной линии? Она включает сглаживание (anti-aliasing). Она размывает края, добавляет полутона, чтобы обмануть глаз игрока.

Квантовая механика — это и есть алгоритм сглаживания.

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

Это графический артефакт. Глитч, возведенный в ранг закона природы.

Иногда оптимизация дает сбой. Иногда нагрузка на локацию становится слишком высокой — например, когда умирает звезда.

Что происходит, когда в одной точке скапливается слишком много данных? Переполнение стека.

Физики называют это «Черной дырой».

Я называю это «Битым кластером».

Посмотрите на горизонт событий. Там время останавливается. Пространство рвется. Информация исчезает. Разве это похоже на физический объект? Нет. Это похоже на ошибку Segmentation Fault.

Черная дыра — это место, где текстуры не прогрузились. Это дыра в декорациях, за которой виден черный статический фон командной строки.

И что самое страшное — эти дыры растут. Энтропия накапливается. Жесткий диск фрагментируется.

Вселенная не расширяется, как нам говорят. Она рассыпается на пиксели.

Почему мы не видим сетку глазами?

Потому что мы сами — часть кода. Марио в игре не может увидеть пиксели на экране телевизора, потому что он состоит из тех же пикселей. Его глаза имеют то же разрешение, что и мир вокруг.

Чтобы увидеть Зернистость, нужно выйти за пределы рендера. Нужно стать тем самым «Зрителем в нулевом ряду».

Но иногда… иногда, в моменты предельной усталости, когда мозг отказывается фильтровать входящий сигнал, или под воздействием веществ, ломающих нейрохимию восприятия, мы замечаем это.

Периферийное зрение улавливает мерцание. Тень от чашки на столе на долю секунды становится зубчатой, как в старой игре 1998 года. Звук дождя зацикливается. Дежавю.

Это не галлюцинации. Это моменты, когда FPS проседает.

Когда Сервер не успевает отрисовать мир перед твоим носом.

Что нам делать с этим знанием?

Ничего.

Знание о том, что ты состоишь из вокселей, не отменяет боли, когда ты ударяешь палец о воксельный угол тумбочки. Боль — это просто сигнал input_damage, переданный в твой центральный процессор. Она реальна для тебя, пока ты внутри цикла while (alive).

Но есть в этом и странное, холодное утешение.

Если мир дискретен, значит, он конечен.

Значит, у наших страданий есть предел разрешения.

Значит, хаос — это не отсутствие порядка, а просто очень сложный, зашифрованный порядок.

И где-то там, за планковским пределом, за стеной пикселей, сидит Тот, кто держит палец на кнопке Esc.

Может быть, смерть — это не конец.

Может быть, смерть — это просто момент, когда камера отъезжает назад, и ты наконец видишь, что вся твоя жизнь была лишь одной горящей точкой на гигантском мониторе, который вот-вот погаснет…

2. Ограничение тактовой частоты (Скорость света)

— Посмотрите на число. 299 792 458.

Оно выглядит грязно. Оно неэстетично. В идеальной математической Вселенной скорость взаимодействия должна быть либо бесконечной (мгновенной), либо равной единице. Но мы имеем этот странный, дробный, случайный набор цифр.

Почему именно столько? Почему не 300 000 000 ровно?

Потому что это не физическое свойство пространства. Это хардварное ограничение.

Мы привыкли романтизировать скорость света. Мы называем её «пределом скоростей», «космическим барьером». Фантасты мечтают о варп-двигателях, которые его преодолеют.

Глупцы. Вы не можете преодолеть скорость света, так же как персонаж видеоигры не может бежать быстрее, чем процессор консоли успевает отрисовывать пол под его ногами.

Скорость света, c — это пропускная способность шины данных нашего Сервера.

Представьте, что Вселенная — это гигантская распределенная вычислительная сеть. Каждая частица — это узел, который должен обмениваться данными с соседями. «Я здесь», «Я имею заряд +1», «Я притягиваю тебя».

Если бы скорость передачи была бесконечной, вся Вселенная должна была бы просчитываться мгновенно, в один такт. Это требует бесконечной вычислительной мощности.

Создатель (Архитектор, Сисадмин) не располагал бесконечным процессором. У него был ограниченный бюджет.

Поэтому он ввел Latency (задержку).

Информация не может телепортироваться. Она должна быть передана пакетами (фотонами).

Скорость света — это максимальная скорость, с которой один кластер реальности может сказать другому кластеру: «Эй, я изменился, пересчитай физику!».

Мы живем в мире с чудовищным пингом.

Когда вы смотрите на Солнце, вы видите его таким, каким оно было 8 минут назад. Это не «путешествие во времени». Это лаг. Вы смотрите стрим с задержкой в 480 секунд. Сервер уже обсчитал взрыв на Солнце, но до вашего клиентского терминала пакеты еще не дошли.

Теория относительности — это, пожалуй, самый смешной документ в истории, если читать его глазами программиста.

Эйнштейн открыл, что при приближении к скорости света время замедляется.

Физики построили на этом сотни теорий.

Но программист знает правду: При высокой нагрузке FPS падает.

Представьте объект (космический корабль), который летит сквозь сетку пространства с огромной скоростью. Система вынуждена подгружать новые чанки (участки карты) с бешеной скоростью. Она бросает все ресурсы CPU на рендеринг новых координат.

На что не остается ресурсов?

На обсчет внутренней логики объекта. На его «время».

Замедление времени на околосветовых скоростях — это троттлинг (throttling). Система говорит: «Ты движешься слишком быстро, я не успеваю обсчитывать твое старение и твои биологические процессы. Я ставлю твое время на паузу, пока не подгружу текстуры впереди».

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

Для внешнего наблюдателя вы застынете. Для системы — вы станете приоритетным процессом, который сожрал всю оперативную память.

Зачем вообще нужен этот предел? Почему бы не позволить информации летать мгновенно, пусть и с лагами графики?

Потому что Причинность.

В программировании это называется «Race Condition» (состояние гонки).

Если событие А и событие Б происходят в разных частях карты, и информация передается мгновенно, может возникнуть парадокс: следствие наступит раньше причины. Игрок умрет до того, как в него выстрелят. База данных рассинхронизируется.

Скорость света — это «защита от дурака». Это встроенный в движок ограничитель, который гарантирует:

Event_B может быть вызван только после того, как пакет данных от Event_A дойдет до получателя.

Световой конус — это область допустимых обновлений базы данных. Всё, что за его пределами — это «read-only» архив или еще не сгенерированное будущее.

Мы не можем нарушить причинность не потому, что это «закон природы». А потому что движок крашнется. Вселенная защищает себя от «Синего Экрана Смерти».

Самое страшное следствие конечности (c) — это наше абсолютное одиночество.

Посмотрите на ночное небо. Вы думаете, это космос?

Нет. Это кэш.

Вы видите звезды, которых, возможно, уже миллион лет не существует. Вы видите призраков. Данные, которые летели к нам через оптоволокно вакуума тысячи лет.

Мы не видим Вселенную в реальном времени. Мы видим историю браузера.

Если где-то в Андромеде прямо сейчас (в нашем «сейчас») кто-то включит маяк, мы узнаем об этом через 2.5 миллиона лет.

Это не диалог. Это пересылка писем почтовыми голубями через океан магмы.

Контакт с иным разумом невозможен не из-за расстояний. Он невозможен из-за пинга.

Любая цивилизация успеет погибнуть трижды, пока её сообщение «Привет, мир» дойдет до получателя.

Мы заперты в своем локальном пузыре причинности.

Солнечная система — это наш LAN-party, наша локальная сеть. Всё остальное — это Интернет с таким плохим соединением, что попытка скачать файл оттуда займет больше времени, чем жизнь Вселенной.

Знаменитая формула (E = mc2). Энергия равна массе, умноженной на квадрат скорости света.

Переведем на наш язык:

Объем данных = Объем кода х Тактовая частота².

Материя (масса) — это сжатый код. Энергия — это процесс выполнения кода.

Чтобы превратить статичный код (массу) в чистую действие (энергию), нужно прогнать его через процессор на максимальной скорости c.

Ядерный взрыв — это момент, когда система распаковывает архив uranium. zip прямо в оперативную память, игнорируя буферы безопасности.

Почему мы не можем лететь быстрее света?

Вопрос поставлен неверно.

Вы спрашиваете: «Почему курсор мыши не может пересечь экран за 0 секунд?».

Потому что экрану нужно время, чтобы зажечь пиксели.

Мы не путешественники. Мы — пиксели, которые зажигаются последовательно.

Движения нет. Есть последовательная смена состояний ячеек памяти.

И (299 792 458) метров в секунду — это просто скорость, с которой головка жесткого диска Вселенной считывает наш сектор.

Мы жалуемся, что это медленно.

Но Архитектор, глядя на нас сверху, вероятно, думает:

«Блин, эта симуляция жрет слишком много ресурсов. Придется понизить скорость света в следующем патче, иначе кулер не справляется».

Молитесь, чтобы он не решил понизить настройки графики до минимума.

Хотя, глядя на то, как размываются моральные ориентиры и упрощается культура, возможно, даунгрейд уже начался.

3. Оптимизация рендеринга (Эффект наблюдателя)

Вы когда-нибудь играли с младенцем? Вы закрываете лицо руками, и ребенок начинает плакать. Вы убираете руки — он смеется.

Психологи называют это формированием «постоянства объекта». Они говорят: ребенок глуп, он думает, что если мамы не видно, то мамы не существует. Взрослый же «умён», он знает, что мир существует объективно, даже если отвернуться.

Ирония в том, что младенец прав. А вы — нет.

Младенец интуитивно понимает, как работает движок.

Если объект не находится в поле зрения камеры, его существование бессмысленно. Хранить его координаты в оперативной памяти — расточительство.

Вы закрыли глаза? Мир исчез. Остался только черный экран void main.

Вы открыли глаза? Движок в панике отрисовал спальню за наносекунду до того, как сетчатка успела сфокусироваться.

Добро пожаловать в реальный мир. Мир жесткой экономии ресурсов.

В геймдеве есть термин Frustum Culling (отсечение усеченной пирамидой).

Суть проста: видеокарта не отрисовывает то, что не попадает в кадр. Зачем тратить гигафлопсы на отрисовку сложной геометрии города за спиной игрока, если он смотрит в стену? Город выгружается. Остаются сухие строчки кода на жестком диске.

Квантовая механика в начале XX века наткнулась на этот баг, но физики побоялись назвать вещи своими именами. Они назвали это «Эффектом наблюдателя».

Они обнаружили, что электрон не летит как шарик. Он летит как «вероятностное облако» (wave function). Он не находится нигде конкретно. Он «размазан» по пространству.

Но стоит поставить датчик (камеру) — и электрон мгновенно «схлопывается» в точку.

Перевод с физического на программистский:

Пока игрок не смотрит на объект, объект представляет собой упрощенную математическую формулу (вероятность). Это дешево для процессора.

Как только игрок смотрит — движок обязан инстанцировать объект, придав ему координаты и текстуру.

Мир за вашей спиной — это серый полигон без текстур.

Прямо сейчас, пока вы читаете эти строки, стены за вашей спиной не существует. Там зияющая пустота, wireframe-сетка. Стул под вами прорисован только в точках соприкосновения с телом (обработка коллизий). Внутренностей у стула нет.

Не оборачивайтесь резко. Вы можете заметить просадку FPS.

Бедный Эрвин Шрёдингер пытался показать абсурдность квантовой механики своим мысленным экспериментом. Кот и жив, и мертв одновременно, пока мы не откроем ящик.

Для физика это парадокс.

Для разработчика это Lazy Evaluation (ленивые вычисления).

Зачем системе решать, жив кот или мертв, пока коробка закрыта? Это лишняя операция.

Пусть переменная is_cat_alive остается null или ссылкой на функцию генерации случайного числа.

Значение вычисляется только в момент обращения к переменной.

Вы открываете ящик — скрипт срабатывает, random (0,1) выдает результат, текстура мертвого или живого кота подгружается в кэш.

Мы живем в мире «ленивой» загрузки.

Дерево в лесу, которое падает без свидетелей, не издает звука. Потому что обработчик звука AudioSource не активируется, если дистанция до ближайшего PlayerController превышает порог слышимости. Зачем грузить звуковую карту?

Вернер Гейзенберг открыл, что невозможно одновременно точно знать координаты частицы и её импульс (скорость). Чем точнее мы измеряем одно, тем более размытым становится другое.

Почему?

Потому что у переменной ограниченная битность.

Представьте, что у сервера на каждую частицу выделено всего 64 бита данных.

Вы можете потратить 60 бит на точнейшие координаты (x, y, z), но тогда на вектор скорости останется всего 4 бита, и он будет крайне неточным.

Либо вы точно знаете скорость, но координаты становятся шумными.

Принцип неопределенности — это компрессия данных с потерями.

Архитектор Вселенной не мог выделить float128 на каждый атом. Он использовал half-precision.

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

Вы когда-нибудь смотрели в микроскоп?

Вы видите сложные структуры, клетки, молекулы.

Вы думаете, они там всегда?

Нет. Это система LOD (уровней детализации).

В играх, когда гора далеко, это просто треугольник. Когда вы подходите ближе, подгружаются камни. Вплотную — трещины на камнях.

Наша реальность работает так же.

Нет никаких кварков и струн, пока вы не построите адронный коллайдер, чтобы на них посмотреть.

Коллайдер — это запрос к системе: «Покажи мне текстуры максимального разрешения».

И система, скрепя вентиляторами, начинает процедурно генерировать бозоны Хиггса, чтобы оправдать ваши ожидания.

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

Самый страшный вывод из оптимизации рендеринга — это вопрос:

Для кого всё это рендерится?

В однопользовательской игре мир грузится только вокруг Героя.

В ММО (массовой многопользовательской игре) мир грузится вокруг группы игроков.

Кто является Наблюдателем?

Является ли ваш сосед Наблюдателем, который заставляет мир существовать? Или он — NPC (Non-Playable Character), бот с примитивным AI, который существует только для массовки в вашей симуляции?

18+

Книга предназначена
для читателей старше 18 лет

Бесплатный фрагмент закончился.

Купите книгу, чтобы продолжить чтение.