На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

Игры!!!

69 987 подписчиков

Свежие комментарии

Пылесосы и часы: разработчики рассказали о самых необычных причинах багов в своих играх 

На поиски некоторых уходили недели, а на исправление — всего пять минут.

Программист из инди-студии Flippfly Аарон Сан Филиппо в своём твиттере рассказал историю о поиске бага в игре Race the Sun, над которой он работал.

Я бы хотел рассказать вам историю о том, что это на самом деле такое — управление инди- компанией. Тогда мы уже какое-то время работали над версией Race the Sun от Limited Run. Где-то в июне мы думали, что находимся на финишной прямой, просто доделываем оставшееся.

Речь идёт о версии Race the Sun для консоли PlayStation Vita. Отдел контроля качества Sony обнаружил в игре два бага. Первый был незначительным и на его исправление у разработчика ушло «пять минут», а второй приводил к зависаниям. При этом в Sony не дали Аарону Сан Филиппо чётких указаний, как воспроизвести ошибку — казалось, что она возникала случайным образом. При этом у самого разработчика проблем не возникало.

Программист на протяжении 20 часов пытался заставить Race the Sun зависнуть, но безуспешно. Он даже внёс кое-какие правки в код в слепую, но из-за этого в Sony игра стала «крашиться» лишь сильнее, а у самого Аарона Сан Филиппо она работала как надо.

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

 

В тот момент я решил написать скрипт, который сам бы играл в игру. Где-то через 24 часа Race the Sun должна была использовать всю память системы, но проблема точно заключалась не в этом, ведь в Sony регулярно докладывали об ошибке.

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

 

Аарон Сан Филиппо
разработчик

Через несколько недель разработчика осенило: «Что, если различия кроются в скорости соединения с интернетом?» Аарон Сан Филиппо включил 3G и запустил свой скрипт — игра зависла в течение часа.

Оказалось, виной всему было так называемое «состояние гонки» — состояние, при котором баги из-за нарушения порядка выполнения действий, связанных с обработкой одних и тех же данных. В случае с Race the Sun проблема заключалась в том, что игра пыталась внести результат игрока в «таблицу лидеров» ещё до того, как подсчёт очков был завершён. На поиск и исправление бага у Limited Run ушло около четырёх или пяти недель.

Другие разработчики также поделились своими историями о самых необычных причинах ошибок в играх, а также об их поиске. Так, технический художник из Treyarch рассказал о том, с чем ему пришлось столкнуться при работе над портом одной из частей Guitar Hero для PlayStation 2.

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

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

@AeornFlippout Turns out the slight difference in disc read speed versus loading the game from the PS2 dev kit HDD caused the desyncs, and the tutorials were hard coded to run at certain frame intervals. Oops
 1
 8
 
Оказалось, что существует небольшая разница между скоростью чтения диска и загрузкой игры с жёсткого диска девкита PlayStation 2. Она и вызывала десинхронизацию, ведь обучающие уровни были запрограммированы проигрываться со строгими интервалами в кадрах. Упс.

Один из разработчиков Prison Architect под ником Tommodore 64 

, с чем он столкнулся, выпуская Frozen Synapse для PlayStation 3. Игра вышла бесплатно для подписчиков PS Plus, однако у многих пользователей она крашилась при первом запуске.

Этот баг стал неожиданностью не только для разработчиков, но и для команды контроля качества в Sony — прежде Frozen Synapse нормально запускалась на всех устройствах для тестов. В итоге в Sony всё-таки удалось найти копию PS3 для воспроизведения бага.

Отдел контроля качества отправил разработчикам отчёт об ошибке, но, по признанию Tommodore 64, в нём содержалась «какая-то чушь». Однако программисты смогли извлечь из него нечто полезное — оказалось, что проблема возникала из-за метода сохранения данных. Один из членов команды разработчиков предположил, что баг появился после выхода патча первого дня.

Авторы игры отправили Sony версию без него, и та отлично запускалась на той PlayStation 3, которая прежде не могла загрузить Frozen Synapse.

 

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

 

Tommodore 64
разработчик

Люк Томпсон из студии Sigtrap Games 

 о поиске бага в шутере Sublevel Zero Redux для PlayStation 4. На этот раз он не был связан с зависаниями — игра отлично работала в офисе контроля качества Sony, однако один из тестеров заметил, что уровни, которые должны генерироваться случайным образом при каждом запуске, повторяются.

Проблема крылась в версии движка Unity для PlayStation 4. Из-за это последовательность уровней была постоянной.

Лайан Браун, который сейчас работает в Hello Games, 

 историей поиска бага в неназванной игре для PlayStation 2. Она отлично работала на девките, но при запуске с диска подгрузка ассетов и текстур сильно замедлялась. Разработчики пытались менять порядок загрузки файлов, но ничего не работало.

 

Кто-то заметил, что производительность падала, когда мы добавляли маленькие часы на задний план. Они работали в реальном времени. Оказалось, что PS2 приходилось каждый кадр обновлять данные о времени, а это было плохой идеей. Маленькая, незначительная деталь, которую я добавил в обход продюсера, чуть не стоила нам релиза.

 

Лайан Браун
разработчик

Сооснователь Media Molecule Алекс Эванс 

, с какими трудностями пришлось столкнуться при разработке первой Little Big Planet. По его словам, за две недели до того, как игра «ушла на золото», японские тестеры стали сообщать о баге — Little Big Planet крашилась, если оставлять её запущенной на 24 часа. В студии воспроизвести ошибку не удавалось.

Разработчики пытались воссоздать условия, при которых возникала ошибка. Они использовали то же оборудование и программное обеспечение, а также подключили к консоли цифровую камеру PlayStation Eye и оборудование для записи звука, как в японском офисе контроля качества. Удалось установить, что игра крашится только около 4 часов утра каждый день.

 

Почему? Что происходит только в Японии в 4 часа утра? Мы решили узнать. Оказывается, что в это время в офисе проходила уборка. Местные уборщики гораздо тщательнее выполняют свою работу, чем наши! Час уборки пылесосом возле PlayStation Eye воспринимался игрой как белый шум и вызывал потерю нескольких байтов памяти. Если пылесосили долго, то происходил краш.

 

Алекс Эванс
сооснователь Media Molecule

Узнав об этом, разработчики смогли воспроизвести баг. А на его исправление потребовалось всего пять минут.

Программист Филип Бак 

 опытом с «обратной стороны», рассказав, как происходила работа в отделе контроля качества Sony в 1998 году. По его словам, он устроился туда сразу после окончания университета.

 

Мы гордились собой, находя самые безумные способы сломать ваши игры. А всё, что вы получали — это дёрганная VHS-запись, да плохо написанный отчёт. Сама политика была уморительной. Раз или два менеджер приходил к нам с новой задачей (от старых коллег, с которыми он, очевидно, порвал все связи) и говорил: «Первый тестер который сможет сломать эту игру получит оплачиваемый отгул».

 

Филип Бак
программист
 
 
 
 

Картина дня

наверх