Как стать автором
Обновить

Комментарии 77

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

На утоптанной площадке уже второй час танцевал шаман, под неодобрительными взглядами соплеменников. Дождь и не думал начинаться.
-Ха,- довольно фыркнул Мазукта,- что, съел? Ничего не получится, и не старайся, эту дырку я уже заделал.
Шаман, конечно, не мог слышать голоса демиурга, но начал подозревать недоброе. Он остановился, отложил бубен и уставился на безоблачное небо. Соплеменники хмурились и нетерпеливо переступали с ноги на ногу.
-Сейчас они его убьют,- сообщил Мазукта.- Как не справляющегося с обязанностями.
Тем временем несколько вооруженных мужчин подошли к шаману, столпились вокруг и стали что-то оживленно обсуждать, темпераментно размахивая руками. Кто-то подозвал стоявших поодаль женщин и отдал краткие распоряжения, после чего женщины быстро умчались в поселок.
Шаман сел на корточки и начал что-то чертить на песке, воины разбрелись по площадке, меряя её шагами и поминутно перекликаясь. Вождь достал откуда-то восковую табличку и теперь записывал данные.
Скоро вернулись женщины с полными корзинами затребованных вещей: барабанами, погремушками, примитивным барометром, складным метром и прочей полезной дребеденью. Шаман на пробу взял наполненную горохом тыкву и потряс её. Вождь сверился с барометром и отрицательно покачал головой. Шаман отложил тыкву и взял тростниковую дудочку, потом пищалку, потом губную гармошку, и так далее, пока наконец вождь не ухмыльнулся торжествующе и не показал большой палец.
-Барабан?- моргнул Мазукта.- Ну да, конечно… А что, это может сработать… И как же я сразу… Вот же чертовы хакеры!
А над головой шамана уже начали потихоньку собираться грозовые тучи…

Петр Бормор, Игры демиургов.
НЛО прилетело и опубликовало эту надпись здесь
На разгон облаков есть более современный баг.
НЛО прилетело и опубликовало эту надпись здесь
Понимаешь, есть у людей такое неприятное свойство: они вечно ищут, как бы обойти законы природы или, на худой конец, использовать их не по назначению.
Вот тут тонкая грань между багом и фичей. От куда нам знать что это именно фича, а не баг? Проход сквозь стену тоже вписан в движок Mario мира.
НЛО прилетело и опубликовало эту надпись здесь
Если вызвать дождь — то облаков уже не будет…
А бубен может напрямую звуковыми колебаниями воздействовать, создавая центры конденсации.
Всё чуть проще — в марио для перехода в мир -1 исползуется другой баг — проход сквозь стены, который какра и был обнаружен случайно, в процессе вполне себе нормально игрового процесса (Пусть и немного нестандартного — Не каждый додумается приседать в прыжке, летя при этом на стену).

В нашем мире тоже можно намеренно вызвать баг… нашего мозга — употребив некоторые вещества :)
может в нашем мире тоже есть где-то стена через которую можно пройти присев в прыжке? :)
Чем не наши теории и её несостыковки с наблюдаемым?
Простите, но вы сломали мне парсер. Что вы хотели сказать?
Ну ок, давайте проведем мысленный эксперимент (бог с ней с квантовой физикой, давайте что нибудь попроще). Предположим что мы живем в некоторой виртуальной среде. У нас была некоторая спецификация к этой среде и команда которая её реализовала.

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

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

На мой взгляд никак.
Ну я так и сказал, всё что мы видим, мы вынуждены полагать фичей.
Ну если вы разумный персонаж обладающий волей и памятью, то должны заметить странный переход из мира 1 в мир 2. Но как писали ниже мы действительно не можем понять баг это или фича. С другой стороны подобные странности должны наводить на мысли. А выглядеть все это будет как нечто мистическое)
Для этого разумный персонаж должен «Знать всю игру», иначе как он отличит баг от авторской задумки?
Хуже: NPC
Была статься в которой рассказывают про баг который обнаружили при помощи ботов. Там боты начали строить сверхсильное оружие потому что разработчики сделали ошибку при разработке механики модификации вооружения. Однако вряд ли они смогут понять баг это или фича.
Вот эта статья.
У багов могут быть критерии. Например в Марио баг дает незаконное преимущество!
Ничего не знающие люди в Матрице — они игроки или персонажи? Если персонажи, то они видят баги из-за тех, кто стал игроком.
Да и так ясно, что симуляция, причём забагованная «по самое не могу» — взять хотя бы опыт со стиральной машиной и двумя носками.
А этот ваш опыт сродни парадоксу близнецов?
единую теорию всего не могут придумать, не стыкуется что-то макро мир с микро миром и всякими квантовыми эффектами. до одного масштаба считают так, а с более мелкого по другим формулам.
в реальном мире всё бы стыковалось и придумали единую теорию.
электрон и частица и волна одновременно. это и есть баг, точнее оптимизация расчетов.
нет сигналов от других цивилизаций из космоса. хотя должны быть. тоже из разряда багов-фичей. просчитывают только 1 цивилизацию, нашу.
ну еще может есть край мира. может он недалеко от границы солнечной системы. а всё что дальше это голограмма из реального мира.
Голограмма — слишком романтично. Я бы сделал процедурную генерацию тех участков, которые мы обследуем, при чем с учётом LOD.
так то оно конечно экономнее в плане ресурсов. но мы то не знаем целей симуляции. вполне возможно одна из целей это изучение звёзд. а вдруг мы выведем какую-нибудь закономерность которую они пропустили?
«в реальном мире всё бы стыковалось и придумали единую теорию. „

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

