«Грязные» приёмы разработчиков игр

Невидимые белки и контроллер, который на самом деле не разряжался.

Разработчики игр поделились с порталом Gamasutra историями о самых «грязных» приёмах, к которым им доводилось прибегать. В их рассказах немало интересного — иногда в борьбе с неуловимыми багами и сжатыми сроками приходится по полной задействовать креативное мышление.

Фальшивая батарея

Игра Super Time Force использовала почти всю доступную память Xbox 360. Из-за функции перемотки времени игре приходилось сохранять информацию обо всех внутриигровых объектах — врагах, пулях, платформах, взрывах, — в каждый отдельный момент времени.

Выяснилось, что если игрок будет достаточно быстро нажимать на все кнопки контроллера в течение определённого времени, память будет исчерпана. Как вспоминает Кеннет Йонг, работавшая над Super Time Force, разработчики решили ничего не исправлять, и применили хитрость: теперь игра отслеживала «хаотичное» нажатие кнопок и притворялась, что он нечаянно нажал на кнопку перемотки времени. Ничего не подозревающий игрок отправлялся назад во времени, а игра могла начать запоминать его действия заново.

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

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

Кеннет Йонг
технический директор Capy Games

Невидимые белки

Геймдизайнер Артур Бруно вспоминает о проблеме, с которой он столкнулся при создании Titan Quest. Система игры не позволяла устанавливать задержку для действия — если какой-то триггер активировался, то действие должно было произойти немедленно, а не через пять или десять секунд.

С этой проблемой разработчикам помог справиться тестер, подключившийся к процессу на финальной стадии разработки. Он догадался, что существует способ обойти это ограничение — длительность анимации.

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

Немного тишины

Кит Кайзершот, работавший над Mega Man Legacy Collection для 3DS, столкнулся с загадочным багом. При запуске игры первый звук, который слышал игрок, непременно искажался до неузнаваемости — вне зависимости от того, что это был за звук. Разработчики бились над этой проблемой очень долго и подходили к ней с самых разных сторон — не помогало ничего. Было очевидно, что в таком виде игру нельзя было выпускать. Кит, по его словам, «едва не сошёл с ума».

В конце концов Кит просто добавил в начало секунду тишины. Всё заработало.

Включите счётчик

Мартин Тёртон работал над версией гоночной игры для PS2 и PSP. В какой-то момент департамент контроля качества пожаловался на то, что машина реагировала на действия водителя немного по-другому — не так, как в других версиях игры. Разработчики долго пытались понять, в чём дело, но не преуспели. Им пришлось пригласить в офис тестера из департамента контроля качества — тот поиграл и неожиданно заявил, что этой проблемы он больше не замечает, хотя в той версии, в которую он играл раньше, она точно была.

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

Выяснилось, что всё дело в счётчике FPS, который в версии для разработчиков располагался в углу экрана, а в финальной версии — отсутствовал. Со счётчиком кадров машина управлялась отлично, без счётчика — хуже.

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

Спасительная кнопка

В одной из игр для Android от студии Karaokulta тестеры нашли серьёзную проблему — после одной из катсцен игра вылетала. Геймдизайнер Марлон Рувалкаба Муноз рассказывает, что команда разработчиков потратила неделю, пытаясь понять, в чём причина — но всё было тщетно. Зато экспериментальным путём выяснилось, что если во время катсцены нажать на кнопку «назад», то вылета не произойдёт.

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

Мир остатков мостов

Рассказывая о работе над игрой Grim Dawn, Артур Бруно вспоминает, как на начальном этапе разработки, когда в команде ещё не было художника, он пользовался услугами фрилансеров, тратя личные сбережения. В частности, он заказал для игры модель деревянного моста с длинными досками, закруглёнными балками и железными шипами.

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

 
Источник: DTF

Читайте также