- BrainTools - https://www.braintools.ru -
Дисклеймер: всё что написано в этой статье, не претендует на чистую правду в первой инстанции, это просто мои мысли, которые посетили мой разбитый кофеином мозг [1] в 3 часа ночи.
Позволю себе написать немного предыстории о том, как я пришёл к написанию этой публикации:
Я уже около четырёх месяцев работаю в крупной IT компании как Junior тестировщик.
Проект, на котором я работаю, существует с незапамятных времён, с тех периодов развития рунета, когда слово документация ещё не было в обиходе у программистов той эпохи.
Благодаря такой особенности, тестировать не то чтобы легко, часто, на подготовку тестовых данных уходит по несколько часов, а само тестирование может занять целый день. Всё из‑за того, что единственно верный способ проверки приложения при отсутствии документации, по моему мнению — исследовательское тестирование [2], которое очень пригождается, когда из документации только одна небольшая задача из трекера, закрытая больше 8 лет назад.
Но при чём тут гейм‑дизайн?
Параллельно с изучением сферы тестирования и работы в ней я занимаюсь разработкой игр в качестве хобби, время от времени участвую в гейм‑джемах и делаю простенькие проекты, на которых учусь.
И, недавно, работая над мелкой игрой, я подумал, что, придумывая правила для игры, я неосознанно ставлю себя на место игрока. Пытаюсь придумать, как надломить придуманные механики, как получить преимущество. Всё это для того, чтобы забалансить игру и придумать как развлечь пользователя.
Практически, то же самое я делаю когда применяю подход исследовательского тестирования в своей работе. Что будет, если пользователь создаст заявку из другой формы? А если он отменит действие ещё до того, как интеграция ответит?
Подобные вопросы я задаю себе часто. И я бы точно их задавал реже, если бы не ставил себя на место разработчика, который не хочет, чтобы его код дал сбой.
А есть обратный пример? Как тестирование помогает в гейм‑дизайне?
Конечно, есть.
Можно вспомнить про техники тест‑дизайна [3], а именно: анализ граничных значений и таблица принятия решений.
Вот пример техники анализа граничных значений:Задача: Нужно понять сколько атака врага должна наносить игроку урона
Решение:
Можно вспомнить про метод баланса, который использовал Сид Мейер при создании своих игр.
В чём его суть: берётся случайное значение, если оно слишком большое — делим его на два, если слишком маленькое — умножаем на два, повторяем [4] пока не найдём подходящее число. Ну чем не анализ граничных значений?Смотрим границу -> используем -> анализируем -> увеличиваем или уменьшаем -> повторяем если есть такая надобность.
С таблицей принятия решений, я думаю, сталкивались многие, но вот пример:Задача: продумать как искуственный интеллект врагов будет реагировать на действия игрока
Решение:
Придумываем ситуации взаимодействия игрока с врагами → составляем табличку действий игрока и ответа противников на эти действия
Исследовательское тестирование без документации — это как пройти старый квест без подсказок. А балансировка врага методом Сида Мейра, тот же анализ граничных значений только в другой обёртке.
Тестирование и гейм‑дизайн — это одно и то же любопытство. Просто в одном случае мы ищем баги в чужом коде, а в другом — в своих собственных правилах.
Спасибо за прочтение!
P. S. Будет приятно увидеть похожие примеры в комментариях, обязательно всё прочитаю!
Автор: pupsich123
Источник [5]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/31753
URLs in this post:
[1] мозг: http://www.braintools.ru/parts-of-the-brain
[2] исследовательское тестирование: https://habr.com/ru/articles/148479/
[3] тест‑дизайна: https://habr.com/ru/articles/740026
[4] повторяем: http://www.braintools.ru/article/4012
[5] Источник: https://habr.com/ru/articles/1047680/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1047680
Нажмите здесь для печати.