Дело то житейское.
сначала была тестовая комната на 2х человек — называлась рай.
потом дизайнеры нарисовали плоскую землю на трёх китах, потому как красиво, дизайн и всё такое,
потом по мере заселения пришлось делать её круглой, чтобы не сваливались человеки. а некоторые особо ушлые не добывали мясо этих трёх китов.
сейчас вот надо заселять звёздные системы, а на этом «движке» только химические ракеты дают нормальную тягу, а к ним надо ну очень много топлива, до звёзд не долететь.
и на ионниках, тоже не получиться, тяга маленькая.
и вот недавно еще один костыль, EmDrive. не переписывать же всё с нуля.
ну еще может есть край мира. может он недалеко от границы солнечной системы

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

Поэтому нам iPhone и подкинули, чтобы мы пока на земле посидели.
Пока что самым странным багом является деление на ноль при определении плотности материи, если её слишком плотно упаковать, начинаются глюки.

Например, если Солнце сжать в шарик радиусом меньше 3км, то оно исчезнет.

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

Солнце никуда не исчезает, просто его электромагнитное излучение плавно затухает, гравитация же остаётся.
Возможно, вы просто не до конца понимаете(знаете) механику?
А квантовая механика из недавнего топика про квантовую «телепортацию» — и вовсе подсказывает, что мир «рендерится» только в процессе наблюдения и «деструктится» как только наблюдателей нет.
работающий emDrive?
Очевидно же, что нужно биться об стену. Желательно с разбегу и в прыжке. Когда пройдёте сквозь стену, прыгайте в ближайший канализационный люк.)
Например, теоретически предсказаны, но не обнаружены топологические дефекты пространства. Например струна, которая обладает следующими свойствами: она очень тонкая, она обладает массой; если пытаться облететь вокруг струны по окружности, то путь окажется короче, чем если лететь в обычном пространстве (без струны).Это как если бы кусок пространства вырезали и края склеили.
Если наш мир — симулятор, я бы воздержался от прыжков в стены :)
Ну вот, к примеру, вероятный баг. Это из фундаментальных. Есть еще куча багов с животными. На самом деле, если поискать, можно найти немало вещей, похожих на баги.
В 99.999% случаях багов, происходит general fault со смертью главного героя, а то и всей программы. Шанс, что баг в симуляторе даст вам сверхспособность практически отсутствует.

Вы дейстительно хотите попытаться его искать?
Можешь надеяться на то, что великий игрок, который валит в эту симуляцию, однажды заведёт тебя в мир минус один и будет тебе счастье!
Но будь осторожнее с желаниями! баги бывают разные… можешь и в текстурах застрять…
Необязательно делать так, покрайней мере на первом уровне. Просто запрыгиваете на движущиеся плиты и по ним на самый верх, пробегаете по верху и там будет дырка в потолке которая ведет к этим трем трубам. Насколько я помню, так можно сделать практически везде где есть переходы к трубам (запрыгнуть на кирпичи проложенные по верху)
Вы вообще статью прочитали? Сама комната — это не баг.
Недопонял, извините.
Один раз прошел эту игру на денди с одной жизнью. Я был очень горд собой)))
Как я счастлив, что я своей жизнью распорядился иначе.

Дааа… потратить время, чтобы прочитать немалую статью, а главное: две страницы комментариев, да потом еще и "блеснуть своим разумом" — это конечно, "ачивка покруче"…
невооруженным взглядом заметно ваше эффективное использование времени!
p.s. ценность статьи и комментариев — каждый сам для себя вынесет.

