Добро пожаловать, Гость. Пожалуйста, выберите Вход
WWW-Dosk
 
  ГлавнаяСправкаПоискВход  
 
 
Забавные ошибки компьютерных игрушек (Прочитано 1462 раз)
03/05/08 :: 1:48pm

Pancha Devi   Экс-Участник
Pancharaksa Devi

Пол: female
*
 
Воспоминания разработчика:

Багло

Если верить одной широко раскрученной байке, то в режиме огибания рельефа местности автопилот истребителей F-16 израильских ВВС выходил из строя при полете над Мертвым морем. Высота машины в какой-то момент пересекала отметку "уровня моря", происходило деление на ноль отчего у автопилота приключался паралич мозга.

Чего уж говорить, если фирма Lockheed Martin может так опростоволоситься, то что взять с нас, простых разработчиков игрушек?

На моей памяти из проектов Nival Interactive наиболее урожайным на комичные баги был Блицкриг 2. Если кто не знает, это такая стратегия на тему второй мировой. Очень кстати смешная даже и без багов. У нас был строгий немецкий издатель, а немцы они страсть какие пугливые до всего что связано с их нацистским прошлым. Упоминать имя фюрера нельзя, слова типа "нацистский", "фашистский" тоже табу, даже свастика у нас была не настоящая, а стилизованная. И это при том, что между миссиями у нас были ролики, поясняющие какие-то исторические события связанные с игровым процессом. В результате получилась эдакая гламурная войнушка в стиле галантного века только с танками и бомбардировщиками без особых претензий на историчность. Кстати, видя какое у нас получается непотребство, наш военный консультант попросил убрать из титров его имя Улыбка

ФАУ-2 - это такая немецкая мегапетарда. Германия ими под конец войны докучала Великобритании, но без особого успеха. Вундерваффе страдало от кучи детских болезней и хорошо если могло оторваться от земли. Зачастую взрывалась прямо на стартовом столе, а уж коли отрывалось да еще и летело в сторону Англии, то уж вообще успех. Горючее, между прочим, 3,5 тонны этилового спирта Улыбка

Ну, сделали и мы в Блицкриге эту самую ракету. Как и немцы, сделали ее уже ближе к концу проекта и соорудили на базе объекта "самолет". Но программисты несколько схалтурили и не пооткручивали у бывшего самолета подозрительную для баллистической ракеты функциональность. Оказалость, что если во время полета к цели начинал идти дождь или снег, то во-первых ракета говорила человеческим голосом "Fliege zuruck"(нем. лечу назад), а во-вторых разворачивалась и летела обратно на базу. Фигли там, погода то нелетная.


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

Но, беда в том, что в Блицкриге кроме собственно пехоты еще были всякие антуражные юниты, типа коров, свиней и собак. Выяснилось, что спецназ вовсе не чурается переодевания в бобиков и хавроний. Если учесть, что механизм этого самого переодевания несколько глючил и часть отряда можно было нарядить в одну форму, часть в другую, то можно было создавать совершенно безумные подразделения. Например, отряд из собак, свиней и панцергренадеров. Учитывая, что отряду можно отдавать всякие приказы типа "маршировать", "ползти" и т.д., то игроку предоставлялась уникальная возможность полюбоваться марширующими свиньями. Получалось это у них, впрочем, паршиво, потому что скелет свиньи не соответствует скелету пехотинца и выглядит это как отряд ездящих не попе хрюшек. А еще этот цирк-шапито можо было запихать в окоп. Сидят, значит, свиньи с собаками в окопе и периодически из него выглядывают.

Со свиньями был связан, кстати, еще один баг, из-за которого игра падала. В какой-то момент программисты что-то такое там подкрутили и свиньи перестали быть нейтральными, а обрели возможность принадлежать какому-то игроку. Управлять ими было нельзя, но формально они могли быть "наши" или "ненаши". Так вот свиньи роняли игру. Потому что видя неприятеля, патриотичная хавронья хотела дать врагу отпор и лезла за оружием, которого у нее естественно не было. Если мне не изменяет память, программисты исправили баг, просто выдав свинье пистолет Люгер без патронов. Визуально это никак не видно, но формально, теперь, видя врага, она лезет за оружием, видит что патронов нет и на этом успокаивается.

