Один из законов Мерфи гласит: «В каждой нетривиальной программе есть хоть один баг». В компьютерных играх тоже полно багов. И они веселее и зрелищнее любых других.

Kill Screen на игровых автоматах

pacman-killscreen

Когда-то давным-давно компьютерные игры были не такими, как сегодня. Чтобы играть в них, нужно было идти в зал игровых автоматов, там покупать жетоны и тратить один за другим в попытках пройти практически непроходимые уровни. Впрочем, для настоящих мастеров нет ничего невозможного, и если, к примеру, в Pac-Man было 255 уровней, то рано или поздно находился герой, способный пройти их все.

Вот только 256-го уровня быть не может, и вместо него с игровыми автоматами случалось странное. В Pac-Man половина экрана замусоривалась буквами и кусочками спрайтов — это называется Kill Screen, то есть «экран-убийца». Причина его появления прозаична: процедура, отвечающая за отрисовку элементов игры, использует номер уровня для того, чтобы вычислять количество и местоположение бонусов. Выход за пределы однобайтового числа ведет к описанным результатам.

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

Kill Screen бывает не только в Pac-Man. Известно, к примеру, о существовании экрана-убийцы в «Утиной охоте» на NES: там после 99-го уровня утки становятся неуязвимыми и начинают носиться по экрану со страшной скоростью. В Donkey Kong на 22-м уровне Марио начинает умирать через несколько секунд после старта. Увы, этим эффектам далеко до зрелищности разваливающегося Pac-Man.

Чума в World of Warcraft

corrupted-blood
Город завален трупами, потоки людей пытаются вырваться из чумных зон, слышны крики о помощи. Нет, это не Лондон в 1666 году, а один из серверов World of Warcraft 13 сентября 2005 года. То, что произошло в тот день, стало полной неожиданностью и для игроков, и для разработчиков. Это событие вошло в историю WoW, да и компьютерных игр вообще, и получило величественное название Corrupted Blood Incident — инцидент Порченой Крови. Резонанс был так велик, что об инциденте говорили в теленовостях и писали в газетах.

Началось все с открытия Зул’Гуруба — нового рейдового подземелья. Его финальный босс — змееобразная когтистая зверюга по имени Хаккар, умеющая портить кровь игрокам не только в переносном, но и в буквальном смысле. Игрок, пораженный «порченой кровью», начинает быстро терять здоровье и может заразить других игроков. В условиях изолированного подземелья в этом нет ничего необычного, и либо игроки справляются с проблемой, либо персонажи гибнут и воскресают уже без порченой крови. В теории вынести заразу за пределы Зул’Гуруба было невозможно, но это в теории.

Охотники в WoW водят с собой своих охотничьих зверей и могут по желанию выпускать или отзывать их. Как оказалось, на животных тоже распространяется порченая кровь — это запланированный разработчиками эффект. Но никто не знал, что отозванное и затем выпущенное вне подземелья животное все еще будет переносчиком заразы. Первый же такой случай дал начало эпидемии.

Через определенное время техподдержка разобралась в ситуации и сбросила часть данных сервера, но это помогло ненадолго: игроки, прознав про возможность начать эпидемию, стали делать это умышленно, а форумы позволили распространить новость, и следом экспериментировать стали и на других серверах. Вирусный характер самой информации о «чуме» сослужил распространению виртуальной заразы добрую службу.
hakkar
Corrupted Blood Incident мешал играть, и недостатка в жалобах не было, но для большинства заставших «чуму» игроков тяготы с лихвой окупились возможностью похвастаться участием в столь эпохальном событии. Разработчики WoW, вдохновившись ажиотажем, с тех пор неоднократно специально устраивали схожие (но не столь брутальные) «инциденты» — просто потехи ради и чтобы всем было что вспомнить.

Программирование Game Boy изнутри Pokémon

Так выглядит Missingno
Так выглядит
Missingno

Вряд ли кому-то нужно объяснять, что такое «Покемоны». Оригинальная игра Pokémon выходила уже в 12 редакциях, начиная с Pokémon Red and Blue для Game Boy и заканчивая Pokémon X and Y для Nintendo 3DS. Всего на сегодняшний день продано около 245 миллионов копий разных версий «Покемонов», и неудивительно, что эти игры (в особенности самые первые) изучены от начала до конца, включая, конечно, всевозможные глюки.

Самый известный из глюков Pokémon — это покемон по имени Missingno, прячущийся в версии игры для Game Boy Color. Обнаружить его нелегко: нужно активировать другие известные баги в правильном порядке. Сначала «глюк со стариком», потом глюк дупликации предметов, потом перейти в определенную локацию и там встретиться лицом к лицу с Missingno. Это красивое имя на самом деле значит слова Missing Number («Номер отсутствует»), не влезшие в поле. Сам покемон выглядит как образцовый глюк — то есть как свалка из случайных пикселей и кусочков других картинок. Миссингно ведет себя как любой другой покемон, но пользоваться им нужно осторожно — того и гляди потеряешь все данные.

