Играть в компьютерные игры весь день, а потом получать за это деньги — кажется, именно этим и занимаются тестировщики игр. В реальности тестирование игр — сложный технический процесс. Рассказываем о нем в подробностях и приводим подборку смешных багов из игр в конце.
Место тестирования в процессе создания игр
Чаще всего создание игры делят на восемь этапов. Процесс начинается с анализа концепции. Здесь команда разработчиков ищет уникальные идеи, определяет жанр, целевую аудиторию и основные механики игры. Важно провести исследования рынка, выявить тренды и понять, какие элементы привлекут внимание игроков. Этот этап помогает сформировать ясное видение будущей игры и определить ее основные характеристики.
Следующий шаг — разработка детального плана игры. Здесь определяют бюджет, сроки, ресурсы и основные этапы разработки. Команда собирает документацию, описывающую каждый аспект проекта: от дизайна уровней до характеристик персонажей. Планирование игры помогает предотвратить возможные проблемы в будущем и обеспечивает эффективное управление проектом.
На этапе Game Development создают игровой контент. Программисты, дизайнеры, художники и звукорежиссеры работают в тесном взаимодействии, чтобы воплотить задуманное в жизнь. Происходит создание игровых механик, уровней, персонажей, а также компонентов и интерфейса. На этом этапе команда стремится к согласованности и гармонии всех элементов игры.
После завершения разработки игры наступает этап тестирования. Специалисты проводят различные проверки: выявляют баги и несоответствия продукта прописанным в документации требованиям. Цель тестирования — обеспечить высокий уровень качества и стабильность игры перед ее выпуском. А еще — не пустить коту под хвост долгие часы работы на предыдущих этапах. Пожалуй, сложно представить что-то более обидное, чем провал игры из-за жалоб на забагованность.
На стадии препродакшна игра проходит через фазы Alpha- и Beta-тестирования. Alpha-тестирование предполагает внутренние проверки игры разработчиками. Beta-тестирование включает в себя ограниченный выпуск игры для опытных игроков с целью получения обратной связи. Эти этапы помогают выявить и устранить последние проблемы и подготовить игру к полноценному выпуску.
Перед официальным релизом игры начинается предзапуск. Маркетологи проводят кампанию продвижения, создают трейлеры, анонсы и другие материалы, чтобы привлечь внимание потенциальных пользователей. Разработчики также могут предоставить ранний доступ к игре некоторым игрокам, чтобы создать ажиотаж, получить обратную связь. Официальный запуск игры — это момент, когда продукт становится доступным для широкой публики. В этот момент реализуется весь труд, вложенный в предыдущие этапы. После успешного запуска разработчики продолжают поддерживать игру, выпуская патчи и обновления.
Каждый этап создания игры важен для общего успеха проекта. От тестирования зависит, насколько игра будет успешной у конечного пользователя: отсутствие ошибок и недочетов не только улучшает геймплей, но и укрепляет доверие игроков к разработчику.
Почему тестировать игры непросто?
С годами игры становятся все сложнее, а геймеры — все требовательнее. От игр любого уровня ждут классную механику, потрясающий игровой процесс, небанальные повороты сюжета — геймдев-компании вынуждены соответствовать и создавать все более сложные проекты.
Процесс тестирования тоже усложняется: из-за большого количества разных типов игр практически невозможно унифицировать работу тестировщика. Кроме того, тестирование некоторых игровых проектов становится настоящей головной болью — например, так происходит с живыми играми (такими, к которым регулярно выпускают патчи и новые версии на протяжении многих лет). Кроме того, для компьютерных игр невозможно предусмотреть полную совместимость. Можете ли вы представить себе все возможные комбинации железа + ОС + драйверов + периферийных устройств + сетей на рынке?
За тестированием игр обычно скрывается тестирование разных аспектов, например:
- Функциональность — насколько технически совершенна игра, правильно ли написан код, правильно ли он работает, можно ли его оптимизировать.
- Играбельность (playability) — степень интереса и удовольствия, которые игрок получает от процесса игры. Эта характеристика — совокупность увлекательного геймплея, простоты освоения, разнообразия возможностей и уровней, наличия интересных персонажей и задач, а также баланса сложности.
Технически игра может быть идеальной на 100%, но если впечатления, которые она приносит пользователю, не дотягивают до ожиданий аудитории, то качество кода ничего не значит. Тестировщику приходится прилагать немало усилий, чтобы не упускать из внимания весь контекст: графика, звук, музыка, игровой процесс, дизайн, баланс сложности, производительность, сюжет и, конечно же, саму игру в целом. Именно поэтому тестирование игр не имеет ничего общего с «просто играть в компьютер целый день», а типов проверки и различных инструментов для этого очень много. Разберемся с основными.
Типы тестирования игр
Функциональное тестирование
Как правило, когда тестеры игр получают новую версию игры, они также получают список новых функций и возможностей, добавленных в нее. Получив доступ к новым функциям, тестировщики сначала проверяют, работают ли они так, как задумано, а затем изо всех сил стараются сломать эти новые функции. Например, они могут попытаться сделать противоположное тому, что просит их игра, а затем посмотреть, что произойдет. Что произойдет, если я пойду в этом направлении, а не в том, в котором меня ведет игра? Что произойдет, если я нажму кнопки, отличные от тех, которые требует игра? Что произойдет, если я буду стрелять в своих союзников, а не во врагов? Что будет, если я прыгну 100 раз?
Тестирование игрового дизайна
Тестирование игрового дизайна — это процесс проверки и оценки дизайна видеоигры на всех уровнях, от концепции до реализации. Обычно на этом этапе проверяют:
- Геймплей: насколько захватывающим и увлекательным является игровой процесс, а также его понятность и интуитивность для игроков.
- Механику: то, как работают различные игровые механики, такие как управление персонажем, боевая система, головоломки и т.д.
- Баланс: сбалансированы ли различные аспекты игры — сложность, награды, ресурсы и т.п.
- Графику и аудио: анализ визуальной составляющей игры, включая качество текстур, моделей, освещения и спецэффектов, а также оценка звукового сопровождения и музыки.
- Управление и интерфейс: удобство использования элементов интерфейса, таких как меню, настройки, кнопки, а также контроль над персонажем и взаимодействие с окружением.
Тестирование производительности и совместимости
Тестирование совместимости — одна из самых сложных задач, которую приходится делать тестировщику игр. Если тестируемая игра должна работать на большом количестве платформ (ПК, Android, iOS, консоли), то тестировщикам приходится тестировать игру на всех. Они проверяют разные аспекты: от того, хорошо ли расположен пользовательский интерфейс на экранах разных размеров устройств, до того, как оборудование справляется с тяжелыми функциями игры.
Каждая платформа имеет свои ограничения — если определенные функции работают на одной платформе, это не значит, что они будут работать и на других. Разумеется, у тестировщиков игр обычно есть инструменты, которые помогают им ускорить тестирование, но все равно приходится изучать все функции игры, чтобы убедиться, что они правильно работают на всех целевых платформах.
Play-тестирование
Play-тестирование — это процесс тестирования игры, во время которого проверяется, насколько удобно и интересно в нее играть. Это важный этап в разработке игры, поскольку он позволяет выявить ошибки, улучшить геймплей и сделать игру более привлекательной для игроков. Во время плейтестинга игроки играют в готовую версию игры или ее предварительную версию и дают свои отзывы разработчикам. Отзывы, как правило, содержат только оценку той самой играбельности: какие элементы игры понравились, какие не понравились, какие моменты были сложными или непонятными.
Плейтестинг проводят как с использованием реальных игроков, так и с использованием кода. В первом случае игроки играют в игру и оставляют свои отзывы, а разработчики анализируют эти отзывы и вносят изменения в игру. Во втором случае используют программу, которая имитирует действия игрока и дает обратную связь разработчикам о том, как игрок взаимодействует с игрой.
Регрессионное тестирование
Это процесс повторного тестирования уже работающих функций игры после внесения изменений. Его цель — обеспечить надежность проекта и удостовериться, что изменения не нарушили работу других элементов игры. Этот метод применяют к большим и сложным приложениям с частыми обновлениями, которые могут повлиять на компоненты игры неожиданным образом.
Регрессионное тестирование может быть как ручным, так и автоматическим. В крупных проектах, где изменения вносят одновременно несколько разработчиков, автоматизация процесса особенно важна. Она позволяет проводить тесты параллельно с разработкой новых функций, что значительно сокращает время между внесением изменений и их проверкой.
Одним из преимуществ автоматизации регрессионного тестирования является возможность его масштабирования. С увеличением сложности и объема игры возрастает и количество функций, которые необходимо протестировать. Автоматизация позволяет проводить тесты на большем количестве данных, что повышает вероятность обнаружения ошибок, связанных с взаимодействием различных компонентов игры.
Вместо вывода: любуемся багами
Ничто не убедит в важности тестирования игр больше, чем баги, которые ускользнули от взглядов тестировщиков.
«В чем здесь проблема?» — возможно, думаете вы. На самом деле вы не должны летать в Fallout 4. Но тогда как это возможно? Все просто — эта ошибка возникает, если сначала перепрыгнуть через предмет, а затем схватить его и поднять. Предмет (в этом случае — двигатель) станет вашим ковром-самолетом. Почему этот баг добрался до игроков? Главным образом потому, что никто не подумал о таком сценарии во время разработки и тестирования.
Среди более распространенных проблем — визуальные «глюки». Выгнутые не в ту сторону локти, колени, поворот головы на 180 градусов встречаются не только в FIFA и часто попадают в посты и отзывы игроков.
Но бывают и легендарные баги. Таким был баг в известной онлайн-игре «World of Warcraft». Эта ошибка получила название Corrupted Blood Incident.
По сути, в игре началась массовая эпидемия — и продолжалась с 13 сентября по 8 октября 2005 года. Разработчики хотели усложнить одну битву с боссом: во время испытания игроки «заболевали» — теряли очки здоровья и становились заразными, могли передавать от одного персонажа к другому это состояние. Но что-то пошло не так и эта фича стала багом — вышла за пределы задания и локации. Болезнь начала распространяться по всему виртуальному миру и значительно изменила игровой процесс. В конце концов разработчик исправил ошибку, но этот инцидент вошел в историю игр.