Забавные баги. Баг - это что

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

Но давайте разберемся, что такое баги, почему они возникают и какими бывают.

Слово «баг» , как и подавляющее большинство терминов программирования, заимствовано из английского языка, в котором «bug» означает насекомое – клопа , жука и т.д. Считается, что впервые его использовали разработчики одного из первых компьютеров – американского Mark II во второй половине 40-х годов двадцатого столетия. Однако слово «баг» в значении «ошибка, неполадка, сбой» встречается задолго до этого – например, в рабочих дневниках знаменитого изобретателя Т.Эдисона.

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


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

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

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

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

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


Для описания багов существует специальная формализованная таблица, которую заполняет тестировщик. Из сообщенных сведений программист должен узнать суть проблемы, найти место, которое нуждается в корректировке, и внести нужные исправления. Разумеется, для обычных пользователей это вряд ли возможно – им достаточно будет просто описать баг своими словами.

Как и в любом другом программном обеспечении, в могут встречаться различные баги, т.е. ошибки программного кода. Они могут приводить к различным неудобствам и помехам – например, искажать изображение на экране, «рассыпать» тексты, превращая их в набор бессмысленных значков и т.д. Некоторые баги предоставляют дополнительные возможности пользователям.

Так, известно, что редактировать свои записи можно только в течение суток после их опубликования. Некий пользователь под ником «Мгновения Грядущего» опубликовал точные «предсказания» событий 2014 года, датированные первым декабря 2013 и снабженные картинками произошедших событий – Олимпиады в Сочи, Крымской Весны и т.д.

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

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


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

Когда что-то пошло не так.

В закладки

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

Это не тот случай, конечно

«Экран-убийца» в старых аркадах

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

Взять к примеру Pac-Man. Если дойти до 255 уровня, то с игрой начинают происходить довольно жуткие вещи: половина экрана забивается цифрами и игровыми спрайтами, из-за чего играть становится проблематично (для обычных людей; профессионалов подобные трудности редко смущают). За то, где и в каком количестве появляются бонусы, отвечает особая процедура. Данные она берёт прямо из номера уровня, и когда значение выходит за пределы байта (то есть на 256 этапе), игра немного ломается.

В Donkey Kong «экран-убийца» тоже присутствует, но немного в другом виде. Если дойти до 22 уровня, то Марио погибнет всего через несколько секунд после начала игры. Происходит это из-за того же байтового предела.

Время, отводимое на уровень, рассчитывается по определённой формуле: 10x(*номер уровня*+4). Если игрок попадает на 22 уровень, то формула выводит число 260, однако игра воспринимает значения лишь до 256, а потому 260 превращается в 4. За четыре секунды герой успеет разве что пробежать пару шагов, после чего умрёт.

В Duck Hunt на NES с «экраном-убийцей» можно было столкнуться, дойдя до 100 уровня. Тогда утки начинали вылетать из кустов с огромной скоростью и в больших количествах. Разумеется, подстрелить их было невозможно, и игра заканчивалась.

Комбо в Street Fighter II

Возможность наносить противнику множественные удары появилась ещё до Street Fighter, но именно вторая часть серии популяризировала систему комбо и заставила остальных разработчиков обратить на неё внимание.

Как всё произошло: во время тестирования игры и отлова багов главный продюсер Street Fighter II Норитака Фунамицу заметил, что на бонусном уровне (где нужно было раскурочить автомобиль) персонаж может нанести несколько дополнительных ударов. Для того, чтобы сделать это, нужно было очень строго выдержать тайминг, что само по себе было сложно.

Ошибку решено было не убирать из тех соображений, что вряд ли кто-то решится её использовать. Игроки, однако не отступили и выучили комбинации. Уже в Super Street Fighter II, который вышел в 1993 году, игра стала учитывать и вознаграждать каждый удар в комбинации, официально закрепив систему комбо в жанре файтингов.

Однажды я занимался отловом багов на бонусном уровне (с машиной) и заметил кое-что необычное. Пересмотрев запись, мы с командой обнаружили, что, если рассчитать тайминг, можно нанести дополнительный удар. Я подумал, что применить эту особенность никак не удастся, потому что тайминг был слишком мал и уловить его было очень сложно. Было решено оставить всё как есть.

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

Норитака Фунамицу

Продюсер Street Fighter II

Ермак в Mortal Kombat

Ермак из Mortal Kombat обязан своим появлением слуху. Дело в том, что после релиза первой части многие игроки стали утверждать, будто замечали в игре баг, при котором цвет одежды Скорпиона меняется с жёлтого на красный, а в полоске жизней появляется надпись Ermac.

Ермак в фильме Mortal Kombat: Annihilation

