40

Тестирование в Инди-Играх⁠⁠

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

Привет, дружище!
Не так давно, я поймал себя на мысли, что тематика тестирования игр, в т.ч. и инди-игр практически нигде не затрагивается. А ведь это очень важный аспект разработки любого проекта, даже самого простого. Что же, присаживайся поудобнее, сейчас мы с тобой немного поговорим о теории тестирования, и о ее применении в инди-проекте, чтобы твои крутые игры были еще круче!

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


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

Фантастические Баги и где они обитают

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

Ошибки пользовательского интерфейса. Где их можно встретить, понятно из названия, вот примеры характерные особенности:
* Имеются кнопки или игровые элементы (постройки, ресурсы, валюта), которые выполняют не те функции, которые от них требуются или же вообще не выполняют никаких функций (пустышки);

* Имеются кнопки или игровые элементы, которых вообще не должно быть;

* Синтаксические ошибки (Не все это любят, но писать нужно правильно); 

* Плохое расположение кнопок, диалоговых окон, информационных панелей (К примеру, когда работаешь с Unity и накосячил с иерархией объектов в Канвосе);

* Пропущенные команды. Игрок должен иметь возможность отменить действие или вернуться к предыдущему (К примеру отменить выбор здания для постройки);

* Низкая производительность. Интерфейс и картинки долго прогружаются. (Конечно, можно обвинить во всем железо игрока, но сперва нужно проверить код и по возможности его оптимизировать).

Обработка ошибок. Как бы странно это не звучало, но при обработке ошибок, т.е. выводе о них информации или выводе предупреждающего сообщения, тоже бывают ошибки. Вот примеры:
* Ввод неверных данных (стандартная защита от дурака, которая должна выводить сообщение игроку, если тот, к примеру, пытается записать новый логин недопустимыми символами);
* Ввод невозможных значений (к примеру, когда при регистрации, игрок пытается ввести несуществующую дату рождения - 32 декабря)

* Приобретение внутриигровых предметов без выполнения требуемых условий (например игрок хочет купить крутой скин за 1000 алмазов, а у него в наличии их всего 100).

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

* Ввод логина длинной 51 символ, при допустимом количестве - 50 (в идеале, ничего не произойдет, а не в идеале, будет переполнение памяти, и возникновение новых "багов" в абсолютно разных местах);

* Откат способности происходит на 10 секунде. Что будет если активировать способность на 9, 10 и 11 секунде?

* 2D враг может двигаться по Y в диапозоне от -2 до 2, по X от -4 до 4. Что произойдет, если врага поместить в координату (Y:-2, X:-4) или за допустимый диапозон?


Уловили логику? Едем дальше!

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

* Выполнение умножения вместо деления;

* Неверные округления (например, когда при создании таймера использована неправильная формула округления);

* Возникновение отрицательных значений (например при получении урона, количество ОЖ получается отрицательным).

Ошибка управления потоком. Во сути это нарушение очередности выполнения функций.

* К примеру, главный герой получил урон и скопытился, а затем враг проиграл анимацию удара;

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

* Зависание игры, бесконечное получение или нанесение урона (случается, когда забываешь поставить условия выхода в бесконечных циклах. Например - получение урона при входе в огонь);

* Условия проверок пересекаются и противоречат друг другу.

Перегрузки. Название говорит само за себя:

* Перегрузка игровых серверов;

* Переполнение памяти (Явный признак - потеря выполненных действий);

Начальное и последующее состояние. Очень противные "Баги". За частую, они случаются только один раз, при запуске игры, и при последующих запусках выскакивать не будет. Особенность этой ошибки в том, что ее сложно воспроизвести, для этого требуется либо переустановка, либо регистрация нового пользователя. Таким страдают RTS и различные фермы. Вот пример "Бага", обнаруженного на одной из ферм:
* При активации нового производственного здания, появляется окно с обучением, после чего можно продолжать игру. Но если просто закрыть обучение не проходя его, и активировать это здание у друга, то получаешь ERROR'ом в лицо.

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


А вот как их избежать, я расскажу в следующей статье. Которая будет посвящена тестовым артефактам и тест-дизайну!

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

6
Автор поста оценил этот комментарий

Заходит однажды тестировщик в бар.

Забегает в бар.

Пролезает в бар.

Танцуя, проникает в бар.

Крадется в бар.

Врывается в бар.

Прыгает в бар


и заказывает:

кружку пива,

2 кружки пива,

0 кружек пива,

999999999 кружек пива,

ящерицу в стакане,

–1 кружку пива,

qwertyuip кружек пива,

заказывает одно пиво каждую милисекунду,

заказывает пиво но отменяет заказ,

сначала отменяет заказ потом заказывает пиво,

пытается заказать пиво с правами только просмотр,

заказывает пиво вместе с 10000 посетителями одновременно,

заказывает пиво не заходя в бар.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества