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