Сразу же было сделано предположение, будто это секретный персонаж, которого можно как-то разблокировать. В игровых журналах того времени даже появлялись изображения героя, которые, впрочем оказались поддельными. Никакого Ермака в первой части MK, разумеется, не существовало. Секретного персонажа с этим именем разработчики ввели лишь в Ultimate Mortal Kombat 3. Вот так, из-за слухов о баге на свет появился герой файтинга.

Ultimate Mortal Kombat 3

«Потерянный покемон» из Pokémon Red & Blue

Во вселенной Pokémon множество культовых монстров. Но есть один особенный - MissingNO. В отличие от всех остальных, он - баг. Появляется покемон после выполнения трёх последовательных действий. Сначала игрок должен пройти внутриигровое обучение, затем использовать покемона со способностью к полёту, чтобы добраться до острова Синнабар. Там нужно взять водного покемона и плавать вниз-вверх рядом с восточным берегом острова. После этого в игре случится баг и MissingNO появится.

Правда, нужно быть осторожным. Nintendo ещё в 1999 году предупредила пользователей, что любой контакт с секретным покемоном может повредить игровые сейвы. Также побочным эффектом встречи является то, что количество предметов, расположенных в шестом слоте рюкзака героя, увеличится до 128. Также в игре могут встречаться различные графические артефакты. MissingNO можно даже поймать и использовать в сражении. В покедексе тот получает номер 000. Само покемона имя расшифровывается как Missing Number (Потерянный Номер).

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

Чтобы устранить проблемы с графикой, попробуйте отпустить покемона MissingNO. Если проблема останется, единственным выходом будет перезапуск игры. Это означает необходимость стереть текущие сохранения и начать заново.

Информация на сайте Nintendo

Баги Ultima Online

Любой, кто играл в UO знает, что поиск эксплойтов, багов и всяких незапланированных вещей - важная часть игрового процесса. На форумах можно прочитать бесчисленные советы о том, как прокачивать скиллы с помощью лошадей и макросов, как попадать в частные владения с помощью бага с дверями и многое-многое другое. Раф Костер, один из разработчиков игры, в своём блоге воспоминаниями о некоторых знаменитых багах. Так, например, оказалось, что редкие предметы, которые любят коллекционировать игроки - результат бага.

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

Примерно также появился баг с переносной водой. Водные пространства в UO состоят из сегментов, и расположение каждого регулируется сервером. Но иногда из-за ошибок какой-нибудь из сегментов водоёма в игре мог пропасть, из-за чего в воде образовывалась самая настоящая дыра. Потом, когда сервер перезагружался, пропавший сегмент заменялся на новый.

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

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

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

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

Раф Костер

Ведущий дизайнер Ultima Online

Жонглирование противниками в Devil May Cry

Изначально Devil May Cry задумывалась как очередная часть Resident Evil (четвёртая, если точнее). У руля проекта стоял Хидэки Камия, который планировал сделать из игры быстрый экшен в готических декорациях, с динамической камерой и главным героем - сверхчеловеком. В итоге, концепция эволюционировала настолько, что создатели поняли: в серию Resident Evil игра больше не вписывается. Сюжет переписали, название сменили, а герою дали имя Данте.

Devil May Cry

Интересная часть началась, когда Хидэки Камия сел тестировать игру Onimusha: Warlords (вышла в 2001 году на PS2). Оказалось, что в игре есть баг, из-за которого противниками можно буквально жонглировать, нанося удары. Из финальной версии его, конечно убрали, но геймдизайнеру настолько понравилась эта идея, что он перенёс её в DMC. Так из-за бага у игр про демона Данте появилась своя фишка.

Изначально Devil May Cry должен был стать новой игрой в серии Resident Evil. Но он настолько не вписывался в серию, что превратился в DMC, а мы потеряли целый год разработки. Я думал, что, может быть, я облажался, а Capcom хотят меня уволить. Это бы объяснило то, что мне не разрешили работать над DMC2.

Хидэки Камия

Геймдизайнер Devil May Cry, в интервью сайту 1UP

Onimusha: Warlords

Чума в World of Warcraft

В сентябре 2005 года мир World of Warcraft был усеян костями игроков. Виной всему была чума, сотнями выкашивавшая несчастных искателей приключений. Началось всё с рейда Зул’Гуруб, в котором игрокам предстояло сразиться с Хаккаром Свежевателем Душ. У босса в запасе был трюк: он высасывал из героев кровь, восстанавливая свои силы. Однако свою кровь можно было заразить: игрок получал урон, но Хаккар также заражался и, в конечном счёте, погибал.

Хаккар Свежеватель Душ

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

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

Люди старались не подходить к городам и писали остальным: «Не возвращайтесь в город, а то снова это подхватите. Держитесь дикой местности». Это был своего рода карантин, благодаря которому выживали игроки.

Шейн Дабири

На исправление ситуации ушёл почти целый месяц. В итоге, у питомцев просто убрали возможность переносить болезнь, и чума закончилась. Сами разработчики говорят, что не жалеют о происшествии.