Кстати, собака, в отличие от свиньи, может кусаться. И число укусов у нее ограничено, кабы не соврать, десятью тысячами. Потом у барбоса кончаются "патроны", и он становится безобидным. Кстати интересный вопрос, я не проверял, будет ли грузовик снабжения, который подвозит боеприпасы, подносить патроны собаке?

Ладно, потом может еще напишу про баги из Heroes of Might and Magic V. Там, правда, как-то именно смешных багов было не много (зато других навалом). Даже сходу и вспомнить то ничего не могу.

_____________
http://burrarum.livejournal.com/32707.html

Я хочу продолжение, про ХоМаМ-5 Улыбка

Вспомнилась история про кенгуру со стингером в вертолётном симуляторе.
 
-x-=+
IP записан
 
Ответ #1 - 03/05/08 :: 2:12pm

Элхэ Ниэннах   Вне Форума
сантехник
Москва

Пол: female
Сообщений: 27699
*
 
Красота!  Смех Будем веселиться всей конторой, благо, специфика соответствует Подмигивание
Панча - спасибо огромное! Я теперь тоже жду продолжения...
 

My armor is contempt.
IP записан
 
Ответ #2 - 03/05/08 :: 4:05pm

Pancha Devi   Экс-Участник
Pancharaksa Devi

Пол: female
*
 
Нашла целый склад!
_______________________

Кенгуру со стингером

Это вообще история времен FIDO. Приписывается Дмитрию Турецкому

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

Hачальник отдела симуляций наземных операций Defense Science and
Technology Organization приказал разработчикам смоделировать перемещения
кенгуру и их реакцию на вертолеты. Будучи грамотными программистами, те
использовали готовые программные объекты, описывающие поведение пехоты в
аналогичной ситуации, заменив изображения солдат на изображения животных
и увеличив их скорость.

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

Урок? Объекты создаются с определенными атрибутами, и любой объект-потомок
наследует эти атрибуты. Смущенные программисты научились быть более
внимательными, используя готовые объекты в своих программах, а американцы
уехали с невольным чувством уважения к австралийской фауне.

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

http://itblogs.ru/blogs/humor/archive/2006/12/11/10509.aspx


Старая, старая программистская байка...

