8 лучших глюков в играх

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





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

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



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

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

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



Программирование Game Boy изнутри Pokémon
Вряд ли кому-то нужно объяснять, что такое «Покемоны». Цикл 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
История Ермака из 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.



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

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

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

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