Но даже история Миссингно меркнет в сравнении с тем, что фанатам игры удалось сотворить с Pokémon Yellow. Начинается все с бага, позволяющего превысить лимит инвентаря и выйти за предел максимально разрешенных двадцати предметов. Звучит скучно? Есть один нюанс: игра при этом не выделяет память для новых ячеек, и номера предметов начинают попадать в области, где находятся другие данные. Дальше же открываются безграничные возможности.

Физик и программист Роберт Льюис Мак-Интайр не пожалел своего времени, чтобы реализовать способ внедрять произвольный код в Pokémon Yellow и делать буквально что угодно: не только читерить, но и добавлять в игру новые элементы. В качестве демонстрации он реализовал внутри «Покемонов» плеер MIDI и просмотрщик PNG.

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

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

Иногда стоит начать ковырять баг и оказывается, что под ним не видно дна.

Легендарные глюки Ultima Online

Люди в истинно черном
Люди в истинно черном

Создатели Ultima Online делали то, чего до них не делал никто: графическую массово-многопользовательскую игру с обширным миром и впечатляющими возможностями. Первопроходцы часто действуют по наитию, и, возможно, именно поэтому Ultima Online так непохожа на современные MMORPG. Не обошлось и без ошибок — в том числе обыкновенных багов. Те из них, что игрокам удалось заметить и использовать себе на благо, теперь стали легендарными.

О природе глюков UO отлично рассказывает в своем блоге один из разработчиков Раф Костер. Костер объясняет, что часть объектов игрового мира «Ультимы» была записана на установочный компакт-диск и считалась статической. Динамические же объекты подгружаются с сервера каждый раз, как игрок должен их увидеть. Например, дерево или озеро — это статические объекты, а стоящий в доме стул — динамический. В UO стул можно передвинуть или даже сломать.

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

Так в Ultima Online появились редкие предметы — такие, которые нельзя выбить из монстров, купить в магазине или создать при помощи крафтинга. Редкости можно было только найти и тащить по одной, что и делалось с большим успехом. Еще бы — даже безделушку можно было выгодно продать на eBay.

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

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

Ермак из Mortal Kombat

ermac-2

История Ермака из Mortal Kombat — это история бага (или, вернее, небольшой ошибки разработчиков), который умудрился зажить своей независимой жизнью. Началось все с одной строчки — ERMACS. Ее можно было найти на экране статистики в одной из самых первых версий Mortal Kombat сразу после строк о количестве появлений и побед скрытого персонажа Рептайла. Строка эта полностью звучит как Error Macroses. Разработчики добавили ее, чтобы смотреть, сколько раз за время игры выполнялись макросы, срабатывающие при возникновении ошибок.

Легенда о Ермаке родилась из этого экрана
Легенда о Ермаке родилась из этого экрана

У игроков (особенно, надо думать, юных) имелась иная теория о том, что такое ERMACS. Стоящий после другого скрытого персонажа ERMACS в их коллективном воображении превратился в такого же ниндзя, как Сабзиро, Скорпион и Рептайл, только в красной одежде и со своими спецприемами. В одной из последних версий первой части Mortal Kombat строку ERMACS вообще убрали, чтобы никого не путать, но легенда Ермака жила несмотря ни на что.

В Mortal Kombat II разработчики решили немного пошутить с поклонниками Ермака и добавили пару упоминаний о нем. Так, секретный персонаж Джейд мимоходом бросает фразу «Ермак кто?», а после прохождения игры внизу экрана можно заметить строчку CEAMR ODSE NTO EXITS, что, если переставить буквы, означает Ermac does not exist — то есть «Ермака не существует».

По-настоящему авторы игры сдались к моменту выпуска Ultimate Mortal Kombat 3 — расширенной версии третьей части игры. Там Ермак наконец-то появляется среди персонажей — в том самом красном комбинезоне, который ему когда-то приписывали. Как и у других персонажей, у Ермака есть красивая легенда: он рожден из душ, похищенных Шао Каном, владеет телекинезом, возможностью переходить между мирами, а также серьезным расстройством личности. О себе Ермак говорит исключительно во множественном числе — ссылаясь то ли на то, что у него больше одной души, то ли на множественное число в той злополучной строке, из которой он вышел по-настоящему.

Creepy Watson

Ватсон. Стоит. Смотрит
Ватсон. Стоит. Смотрит

Компьютерная игра «Sherlock Holmes: Nemesis», возможно, не так известна, как оригинальные произведения Конан Дойля, да и среди компьютерных игр сколько-нибудь важного места не занимает. Зато она знаменита одним из самых пугающих глюков, что только можно встретить в играх.

Большую часть времени игрок управляет Шерлоком Холмсом и видит все от первого лица. Доктор Ватсон, как и положено, всегда находится где-то поблизости и помогает своему гениальному напарнику расследовать преступления. Однако «где-то поблизости» в интерпретации разработчиков игры оказалось очень странной штукой. Дело в том, что у Ватсона нет анимации ходьбы и, как на него ни посмотришь, он просто стоит посреди очередной комнаты.