Остался один вопрос. Почему игра так глючит, что позволяет Марио пройти сквозь трубу и стену?
Сначала Марио каким-то образом «застревает» в стене, а потом игра пытается его вытолкнуть, но не в том направлении, и он погружается ещё глубже. Игра продолжает его выталкивать вправо, и наконец он попадет в Warp Zone. В статье не рассматривается «физика», она только о том, что происходит в памяти, поэтому этот момент не раскрыт.
Вот в том то и вопрос, почему он застревает в стене, причём, именно в этом месте, ведь, если побежать в стену снизу, то он не застрянет. Вот и хочется узнать, что там со стеной и/или трубой в этом месте под потолком. А это, вроде, имеет отношение к памяти :)
Ну, я наверно недостаточно точно выразился. Разумеется, всё происходящее в игре вообще происходит в памяти. В любом случае, автором этот вопрос не рассмотрен.
НЛО прилетело и опубликовало эту надпись здесь
Вообще, баги с погружением в объекты есть много где. В том же Морровинде разных версий были способы навечно погрязнуть в каком-нибудь булыжнике. В Doom и Quake разных версий были способы провалиться сквозь геометрию и упасть в белизну… Только стояла проверка, что ты достиг границы и игрока по достижению границы убивали. А встречались и игры, где этой проверки не было. Там смешно было — бегаешь по пустоте, где-то далеко над головой в тумане уровень, и ничего сделать нельзя…
В аркадах на 8-битных платформах вообще много таких багов было с хождением сквозь стены и проваливанием сквозь пол — проверка производилась по совпадению точки с границей и если точка персонажа проскакивала эту границу из-за ошибок в целочисленной арифметике (особенно часто при диагональном движении), то персонаж мог проходить сквозь стены. Это, часто, было «документировано» и использовалось для ускорения прохождения игры. За давностью лет забыл уже сами игры, где это встречалось, а в интернетах из-за того, что большинство тех игр было из 80-х, информация так и не появилась… Только про покемонов на геймбое много историй, как ходить сквозь стены :-)
Ради экономии памяти в таких играх физика обычно сочеталась с геометрией. Поскольку смещение за игровой цикл нередко было больше одного пикселя, персонаж мог попасть внутрь стены (пола или потолка), по этому такое непроходимые объекты программировали на так называемые коллайдеры, если персонаж внутри — его выталкивает, сообщая ему вектор скорости, если стоит впритык — обнуляет соответствующий вектор скорости (вертикальный для пола/потолка, горизонтальный для стен). Цимес в том, что игра не сохраняет путь персонажа, а потому не знает, откуда он влетел. Так же ради той же экономии не делаются направленные коллайдеры стен (выталкивающие в определённые стороны). Персонажа просто выталкивает в сторону ближайшей границы. Обычно это работает корректно. Но если влететь достаточно глубоко в стену (или в коде коллайдера есть дополнительные баги), то выталкивать начинает в противоположную сторону и персонаж проходит сквозь стены.

Подобные баги не изжиты и в современных играх. Когда персонажа резко отбрасывает в космос (в скайриме, после удара гигантом в землю) или персонаж «застревает в текстурах» или после застревания его начинает колбасить, на самом деле он застревает в физической сетке. Физический движок сообщает (или нет, в зависимости от реализации) телу импульс, выталкивающий его из твёрдого тела. Если части тела обсчитываются более или менее отдельно (ragdoll), то часть может погрузиться слишком глубоко и части тела начнут получать разные импульсы. Поскольку разрыв 3d-модели не предусмотрен, персонажа начинает мотать из стороны в сторону. Разумеется, современные движки устроены куда сложнее и в отдельных случаях причины колбасенья могут радикально отличаться.
Какая угрюмая смерть — «застрять в текстурах». И даже руку себе не отрезать — на твое тело наложено проклятье, которое как эхо звучит в подсознании: «разрыв 3d-модели не предусмотрен».
https://youtu.be/igxAkcopAfw?t=1m14s
Побольше бы таких статей, прям как в старые добрые
Восторг от случайного выпрыгивания с платформы на «крышу» и нахождение ворп-зоны не забыть :3
если есть желание посмотреть как выглядит мир -1 https://www.youtube.com/watch?v=tjEW-leqPfc
Занятно. Особенно, про то, что было целых 3 уровня — "-1, -2 и -3" на оригинальном Famicom. И про то, как они выглядели.

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

Очень хороший фильм.
Вы бы такие вещи под спойлер прятали, а то вдруг кто не видел фильм. Ну так, на будущее.
Записал, название в фильма в список «Надо посмотреть» в самое начало.
Увидел ваш коментарий, переставил в самый конец.
Используйте пожалуйста спойлер в следующий раз.
Все равно посмотрите) Спойлер не более чем фраза «Нео вдруг узнает, что все мы в Матрице». Фильм стоит просмотра!
*фэйспалм*
Извините пожалуйста!
Я бы и рад пользоваться плюшками редактора, но благодаря местным неадекватным «доброжелателям» мне этот скил недоступен :(
Еггогология в чистом виде. Только на ПМК размах иссследований глюков АЛУ был пошире.
«Еггог», как много в этом слове…
Очень уважаю ассемблер-джедаев.
интересная статья, побольше бы статей про баги
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории