Как можно разбить игру мирового масштаба? [закрыто]

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

Мне было интересно: если бы была очень убедительная, продвинутая симуляция реального мира или мира фантазий, как можно было бы ее разбить?

Единственные примеры, которые у меня есть, немного слабы, но вот: если вы попали в ловушку в игре типа «искусство меча онлайн» размером и сложностью World of Warcraft, смогли бы вы сломать ее, используя глюк, например, дублирование предмет бесконечно, используя пластину для перемещения в пространстве (как, например, в Скайриме)?

https://www.youtube.com/watch?v=BOTL6qLf_1k

Добро пожаловать в WorldBuilding Demiurgo ! Вас могут заинтересовать некоторые из вопросов, уже заданных на сайте, например: Если бы наша вселенная была симуляцией, как могла бы выглядеть ошибка? и взлом вселенной . Если у вас есть время, посетите экскурсию и посетите справочный центр , чтобы узнать больше о сайте. Веселиться!
Привет и добро пожаловать, Демиург. К сожалению, на ваш вопрос нельзя ответить, просто потому, что он слишком широк. Ответ полностью зависит от правил и условий игры, а вы их не указали. Я обычно рекомендую людям структурировать свой вопрос следующим образом: предпосылка , проблема , запрос . Это помогает и нам, которые должны ответить на ваш вопрос, и вам, как автору, структурировать свои мысли по этому вопросу и выяснить, что на самом деле мешает вам двигаться вперед. (продолжение)
Предпосылка — это место, где вы даете нам основную информацию о мире, который вы строите, чтобы мы знали, о чем он, какие правила им управляют, и другую подобную соответствующую информацию, которая помогает нам понять проблему. Проблема заключается просто в том, что мешает вам продолжать создавать свой мир . Вам может понадобиться какой-нибудь заслуживающий доверия элемент сюжета; проверка на реальность, чтобы увидеть, работает ли ваша идея; какой-то расчет. Таким образом , Запрос — это вопрос, ответ на который решает проблему. Попробуйте эту настройку и отредактируйте свой вопрос соответствующим образом, и мы будем рады ответить на ваш вопрос.
В дополнение к комментарию @Secespitus я хочу отметить, что оба связанных вопроса были опубликованы на очень раннем этапе истории сайта, в основном, когда мы все еще пытались выяснить, что необходимо для ответа на вопрос, и по крайней мере, последний был предметом дискуссии о том, действительно ли он был слишком широким, даже в то время. Обратите внимание, что вопросы о магии требуют, чтобы вы указали используемую магическую систему; это потому, что в противном случае они становятся «все идет», что не работает для нас. Этот вопрос похож по духу, если не по формулировке.
Я рекомендую вам совершить экскурсию по сайту , а также просмотреть наш список тем, которые относятся к теме и не относятся к теме, соответственно, за которыми следует раздел о том, как задавать вопросы в нашем справочном центре , а затем пересмотреть этот вопрос в соответствии с предыдущими комментариями. Не расстраивайтесь, если это тем временем будет отложено; именно так мы не позволяем людям тратить время на ответы на неправильные вопросы. Добро пожаловать в Worldbuilding и Stack Exchange!
Совет @MichaelK Pro: напечатайте свой комментарий целиком, как вы собираетесь его опубликовать, даже если он станет слишком длинным, а затем разделите его. Затем вы можете публиковать части в быстрой последовательности, уменьшая риск того, что кто-то еще опубликует комментарий между вашими частями.
Я слышу тебя, @MichaelKjörling, спасибо. Никогда не думал об этом на самом деле.
В такой сложной системе может быть бесконечно много ошибок, поэтому, как указывали другие, вопрос слишком широк.
Запускать под виндой?

Ответы (3)

Прочитайте ответ Антона Голова на вопрос, если бы наша вселенная была симуляцией, как могла бы выглядеть ошибка?

Чтобы сломать его, вам нужна ошибка в симуляции для использования; и очень немногие такие ошибки на самом деле приводят к сбою симуляции; большинство из них покажутся какой-то аномальной или непоследовательной физикой.

