Пропустить нельзя пофиксить: все о багах в играх и работе тестировщиков

Cover Баги в играх

Пропустить нельзя пофиксить: все о багах в играх и работе тестировщиков

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

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

Что такое баги в игре: цели тестирования продукта

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

Выявление «жучков», а именно так переводится английское слово bugs, – основная цель тестирования продукта. Оно проводится не только перед релизом игры, а и при мажорных (с серьезными изменениями) и даже минорных (с незначительными исправлениями и дополнениями) обновлениях, чтобы команда разработчиков могла найти баги, проанализировать их и устранить (т.е. пофиксить).

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

ММ bug

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

Тестирование игр: особенности работы тестировщиков

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

  • логическое мышление;
  • внимательность и усидчивость;
  • хорошая память;
  • адаптируемость к задачам;
  • мультифункциональность. 

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

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

GTA5

Как искать баги в мобильных играх

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

  1. Берется сброшенное до заводских настроек устройство.
  2. Проверяется билд, то есть конкретная сборка ПО, и ее версия. 
  3. Изучается загрузочный экран и главная страница приложения. 
  4. Анализируется корректность различных пунктов меню, работоспособность кнопок и наличие критических багов. 
  5. Проверяется механика геймплея и работа звука, в обязательном порядке тестируются функции сохранений и привязки к соцсетям. 

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

GTA5

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

Одну и ту же игру могут тестировать месяцами и даже годами, если речь идет об огромном проекте. Чаще на тесты отводят 1–2 месяца, этого вполне достаточно для устранения основных уязвимостей и выпуска игры. 

Уровни и категории багов

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

  1. Блокирующая (Blocker). Самая страшная для геймдева недоработка, которая полностью «ломает» игру, приводит ее в нерабочее состояние. В документации обозначается как S1 и обязательна для исправления до продолжения тестов. 
  2. Критическая (Critical). На уровне S2 ошибки по-прежнему имеют наивысший приоритет для команды, поскольку затрагивают целый сегмент. Эффекты таких ошибок самые разные – сбои игровой логики, отсутствие защиты игровых данных, разрушение целого пласта функциональности. 
  3. Значительная (Major). Нуждается в исправлении, но тестирование можно продолжать через другие входные точки. Зачастую статус S3 присваивается ошибкам, при которых часть основной игровой логики работает неправильно. К примеру, нанесение урона лечит противника, оппонент не умирает после окончания шкалы здоровья и так далее. 
  4. Незначительная (Minor). При таких ошибках логика игры не нарушена, но есть проблемы с дизайном. Чаще всего баги S4 относятся к нарушениям интерфейса пользователя. 
  5. Тривиальная (Trivial). Наиболее незначительная недоработка, которая относится к категории S5. Она не влияет на финальный продукт и чаще всего касается сторонних сервисов либо внутренней механики. Пользователи вообще не сталкиваются с ошибкой, поэтому такие баги слабо фиксятся. 

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

Ярослав Маркин

Кроме уровня серьезности, баги делятся на категории по типу ошибки:

  • графические – связаны с изображением на экране, в том числе отсутствием текстур, обрезкой областей картинки и другими «артефактами»;
  • аудиальные – неправильная озвучка, нарушение уровней громкости, сбои звуков;
  • дизайн уровней – в указанную категорию входят проблемы с геометрией, невидимые стены, провалы в полигонах;
  • искусственный интеллект – персонажи неправильно реагируют на команды, в игре нарушен баланс сил, отсутствует вход в области, предусмотренные геймплеем;
  • физика – отсутствует модель повреждений, нарушены законы гравитации, некорректно отображаются движения;
  • стабильность – приложение «фризит» и «крашится», уровни и области не прогружаются, игра зависает;
  • производительность – в этот раздел входят баги, связанные с проседанием частоты кадров – ФПС (англ. FPS – frame per second) на мощных устройствах, долгой загрузкой областей, периодической подгрузкой данных;
  • нетворкинг – все ошибки, связанные с сетевым соединением. Это и регулярные разрывы связи с сервером, и высокие пинги, и лаги при стандартных игровых действиях. 

ММ bug 2

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

Пользователи = тестировщики: как недоработки попадают в массы

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

  1. Тестировщики работают по сценарию. У каждого испытателя есть чек-лист, по которому он ищет ошибки и фиксирует их в специальных ячейках. Таким образом, тестирование стандартизировано и многие ситуации, в которых может оказаться рядовой игрок, попросту не возникают. 
  2. Баги чинит команда. Тестировщики только документируют недостатки игры и передают их в виде отчетов. Фактически задачей тестеров является проверка работы команды, определение направлений работы и анализ рисков на случай, если баг останется в коде. 
  3. Разработчики идут на компромисс. Блокирующие и критические ошибки фиксятся в приоритетном порядке, но проблемы с текстурами, моделями и интерфейсом второстепенны. Команде лучше проработать фичи и улучшить сильные стороны, чем заниматься правкой малозначительных, с их точки зрения, багов. Поэтому в релиз часто пускают игру с забавными или раздражающими ошибками. 

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

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

Ярослав Маркин

Самые скандальные баги геймдева

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

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

cyberpunk 2

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

cyberpunk 1

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

Fallout 2

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

Fallout 

Gothic 3. Легендарная RPG, завершающая трилогию, получила шикарный мир и скрупулезно проработанных персонажей с потрясающими квестами. Но вот про оптимизацию разработчики начисто забыли, что и привело к техническому провалу. Игра постоянно вылетала и тормозила, из начальной локации из-за пустот в текстурах могли выйти только единицы, а игровая механика была абсолютно сырой. И хотя разработчикам удалось довести продукт до нормального состояния патчами, до сих пор фанаты серии полируют ее любительскими заплатками. 

Gothic

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

Баги, плавно переходящие в фичи

Итог подведем своеобразно – баги могут стать фичами. Серьезно, это хоть и не происходит повсеместно, все равно имеет место в геймдеве. Стоит вспомнить хотя бы баг с поведением полицейских в Grand Theft Auto, которые не объезжали игрока, а старались проехать сквозь него. Копы-психопаты понравились разработчикам и юзерам, прочно войдя в последующие игры серии. 

Легендарная «распрыжка» тоже изначально была багом, который появился в Quake. Ее оставили и в других играх (к примеру, Counter-Strike), поскольку запустить режим быстрого движения могли далеко не все игроки, а сам по себе он не был убер-плюшкой. То же касается и рокетджампа, который был замечен случайно, когда игрок выстрелил ракетой себе под ноги. Так родилась обновленная механика, до сих пор юзаемая прогеймерами. 

Quake

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

Подписывайтесь на наши страницы в Facebook и Instagram, чтобы первыми узнавать интересные факты о разработке мобильного ПО 🙂