А ты помнишь старые велосипеды? Стальная рама, кованая «звездочка», «неубиваемые» педали, цепь, которая удержит и быка. И через 30 лет такой велик скрипит, но едет без единой поломки. Новый велосипед, с его тридцатью тремя скоростями, пневмоподвеской, подшипниками, звездочками и тормозами, над которыми трудились десятки инженеров, хотя и позволяет нам ехать гораздо быстрее, однако более подвержен различным «болезням». Это и понятно. Чем сложнее система, чем больше в ней элементов, чем чаще они взаимодействуют друг с другом, тем более она уязвима для различных поломок.
Теперь представь, что было бы, если велосипеды, производимые на заводе, отправлялись бы сразу в магазины без всяких испытаний. Последствия могли бы быть самые разные: от противного раздражающего скрипа сиденья до лопнувшей цепи посреди долгой дороги. В любом из этих случаев человек, купивший велосипед, испытал бы разную степень возмущения, разочарования и досады по поводу неудачного приобретения… если бы выжил, когда на полном ходу у него бы отвалилось колесо.
Развиваются не только велосипеды; развивается вообще все. Все становится сложнее, быстрее, технологичнее. И компьютерные игры – главная цель обсуждения в этой книге – не исключение. Стремительное развитие игровой индустрии привело к их распространению на множестве различных платформ. Игры стали масштабнее, реалистичнее и требовательнее к техническим ресурсам. Как и все люди, разработчики компьютерных игр допускают ошибки в работе, а чем затейливее становятся применяемые технологии, тем больше дефектов может возникнуть при их использовании. В то же время аудитория игроков значительно увеличилась, стала более искушенной и требовательной к качеству. Они хотят еще большей реалистичности, новых технологий, новых ощущений! И поскольку они платят за это довольно большие деньги, они вправе ожидать качественный продукт.
Игра, которая запускается на телефоне, компьютере или игровой приставке, – это разновидность программного обеспечения. А значит, все, что справедливо для тестирования ПО в общем смысле, справедливо и для тестирования игр.
Но интернет-магазины, приложения для построения маршрутов движения, сервисы для просмотра фильмов и прочие программы в первую очередь важны своим функционалом и удобством использования. В играх же, помимо этого, важна интересность, увлекательность, вызов. Пользователь запускает игру, чтобы нескучно провести время, развлечься, получить яркие эмоции.
Поэтому для игры важно, как она ощущается, является ли захватывающей, хочется ли запустить ее снова или поискать другой способ досуга.
Если рассматривать игру как систему, то можно заметить, что она состоит из подсистем, каждая из которых сама по себе очень сложна. Ниже перечислены некоторые из них.
• Графическая подсистема
• Звуковая подсистема
• Подсистема игровой логики
• Подсистема искусственного интеллекта
• Физическая подсистема
• Подсистема взаимодействия с пользователем
• Подсистема хранения данных и др.
А еще не забудь про историческую достоверность в играх, соответствие прототипу и локализацию.
Так же как специалист, испытывающий велосипед, должен знать, как он устроен и принцип его работы, тот, кто считает себя игровым тестировщиком, должен знать, как создаются и анимируются 3D-модели, как записываются звуки и где они хранятся в игре, как в игровом движке настраивается освещение, откуда в игре появляются невидимые стены, почему враги атакуют разных персонажей по-разному, почему в Китае нельзя выпустить игру со скелетами и почему персонаж должен оставлять разные следы на разных поверхностях.
Хороший тестировщик должен разбираться в продукте, который он тестирует. А без большого игрового опыта в разных жанрах это практически невозможно.