Вообще, благодаря чуме мы создали вещи, пригодившиеся нам в будущем. Если бы её не было, мы бы не знали, как делать крутые игровые события, которые проводим сейчас. Получилась интересная страница истории нашего игрового мира. К тому же, команды дизайнеров многому научились.

Шейн Дабири

Один из руководителей Blizzard

Лицо Дрейка в Uncharted 2

Изображение с размытым лицом Натана Дрейка из Uncharted 2: Among Thieves впервые появилось на имиджбордах. «Дрейкфейс», как его назвали пользователи, быстро обрёл популярность, стал мемом и своеобразным символом консольного гейминга. Якобы железо на PS3 устаревшее, графика мыльная, вот и получается такое.

На самом же деле, «дрейкфейс» - результат бага, который, при желании, можно воспроизвести. Достаточно зайти в режим создания роликов в разделе «Коллективная игра», выбрать любую запись матча, сразу же навести камеру на стену и нажать паузу в момент первой смерти. Потом просто летим к месту гибели персонажа и видим «дрейкфейс». Из-за бага в момент смерти лицо персонажа прогружается неправильно, вот и получается такой эффект.

Кричащий герой Heavy Rain

Heavy Rain - не самая позитивная игра. Убийства, семейная драма, постоянный дождь, мало поводов для веселья. Однако один случайный баг меняет всё и превращает серьёзную и грустную историю в настоящий балаган. Осторожно, спойлеры.

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

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

Баг — это что такое?

Слово "баг" произошло из английского языка. На английском bug (произносится как "баг") — это букашка или жучок. Употребляется данное слово в основном среди программистов, тестеров и геймеров. Но что оно обозначает?

Баг — это несоответствие между техническим заданием программы и реальным поведением системы. Вследствие этого несоответствия софт не может выполнить задуманную разработчиком функцию. Говоря простым языком, баг — это ошибка, которая происходит из-за недоработки в исходном коде программы.

Происхождение слова

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

Если верить легенде, то данный профессионализм появился еще в далеком 1945 году. Произошло это, когда ученые из проводили тестирование новой вычислительной машины под названием Mark II Aiken Relay Calculator. Устройство отказывалось работать, и причиной этому стал крохотный мотылек, который застрял между контактами. Насекомое извлекли из вычислительной машины и влепили в специальный технический дневник. Около мотылька находилась сопроводительная надпись «First actual case of bug being found», что переводится как "Первый случай в практике, когда был обнаружен жучок (баг)". После этой забавной истории слово "баг" и стало использоваться в значении "ошибка".

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

Очередная версия гласит, что слово "баг" появилось во времена Второй мировой войны. Тогда под данным термином подразумевали неполадки с радарной техникой.

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

Игровые баги

Баги есть не только в программах, они довольно часто встречаются и в играх. Баг игры — это недоработка разработчиков, из-за которой игровой процесс идет не так, как задумывалось изначально. За всю историю гейм-индустрии выходило тысячи забагованных проектов. О самых известных и занимательных мы и поговорим в этом разделе.

Пожалуй, самым забагованным проектом за последние несколько лет можно назвать Assassin’s Creed: Unity. Проекты "Юбисофт" никогда не славились своей оптимизацией, но Unity — это настоящая энциклопедия багов. Порой персонажи находятся в очень странных и неестественных позах, проваливаются в текстурки, проходят через стены или же попросту зависают. Чего только стоит баг, который в считаные часы облетел весь интернет (у персонажей просто пропадали лица, из-за чего выглядели они довольно жутко). Даже сама "Юбисофт" признала свою ошибку, выпустила патч, который фиксит баги, и возместила покупателям ущерб.

Порой игроки воспринимают баги в качестве фичи, особенности игры. Так произошло с мегауспешной серией игр под названием Mortal Kombat. В первой части игры был баг, который перекрашивал Скорпиона (одного из основных персонажей игры) в красный цвет. При этом имя героя заменялось на сообщение об ошибке Error Macro. Игроки посчитали, что эта недоработка является задумкой разработчиков, а красный ниндзя — это дополнительный секретный персонаж. Эду Буну (создатель МК) понравилась данная затея, и в последующей части он добавил в игру этого героя под именем Эрмак (сокращение от той самой Error Macro).

Как уберечь себя от багов?

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

Но не всегда тестеры находят баги, и порой пара-тройка недоработок все же просачивается в финальную версию проекта. В таком случае вся надежда на пользователей, которые могут отправить специальное письмо с описанием ошибки — баг-репорт. Это поможет улучшить конечный продукт. Кроме того, крупные компании хорошо вознаграждают за нахождение багов в их продукции. К примеру, в качестве поощрения за нахождение значимых багов в своем браузере Google готова дать 15 тысяч долларов.