Первый вопрос здесь, так что не стесняйтесь указать меня, если это будет необходимо.
Мне было интересно: если бы была очень убедительная, продвинутая симуляция реального мира или мира фантазий, как можно было бы ее разбить?
Единственные примеры, которые у меня есть, немного слабы, но вот: если вы попали в ловушку в игре типа «искусство меча онлайн» размером и сложностью World of Warcraft, смогли бы вы сломать ее, используя глюк, например, дублирование предмет бесконечно, используя пластину для перемещения в пространстве (как, например, в Скайриме)?
Прочитайте ответ Антона Голова на вопрос, если бы наша вселенная была симуляцией, как могла бы выглядеть ошибка?
Чтобы сломать его, вам нужна ошибка в симуляции для использования; и очень немногие такие ошибки на самом деле приводят к сбою симуляции; большинство из них покажутся какой-то аномальной или непоследовательной физикой.
Например, при симуляции движения объектов у меня однажды была ошибка, из-за которой моя симуляция позволяла одному типу объектов проходить сквозь другие объекты, вместо того, чтобы сталкиваться с ними.
Моделирование может не преобразовать физическое положение в движение: для нас это выглядело бы как движущийся объект, внезапно подпрыгнувший в пространстве или просто исчезнувший. Или, возможно, ошибка искала неправильные физические характеристики, и объект (размером с атом, размером с мир) внезапно превратился в твердый уран или водород.
Большинство ошибок не приводят к сбою программ; они просто заставляют программу делать что-то неожиданное. Внутри симуляции это выглядело бы как новый закон физики или просто что-то, что мы никогда не сможем объяснить. (Подумайте о тайнах Вселенной, которые у нас есть сейчас, таких как Темная Материя, Темная Энергия, отсутствие монополей и некоторые другие аномалии в физике). Это было бы что-то, что, казалось бы, не складывается или не соответствует открытым нами физическим законам о том, как работает мир и вселенная и все их системы (включая биологическую, химическую, физику и физику элементарных частиц).
Чтобы разбить его , вам понадобится убегающая ошибка; и изнутри системы это будет либо незаметно (как время останавливается), либо какая-то экспоненциально растущая «зараза» вселенной, которая уничтожает все (например, черная дыра, которая необъяснимо быстро растет и поглотит все.
Проявление краха симуляции — это всегда остановка симуляции; программа перестает работать. Теперь компьютер, на котором я работаю, может обрабатывать инструкции в полную силу; но если я нахожусь в бесконечном цикле, симуляция никуда не денется: она останавливается.
Большинство сбоев являются результатом ошибок, которые случайно потребляют ресурсы, такие как память компьютера или дисковое пространство, поэтому машина, выполняющая вычисления для моделирования (что, очевидно, не В симуляции), не имеет ресурсов для продолжения. Или, отдавая такой машине приказы, она не может их выполнить; например, выбирать курс действий, используя переменную, которая случайно осталась «неопределенной» в коде.
В реальной жизни многие симуляции выполняются очень долго (в прошлом году я читал, что военным исследователям потребовалось около недели календарного времени, чтобы точно смоделировать поток воздуха в течение тридцати секунд полета для новой многороторной платформы снабжения дронов).
Из-за этого во многих таких симуляциях используются контрольные точки, где они время от времени (например, каждые 15 минут) сохраняют «моментальный снимок» всей системы, чтобы помочь им отследить ошибки и сбои, и если они уверены в проблеме. не повлияли на симуляцию до некоторой предыдущей контрольной точки, они перезапустят симуляцию с этой контрольной точки.
Изнутри симуляции мы никогда не увидим сбоя:
Предположим, что сбой симуляции в нашем 2015 году приведет к разрушению Вселенной. Наши программисты-симуляторы прослеживают это до ошибки, которая впервые проявилась в нашем 1987 году: когда Флейшманн и Понс впервые зафиксировали холодный синтез. Но, в отличие от нашей истории, это оказалось реальным из-за ошибки в моделировании взаимодействия между палладием и дейтерием. Как только это взаимодействие начинает производить свободную энергию, неконтролируемая реакция вызывает черную дыру, которая поглощает Вселенную. облом.
Программисты-симуляторы исследуют это и, будучи умными, выясняют, каким образом Флейшманн и Понс могли бы увидеть то, что видели, но с их результатами из-за какой-то периодической проблемы с оборудованием (и их эксперименты периодически были «успешными», а не неудачными). ) локализованы в их лаборатории.
У них КПП 1972 года, с небольшой модификацией могут ввести этот недостаток оборудования, а также исправить баг взаимодействия. Они восстанавливают Вселенную до этого состояния: все работает немного по-другому. Взаимодействие палладия и дейтерия дает нулевую свободную энергию; ошибка исправлена. Недостаток оборудования обманывает Флейшмана и Понса, но их эксперименты невозможно воспроизвести, и они дискредитированы. В нашем 2015 году вообще ничего не происходит, а симуляция продолжается: но программисты-симуляторы сэкономили 13,7 миллиарда наших лет во время симуляции, и, возможно, это имеет значение для них.
Вы говорите о «глюке», который представляет собой конкретную ошибку в программировании , позволяющую вам делать то, что вы не должны делать.
Если это может привести к сбою игры, это зависит от специфики самого сбоя. Это не то, что можно увидеть «априори», вы играете и (возможно) используете ошибки и эксплуатируете их «творческими» способами.
Это полностью отличается от логических несоответствий (в конечном итоге), присутствующих в симуляции (например, магическая система, позволяющая создавать произвольное количество материи), которые вы можете использовать или нет.
Пример: с помощью магической системы, подобной приведенной выше, вы можете создать массу, превышающую массу всей планеты, в нескольких километрах над головой и буквально «разбить» игру под ее весом; в противном случае вы можете постоянно создавать кроликов, пока игра не вылетит, пытаясь отследить их всех.
Другие типы несогласованности приведут к различным парадоксам, с которыми система может или не может справиться (система может переполниться, просто не породив больше кроликов, вместо того, чтобы дать сбой).
Обычно игры вылетают только на стороне клиента, то есть игра вылетает на консоли/компьютере отдельного игрока, что влияет только на этого игрока. В MMO должен быть серьезный недостаток дизайна, чтобы вывести из строя весь сервер для всех. Обычно такая ошибка связана либо с повреждением базы данных, либо с неконтролируемым процессом, использующим всю оперативную память сервера или мощность процессора.
Одной из возможных идей было бы создать в игре такую сложную машину, что сервер будет перегружен, пытаясь обработать для нее все физические расчеты. Если сервер должен выделить все свои ресурсы для вычислений, игроки начнут выпадать, так как сервер станет слишком занят, чтобы их обрабатывать. Это, очевидно, потребует, чтобы физика вычислялась на стороне сервера.
Сецеспит
МайклК
МайклК
пользователь
пользователь
пользователь
МайклК
пользователь45623
джеймскф