Например, при симуляции движения объектов у меня однажды была ошибка, из-за которой моя симуляция позволяла одному типу объектов проходить сквозь другие объекты, вместо того, чтобы сталкиваться с ними.

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

Большинство ошибок не приводят к сбою программ; они просто заставляют программу делать что-то неожиданное. Внутри симуляции это выглядело бы как новый закон физики или просто что-то, что мы никогда не сможем объяснить. (Подумайте о тайнах Вселенной, которые у нас есть сейчас, таких как Темная Материя, Темная Энергия, отсутствие монополей и некоторые другие аномалии в физике). Это было бы что-то, что, казалось бы, не складывается или не соответствует открытым нами физическим законам о том, как работает мир и вселенная и все их системы (включая биологическую, химическую, физику и физику элементарных частиц).

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

Проявление краха симуляции — это всегда остановка симуляции; программа перестает работать. Теперь компьютер, на котором я работаю, может обрабатывать инструкции в полную силу; но если я нахожусь в бесконечном цикле, симуляция никуда не денется: она останавливается.

Большинство сбоев являются результатом ошибок, которые случайно потребляют ресурсы, такие как память компьютера или дисковое пространство, поэтому машина, выполняющая вычисления для моделирования (что, очевидно, не В симуляции), не имеет ресурсов для продолжения. Или, отдавая такой машине приказы, она не может их выполнить; например, выбирать курс действий, используя переменную, которая случайно осталась «неопределенной» в коде.

Возможно, вы никогда этого не увидите.

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

Из-за этого во многих таких симуляциях используются контрольные точки, где они время от времени (например, каждые 15 минут) сохраняют «моментальный снимок» всей системы, чтобы помочь им отследить ошибки и сбои, и если они уверены в проблеме. не повлияли на симуляцию до некоторой предыдущей контрольной точки, они перезапустят симуляцию с этой контрольной точки.

Изнутри симуляции мы никогда не увидим сбоя:

Предположим, что сбой симуляции в нашем 2015 году приведет к разрушению Вселенной. Наши программисты-симуляторы прослеживают это до ошибки, которая впервые проявилась в нашем 1987 году: когда Флейшманн и Понс впервые зафиксировали холодный синтез. Но, в отличие от нашей истории, это оказалось реальным из-за ошибки в моделировании взаимодействия между палладием и дейтерием. Как только это взаимодействие начинает производить свободную энергию, неконтролируемая реакция вызывает черную дыру, которая поглощает Вселенную. облом.

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

У них КПП 1972 года, с небольшой модификацией могут ввести этот недостаток оборудования, а также исправить баг взаимодействия. Они восстанавливают Вселенную до этого состояния: все работает немного по-другому. Взаимодействие палладия и дейтерия дает нулевую свободную энергию; ошибка исправлена. Недостаток оборудования обманывает Флейшмана и Понса, но их эксперименты невозможно воспроизвести, и они дискредитированы. В нашем 2015 году вообще ничего не происходит, а симуляция продолжается: но программисты-симуляторы сэкономили 13,7 миллиарда наших лет во время симуляции, и, возможно, это имеет значение для них.

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

Если это может привести к сбою игры, это зависит от специфики самого сбоя. Это не то, что можно увидеть «априори», вы играете и (возможно) используете ошибки и эксплуатируете их «творческими» способами.

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

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

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

Обычно игры вылетают только на стороне клиента, то есть игра вылетает на консоли/компьютере отдельного игрока, что влияет только на этого игрока. В MMO должен быть серьезный недостаток дизайна, чтобы вывести из строя весь сервер для всех. Обычно такая ошибка связана либо с повреждением базы данных, либо с неконтролируемым процессом, использующим всю оперативную память сервера или мощность процессора.

Одной из возможных идей было бы создать в игре такую ​​сложную машину, что сервер будет перегружен, пытаясь обработать для нее все физические расчеты. Если сервер должен выделить все свои ресурсы для вычислений, игроки начнут выпадать, так как сервер станет слишком занят, чтобы их обрабатывать. Это, очевидно, потребует, чтобы физика вычислялась на стороне сервера.