Дневники разработчиков. Глава 9

Адриан Касторф о тестировании игры

Разработка The Fall: Last Days of Gaia на данный момент входит в завершающую часть. Это означает, что мы готовим игру к выходу и в то же время работаем над другими продуктами. Так как же проводится эта подготовка, и как более чем 30 сотрудников работают над единственным проектом?

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

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

Выход из ситуации подскажет CVS — Concurrent Versions System (Система Согласующихся Версий — прим. ред.). Если вы когда-либо принимали участие в разработке крупных программ, вы, возможно, имеете представления об этой системе. Тем, кто не знаком с этим, могу сказать, что это — одно из устройств для поддержания разработки проектов, особенно при командной организации разработки.

На сервере находится основная часть игры, у всех участников есть к ней доступ. Если вы — новенький в команде, то вам всего лишь нужно установить на свой компьютер CVS-клиент и скачать последнее обновление игры, чтобы иметь на своей системе последний build. После того, как вы перекачаете игру на свой компьютер, вы можете производить любые изменения, т.к. они не коснутся оригинальной версии. После того, как ваши изменения проверены и одобрены, вы можете составить собственную версию игры. "Основа" на главном сервере будет соответствующим образом дополнена и доступна другим сотрудникам.

Конечно, новая версия может вызвать проблемы для кого-нибудь (например, изменив другие компоненты). Тогда на помощь придет еще одна функция CVS — возможность сохранить все изменения предыдущих версий с целью восстановления. Процесс восстановления начнется с простого введения одной команды.

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

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

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

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

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

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

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

Намного более важно позаботиться о безобиднейших багах, чем о небольших графических недочетов.

Когда работаешь в такой большой команде, письменный контакт внутри коллектива довольно неэффективен. Сейчас среди компаний-разработчиков очень популярны программы, выискивающие разного рода баги и ошибки. Мы не являемся исключением. Мы используем Bugzill'у, популярную программу подобого рода за авторством Netscape.

В случае обнаружения серьезной ошибки (которая не может быть исправлена столкнувшимся с ней человеком), разработчик сообщает о ней в bug-report'е. Описание ошибки должно быть максимально детальным. Что конкретно пошло не так? Когда, в каком месте и при каких обстоятельствах? Что делал тестер до ее возникновения? Может ли она появиться еще раз?

Как только сообщение было отправлено, Себастьян (Sebastian), наш технический директор, классифицирует проблему, ее важность, а также назначит кого-либо на устранение неполадок. Например, если обнаружится недочет в системе скриптов, составитель скриптов, ответственный за этот момент, будет об этом проинформирован.

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

Довольно-таки часто в процессе отладки устраняются лишь те ошибки, которые лежат на поверхности. Доктор на картинке повыше собирается лечить пациента. Представим, что по вине злобного бага пациенты лежали бы в койках криво — это выглядело бы довольно странно. То же самое можно сказать об "упавшем без сознания" бойце на левом нижнем скрине, который решил вжаться в землю и остаться в такой позе, нежели упасть. И не важно, насколько хорошо у вас развиты воровство и скрытность, ваш персонаж не станет невидимкой наподобие персонажей, которых вы (не) видите на нижней картинке.


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

Adrian Kastorf
Lead Tester, Silver Style Entertainment
The Fall: Last Days of Gaia

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Перевод — Reckless One

Перевод опубликован с разрешения редакции RPG Vault. Оригинальный текст.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>