Одно Очень Серьезное Военное КБ занималось разработкой Очень Секретных Средств для израильских ВВС. Испытывали они свои средства для начала, как принято, на компах, используя для этого графический движок от Микрософтовского Flight Simulator`а. Отдел программистов, наполовину состоявший из "русских", получал заказ с параметрами изделия, создавал модель и втыкал ее в симулятор.

И вот в этом Очень Серьезном КБ начали готовиться к визиту Очень Важного Гостя. И кульминацией визита должна была стать демонстрация Гостю (бывшему боевому летчику) последней разработки КБ - новой ракеты типа Воздух-Земля. А посему в отдел программистов поступил срочный заказ - за два дня создать 3-мерную модель ракеты и вооружить ею F-15I в симуляторе. Напрасно возмущался начальник отдела невозможными сроками, его и слушать никто не хотел. И решили программеры дело так не оставить, а проучить начальство, чтоб знали - ПРОГРАММИСТОВ НЕ ТОРОПЯТ!

Следующим вечером начальник отдела позвонил "наверх" и сообщил, что модель еще не готова, но до завтра они надеются успеть. На следующий день визит Очень Важного Гостя проходил безупречно. Никто не заметил, как к начальнику КБ подошел запыхавшийся программист и прошептал: "Модель не готова, используем те, что есть..."

После обеда настало время кульминации визита. В торжественной обстановке Очень Важный Гость уселся за комп. Подоспевший программист загрузил симулятор, Гость взялся за джойстик, легко навелся на цель, нажал на кнопку... Из под крыла самолета вырвался 60-тонный ТАНК "Меркава-3" и устремился в сторону пашущей по пустыне на горизонте ПОДВОДНОЙ ЛОДКИ.

http://itblogs.ru/blogs/humor/archive/2006/12/11/10508.aspx
 
-x-=+
IP записан
 
Ответ #3 - 03/05/08 :: 4:26pm

Pancha Devi   Экс-Участник
Pancharaksa Devi

Пол: female
*
 
И не очень забавные не очень игрушек:


где-то в конце 70-х годов - испытания амерской ЗСУ  "Сержант Йорк". Для поражения вертолетов. ЗСУ была оснащена системой распознавания образов.
Во время испытаний около неё безуспешно кружил вертолет-мишень, которую она так и не смогла распознать. Зато распознала как вертолет вентилятор в туалете, расположенном метрах в 800-х от ЗСУ. И успешно его поразила.


Испытания американского истребителя F-16 проводились, понятное дело, в северном полушарии. На заключительном этапе самолет решили проверить где-то в Латинской Америке, но уже с другой стороны экватора. При переводе самолета в режим автопилота он автоматически развернулся "вверх ногами".

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

На испытаниях Су-24 регулярно случался отказ аппаратуры бомбометания. Причем происходило это только в том случае, если на цель заходил летчик-испытатель Ильюшин. Причина оказалось тоже не сложной. Только он заходил на цель с точностью, превышавшей машинную точностью. Получался "машинный нуль", после чего шел сбой из-за попытки деления на ноль.

Этот пример тоже очень характерен, хотя, строго говоря, он и не относится напрямую к разработке ПО, но демонстирует важность тестирования. Возникла эта проблема, скорее всего, на МБР 15А30, причем уже после постановки ее на боевое дежурство. При пуске, ракета выходила из шахты и взрывалась на высоте нескольких метров над землей. Причина оказалась тоже не самой сложной. Рубашка сопла охлаждается окислителем, после чего он поступает в камеру сгорания. В спешке принятия нового комплекса на вооружение к очередной годовщине, в систему пуска двигателя внесли небольшие улучшения, которые не протестировали должным образом. В результате пироклапан срабатывал с большим запаздыванием. Окислитель не поступал в трубки охлаждения, а жаропрочности сопла хватало только на то, чтобы ракета вышла из шахты.

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

история о неприятностях ракетного крейсера ВМС США «Иорктаун». Это экспериментальный, так называемый «умный корабль» (smart ship), важнейшие системы жизнеобеспечения которого управляются компьютерами без участия человека. И что немаловажно – под руководством операционной системы Windows NT 4.0. Так вот, однажды вся эта махина, находясь в открытом море, на три без малого часа встала в полный ступор из-за наглухо зависшего программного обеспечения. Причем произошло это из-за совершенно пустяковой оплошности одного из операторов, занимавшегося калибровкой клапанов топливной системы и записавшего в какую-то из ячеек расчетной таблицы нулевое значение. Ну а далее пошла операция деления на этот самый нуль. С подобной ерундой справляется даже самый дешевый калькулятор, однако здесь в терминале оператора система дала ошибку переполнения памяти. Причем ошибка быстро перекинулась на другие компьютеры локальной сети корабля, началась цепная реакция, и по известному принципу домино рухнула вся бортовая система. Которую удалось восстановить и перезагрузить лишь через 2 часа 45 минут, в течение которых здоровенный боевой корабль оставался по сути дела беспомощен и неуправляем

http://solo01.livejournal.com/119547.html

Дополнения:

В эту кучу можно вспомнить еще историю с нашим межпланетным зондом "Фобос", в котором оказалась предусмотрена команда на отключение сисетмы ориентации, причем эта команда отличалась от какой-то другой, полезной, команды одной буквой. В результате, уже недалеко от Марса эта команда на отключение была по ошибке отправлена. Естественно, без системы ориентации аппарат тут же потерял связь с Землей. Естественно, навсегда...

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

(подробности про F-16 над Мертвым морем)
"Наши коллеги из Motorolla рассказывали такую байку. Израиль. Пустына над Мёртвым морем. Тренировки ВВС. Чешет F-16 на бреющем, на кочках прыгает. Подлетает к Мёртвому морю....Reset всей навигационной системы! А скорость - больше 400км/час.

Вздрючивают мотороллеров-разработчиков. Повторяют полёт. Reset!!! Опять просматриваю все программы, все цепи...тестируют полёт на базе, на земле...всё нормально. Ещё раз повторяют полёт ...всё равно Reset!!! Лётчики, мягко говоря, лететь без бортового компьютера отказываются.

Район Мёртвого моря - стратегически важный, и Генштаб крайне недоволен. В целом, ситуация - два туза на мизере.

В конце - концов, один умник догадался. Высота мёртвого моря Минус 500 метров. Полёт бреющий. Так когда самолёт пролетал 0 высоты, бортовой компьютер попросту выполнял деление на 0 и рестарт аппаратуры - неизбежный, как мировая революция.

С тех пор этот случай - неизменная часть Моторольского курса по микроконтроллерам."


В авиации и в навигации тоже была масса интересного. Начиная с малоизвестной у нас истории ФАУ1, которые имели очень простую и надежную систему управления -- по большому счету, просто гироскоп с обратной связью на элементы управления для поддержания горизонтального положения. Но... Диапазон, в котором гироском мог перемещаться и влиять на органы управления был расчитан только на нормальный полет... Отсюда англичане вывели метод борьбы с ними. (Дело в том, что на дистанции, с которой можно было поразить ФАУ1 из пулемета, осколки ФАУ1 почти гарантированно сбивали самолет.) Соответственно, был найден метод -- поравняться с ракетой, и нажать крылом самолета на крыло ракеты. Было достаточно совсем маленького отклонения, после чего ФАУ1 уже не могла выровняться и падала в море...

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

_______

это рулили комменты с http://itblogs.ru/blogs/humor/archive/2007/01/24/12059.aspx
 
-x-=+
IP записан
 
Ответ #4 - 03/05/08 :: 4:29pm

Pancha Devi   Экс-Участник
Pancharaksa Devi

Пол: female
*
 
10 худших багов человечества

Если баги в программном обеспечении приводят к зависанию компьютера, то это ерунда. Гораздо хуже, если из-за ошибок в ПО ломаются автомобили, взрываются ракеты и погибают люди. Вот несколько историй о самых-самых-самых плохих компьютерных ошибках в истории – по мнению автора.


По легенде, 9 сентября 1945 года учёные Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле. Извлечённое насекомое было вклеено в технический дневник, с сопроводительной надписью: «First actual case of bug being found». Этот забавный факт якобы и положил начало использованию слова баг в качестве ошибки.1.


По мере распространения цифровых устройств баги все глубже проникают в нашу жизнь. Они окружают нас повсюду - на мобильных телефонах, в бытовой технике, в автомобилях. К счастью, обычно баги не приносят никакого вреда, кроме морального. Но бывает и по-другому, когда баг вызывает огромные финансовые потери и даже забирает человеческие жизни. Журнал Wired посвятил этой проблеме целую тему номера и опубликовал список 10 худших багов в истории человечества, в хронологическом порядке.


28 июля 1962 г. Космический аппарат Mariner I стартовал по направлению к Венере. Из-за поломки антенны корабль потерял связь с земными службами управлениями и перешел на собственную систему пилотирования. Но эта система содержала обидный маленький баг. В результате аппарат полетел совсем не в ту сторону и его пришлось подорвать над Атлантическим океаном. Последующее расследование установило, что в процессе программирования системы навигации была совершена маленькая опечатка - при вводе одной из формул был пропущен один символ2.


1982 г. Авария на Транссибирском трубопроводе. Оперативники ЦРУ внедрили баг (отчет в формате PDF) в канадское программное обеспечение, управлявшее газовыми трубопроводами. Советская разведка получила это ПО как объект промышленного шпионажа и внедрила на Транссибирском трубопроводе. Результатом стал самый большой неядерный взрыв в истории человечества3.


1985-87 гг. Несколько человек получили смертельную дозу облучения во время сеансов радиационной терапии с медицинским ускорителем Therac-25. Основанная на предыдущей версии ускорителя, "улучшенная" модель Therac-25 могла генерировать два вида излучения: слабое электронное бета-излучение и нормальное рентгеновское излучение. Еще одно "улучшение" состояло в том, что вместо электромеханической защиты пациента в устройстве была реализована программная защита, якобы более надежная. Обе новые функции были некорректно реализованы неопытным программистом, результатом чего стали как минимум пять смертей и огромное количество несмертельных случаев переоблучения4.


1988 г. Переполнение буфера в Berkeley Unix. Первый в мире компьютерный червь (так называемый червь Морриса) заразил от 2.000 до 6.000 компьютеров менее чем за сутки, эксплуатируя уязвимость в реализации функции gets(). В ОС Berkeley Unix эта функция ввода/вывода не имела ограничения на максимальную длину.


1988-96 гг. Генератор случайных чисел Kerberos в течение нескольких лет широко использовался в различных системах шифрования. Предполагалось, что программа должна выбирать ключ случайным образом из многих миллиардов чисел, но генератор случайных чисел выбирал из гораздо меньшего набора численностью примерно в миллион. Как результат, в течение восьми лет любой пользователь мог без труда проникнуть в компьютерную систему, которая использовала модуль Kerberos.


15 января 1990 г. Падение телефонной сети AT&T. Ошибка в новой версии прошивки междугородних коммутаторов привела к тому, что коммутатор перезагружался, если получал специфический сигнал от соседнего коммутатора. Но беда в том, что этот сигнал генерировался в тот момент, когда коммутатор восстанавливал свою работу после сбоя. В один прекрасный день, когда какой-то коммутатор в Нью-Йорке перезагрузился, он подал тот самый злополучный сигнал - и началось. Вскоре 114 соседних коммутаторов непрерывно перезагружались каждые 6 секунд, а 60 тыс. человек остались без междугородней связи на 9 часов, пока инженеры не установили на коммутаторы предыдущую версию прошивки4.


1993 г. Широко разрекламированный процессор Intel Pentium неправильно производил деление с плавающей запятой, ошибаясь на 0,006%. Хотя эта проблема реально коснулась немногих пользователей, но стала настоящим кошмаром для имиджа Intel. Поначалу фирма согласилась менять процессор только для тех пользователей, которые могли доказать, что им в вычислениях нужна подобная точность, но затем согласилась поменять процессор всем желающим. Этот баг стоил Intel около $475 млн4.


1995-96 гг. Пинг смерти. Отсутствие проверки на ошибки при обработке IP-пакетов позволяла порушить практически любую операционную систему, отправив ей через интернет специальный пакет ("пинг").


4 июня 1996 г. Новая ракета-носитель Ariane 5, результат многолетней работы европейских ученых, гордость стран Евросоюза, взорвалась через 40 секунд после своего первого старта. Только научное оборудование на борту ракеты стоило около $500 млн, не говоря о множестве побочных финансовых последствий. Система автоподрыва ракеты сработала после остановки обоих процессоров в результате цепочки ошибок. Началом этой цепочки послужило переполнение буфера, поскольку система навигации подала недопустимо большое значение параметра горизонтальной скорости. Дело в том, что система управления Ariane 5 переделывалась из Ariane 4, а там такого большого значения не могло быть теоретически. В целях снижения нагрузки на рабочий компьютер инженеры сняли защиту от ошибок переполнения буфера в этом программном модуле, поскольку были уверены, что такого значения горизонтальной скорости не может быть в принципе - и просчитались4.


Ноябрь 2000 г. Национальный институт рака, Панама. Здесь произошла целая серия инцидентов, вызванная тем, что ПО для планирования радиационной терапии производства американской компании Multidata Systems International неправильно рассчитывало дозы облучения для пациентов. Программа позволяла врачу нарисовать на компьютерном экране расположение защитных металлических щитов, которые защищают тело от радиации. Но программа позволяла манипулировать только четырьмя щитами, тогда как врачи хотели задействовать пять. Они нашли способ "обхитрить" программу, если нарисовать все пять щитов в виде единого блока с дыркой посередине. Единственное, чего они не знали, что программа рассчитывает разные дозы радиации в зависимости от того, как нарисована дырка. Если рисовать ее особым образом, то устройство выдавало двойную дозу радиации. Как минимум восемь человек погибли, а еще 20 получили переоблучение. Врачи, которые должны были вручную перепроверять расчеты программы, были осуждены за убийство.

http://gxost.livejournal.com/22406.html
 
-x-=+
IP записан
 
Ответ #5 - 03/05/08 :: 5:10pm

TAtYana   Вне Форума
При исполнении
ренегат
Москва

Пол: female
Сообщений: 2494
*****
 
Цитата:
1982 г. Авария на Транссибирском трубопроводе. Оперативники ЦРУ внедрили баг (отчет в формате PDF) в канадское программное обеспечение, управлявшее газовыми трубопроводами. Советская разведка получила это ПО как объект промышленного шпионажа и внедрила на Транссибирском трубопроводе. Результатом стал самый большой неядерный взрыв в истории человечества3. 


оперативники ЦРУ польстили себе в степени невероятной...  Смех
редкостно антинаучная фантастика.
 

"За убеждения страдали Софья Перовская, Жанна д'Арк и Любовь Шевцова, а не девочки, которых в уютной ЖЖ-шечке обсмеяли"
(c) Змей (Ю.Нерсесов)
IP записан
 
Ответ #6 - 12/05/09 :: 11:44pm

Pancha Devi   Экс-Участник
Pancharaksa Devi

Пол: female
*
 
Хорошо для эпиграфа:

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

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


Отсюда:
Сага о багах
http://www.lki.ru/text.php?id=5421 - в двух томах.


Оттуда же:

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

Сказано — сделано. И появились в игре звери мирные и дружелюбные: тушканчики.

Но только не сидеть же тушканчику без дела? Это уж не тушкан, а монумент какой-то получится, Юрий Долгоухий. И решили разработчики: пущай он питается, от хищников спасается, а в свободное время — истово размножается...

Черное дело сделано. Тушканы размножились.

Поелику среди игроков могут быть и детишки малые, не стали они во всей красе показывать, как тушкан размножается. Сделали они проще: вот встретил один тушкан другого, также ничем не занятого, произошла у них любовь платоническая, и в результате где-то неподалеку родился новый зверек. И славно, и благостно, и кобры всех грызунов не перекушают. Чего уж лучше? А дабы не размножались тушканы слишком уж быстро, велено им было: после свершения любви грызунской немедля бежать опрометью друг от друга. Пока не заставили алименты платить.

Стал быть, дали тушканам три цели: есть, не быть съедену и размножаться. И задумался тушкан...

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

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

Что за притча? Число тушканов не по дням и даже не по часам, а по минутам растет. Вот уже FPS'ы умерли, и игра из реально-временной пошаговой сделалась. Хоть кнопку «Следующий кадр» приклеивай. Пришлось программисту специальный тушканометр включить. Видит: в самом деле безобразие творится. По двести тушканов в секунду прибывает.

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

Однако же тушканов все прибавлялось.

И ввек бы ему загадку ту не разгадать, кабы случай ему не помог. Увидел он как-то такую картину: спускается на дохлую тушку с небес гриф. Бегущий мимо тушкан, ничтоже сумняшеся, запрыгивает к нему на спину. Гриф взлетает...

Очень программиста заинтриговала эта картина. И увидел он, изучая код, что для тушкана что собрат-грызун, что гриф — все одно: ошибочка вкралась. Но только раньше, пока не влез программист со своими указами, запрыгивал этот тушкан, делал свое грязное дело и... спрыгивал. Всмятку. А теперь ему запретили. Вот он катается на грифе и... это самое... Деваться-то некуда! Он и рад бы!
 
-x-=+
IP записан