При этом налицо вопиющая неграмотность авторов по теме разработки игр. Не в смысле каких-либо мелочей и упрощений, а просто в общих понятиях.
В общем сюжет обыгрывают тему глюков матрицы и то, что наш мир представляет собой симуляцию.
Основным стержнем сюжета является влияние квантовой физики вроде наблюдателя (в зависимости от наличия и отсутствия наблюдателя электроны ведёт себя то как волна, то как частица) и вопрос "а издаёт ли звук падающее дерево, если его никто не слышит?".
Так вот, применительно к сюжету, главный герой является как бы разработчиком игр и проводит соответствующие аналогии. Только, очевидно, разработчиком безграмотным. Поэтому вопрос существования объектов вокруг игрока называется с какого-то перепугу "процедурной генерацией", а не Level Of Detail. И я бы списал это на косяки перевода. Но потом разраб получает доступ к квантовому компьютеру (один раз посмотрел на него и во второй раз запустил программу). Утверждается, что язык программирования похож на С++ (что скорее всего так и было бы, ведь люди стараются сделать сущность похожими, язык шейдеров, например, очень похож на С++) и при этом в это же время на экране мелькают строки какой-то мутной фигни, больше похожей на язык формул из математических пакетов. И в конце герой компилирует свой код на четыре, мать его, платформы. Какие 4 платформы? Для иксбокса, соньки, андроида и ПК? Ты же собираешься запускать его на не имеющем аналогов квантовом компьютере))
В итоге герой тупо спамит квантовый компьютер рассчётами (насколько я понял из путанного объяснения, что процедурная генерация запускает рекурсивно процедурную генерацию на новом уровне), которые перегружают основной компьютер, на котором запущена симуляция нашего мира, ведь он тоже вынужден производить эти рассчёты, чтобы поддерживать симуляцию. То, что производительность квантового компьютера может быть ограничена не имеет значения для сюжета, ибо пофиг. В итоге работы такой zip-бомбы весь мир превращается в киберпанк без патчей, коллизии глючат (плять, почему никто не застрял в Т-позе? ах, автор же не очень грамотен), планеты сходят с орбиты, текстурки пропадают, происходит переполнение стека и великий резет. Большой взрыв, динозавры, главный герой с женой и дочерью, которая в этот раз не тонет, ибо нех.
И тут я вижу самую большую логическую дыру фильма, основанную как раз на природе процедурной генерации. Процедурная генерация обычно основана на псевдогенераторе случайных чисел. Так как генератор не настоящий, то опорное число генератора позволяет сгенерировать абсолютно идентичный мир. Как в майнкрафте, когда по сиду можно получить мир стриммера, например, у себя на компе. Эта вещь абсолютно гарантирована природой псевдослучайного генератора.
В нашем случае, раз все события от большого взрыва таки привели к существованию этой семьи, мы имеем дело именно с такой генерацией. С абсолютно гарантированным тем же результатом. А значит, его дочь должна утонуть, так как генератор продолжает свою работу без отклонений и мир должен опять пройти той же дорогой. Все события случайного генератора, раз уж они с абсолютной точностью привели к появлению этой семьи и даже к одной той же сцене, неизбежно должны были продолжаться дальше и привести к тому же концу мира.
Конечно, как и в случае с майнкрафтом, есть возможность отдельно хранить пользовательские изменения . И на это усиленно намекается. Хотя в этом же фильме показано, что такие вмешательства дают негативный результат и трещины в мире. Но если развитие этого случайного базового числа генератора приводит к такой критической ошибке, не проще ли задать новый сид, чем вносить ручные правки?
В любом случае фильм достаточно неплох, не смотря на свою оценку в 5 баллов на IMDB. Поэтому и советую не пропустить. Рейтинг явно занижен.
← Ctrl ← Alt
Ctrl → Alt →
← Ctrl ← Alt
Ctrl → Alt →