Казалось бы — что может быть страшного в спокойно стоящем Ватсоне? Вот только стоит отвести от него взгляд, пройти вперед, а потом снова повернуть голову, как Ватсон оказывается на новом месте. Иногда можно себе представить, что он туда прошел, пока его не было видно, но зачастую Ватсон телепортируется в самые неожиданные места, куда просто не мог проникнуть незамеченным. В итоге если внимательно следить за Ватсоном, то понимаешь, что он подобен кошмару из какого-нибудь ужастика и преследует Холмса как наваждение. Ни звука шагов, ни дружеского приветствия — лишь немигающий взгляд неподвижно стоящего джентльмена с армейской выправкой.

Зверства Red Dead Redemption

Наездник и лошадь. Так уж вышло, что наездник тоже лошадь
Наездник и лошадь. Так уж вышло, что наездник тоже лошадь

или

«Какой же Дикий Запад без летающих людей?» — думали, наверное, разработчики Red Dead Redemption
«Какой же Дикий Запад без летающих людей?» — думали, наверное, разработчики Red Dead Redemption

Фирма Rockstar Games знаменита замечательным игровым жанром собственного изобретения. В нем сочетаются огромные миры, свобода действий, необязательный, но интересный сюжет, а также погони и перестрелки — в огромных количествах. Речь, конечно, об играх серии Grand Theft Auto и ответвлений вроде Bully и Red Dead Redemption.

Открытый «живой» (вернее, симулирующий реалистичные события) мир — штука сложная, и нередки случаи, когда игровые персонажи начинают делать что-то совершенно незапланированное. Хуже всего получилось с Red Dead Redemption — аналогом GTA, только на Диком Западе и с лошадями вместо машин. Почему-то именно RDR кишел странными глюками, которые не столько мешают играть, сколько заставляют игроков смотреть на экран круглыми глазами, показывать пальцем и звать всех окружающих вглянуть на происходящее.

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

Мутанты в Sims

«А это наша Машенька. Что уставились?! Совершенно нормальный ребенок!»
«А это наша Машенька. Что уставились?! Совершенно нормальный ребенок!»

Как и нетленка Rockstar, игры серии Sims симулируют реальную жизнь и при этом, конечно же, время от времени шикарно глючат. Выглядит это очень по-разному. Кто-то из симсов может вести свою размеренную жизнь и заниматься повседневными делами, а потом внезапно спутать пол с бассейном и начать плавать по дому.

А что иногда происходит с моделями! Кошки, выглядящие так, будто их случайно вывернуло наизнанку (и они этого не заметили), люди-кентавры, дети с пугающей внешностью… В худшем случае вместо ребенка у невезучей пары симсов может родиться такая неведома зверушка, что сразу даже не поймешь, что это. Вглядевшись, понимаешь, что перед тобой причудливо размазанное в пространстве взрослое тело с детской головой. И это если повезет — вместо модели взрослого человека может оказаться, например, лошадь. Вообразите, как это должно пугать домохозяек и школьниц, составляющих большую часть поклонников Sims!

Андрей Письменный

Андрей Письменный

Шеф-редактор

Теги:

12 комментария

  1. 08.09.2014 at 21:26

  2. 08.09.2014 at 21:48

    Про ермака не знал. Удивлен.

  3. 09.09.2014 at 03:20

    Ха, это вы ещё ArmA не видели!

    • 09.09.2014 at 12:00

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

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

  4. 09.09.2014 at 04:34

    Хорошая статья, спасибо ребят. В том же жанре бы почитать еще что-нибудь.
    Почему-то вспомнилась цитатка с бора про убежавший флаг с осады в линейке 🙂

  5. http://thinkdifferent.su/

    09.09.2014 at 07:15

    Понравилось, интересно.

  6. 09.09.2014 at 09:04

    Один из интересных глюков случился во время моего студенческого эксперимента по написанию файлово-загрузочного вируса. Забыл взвести в нужном месте Carry-flag, в результате DOS работала, выдавая при загрузке сообщение «Диски после Z: существуют и будут проигноррированы». 🙂

  7. 09.09.2014 at 14:17

    Почему выпилили мой комментарий? Я написал, что на скрине с симсов у меня начался истерический смех.
    Самые полезные баги — это овербаунды в кваке и всякие «уголок джампы», особенно актуальные во второй, где от уголка можно неслабо взлететь. А ещё иногда короткое застревание в текстурах неслабый разгон придаёт.
    Про баги в battle toads уж наверное все знают.

  8. 09.09.2014 at 15:19

    Хех, была такая игрушка You Are Empty — российский хоррор в жанре FPS. Глючила она отчаянно, но один момент порвал меня в клочья: в релизной версии был баг, из-за которого оружие персонажей иногда становилось невидимым; так же там была скриптовая сцена, в которой один из героев должен был застрелиться. И так, складываем один и один: персонаж-самоубийца, по сюжету — мер города, остается с ГГ наедине, толкает речь, приставляет палец к виску, «стреляет», падает замертво… Распахиваются двери, забегают охранники… Идеальная подстава, словом.

Оставить мнение

Check Also

WTF is APT? Продвинутые атаки, хитрости и методы защиты

Наверняка ты уже читал о масштабных сетевых атаках, от которых пострадали банки, крупные п…