TGViewer
Григорий Дядиченко Григорий Дядиченко @dev_game · 2.66K subscribers
Post #1039 1.3K
Про авто-тестирование в геймдеве

У меня тут с утра возникло обсуждение с другом бекендером собственно про тесты. Энтерпрайс бекенд в целом всё старается покрыть тестами и это нормально. Там другие сроки разработки, другие масштабы проектов, банально другое число абстракций и интеграций. В геймдеве же тесты не так распространены. И вопрос нужны ли тесты в геймдеве?

До этого хочется написать, а зачем вообще нужно покрытие тестами? Одна из основных задач тестов "контроль работоспособности абстракций". В любом коде так или иначе возникает некоторый набор абстракций. Возьмём простой пример (писать так точно не надо) У нас идёт игра Moba. У нас есть понятие Ability. От него идут Fire Ball Ability, Frost Bolt Ability и так далее. И в базовом классе описан метод Launch, который проверяет количество маны персонажа и делает всякие другие проверки. Для запуска нужен таргет. Мы создаём тест, в котором у нас должен умирать противник с такими-то характеристиками по настройкам баланса. То есть пускаем мок скилл в мок таргет. И так со всеми скиллами. Результат теста — все таргеты всегда мертвы. И при заданных характеристиках скилл вообще запущен.

Такой тест позволит отслеживать что "скиллы не сломались за счёт изменений" той же базовой реализации метода Launch в 100 скиллах. Или при изменении баланса, так как "ящик должен умирать с одного фаерболла". Классно, удобно и так далее. Но вот вопрос. А сколько таких мест в средней игре, что у нас есть какая-то абстракция на реализацию которой опирается 100 конкретных реализаций. Игры в разы конкретнее и несут (да и должны нести) в разы меньше сложных абстракций нежели возникает в серверной разработке. То есть потребность в тестировании сильно зависит от игры. Можно подобрать примеры типа WoW (хотя там опять таки больше бекенд чем клиентские разрабы обложатся тестами).

Поэтому любопытно, а как вы считаете насколько необходимо автотестирование в играх? Именно в клиентской части. Ток не на уровне "религии" — оно надо, потому что мне так сказали. А какие проблемы оно решает, чем полезно, чем удобно, чтобы как же тот же Test Driven Development стоил того, чтобы с ним морочиться.

#мысли
  • 🔥 10
  • ❤‍🔥 1
More from @dev_game
  1. Oct 8, 2026Метрики, метрики и ещё раз метрики https://app.mes-poker.ru Эхх, со своим продуктом руки с…
  2. Oct 6, 2026«Песни земли»: хакатон по созданию мини-игр вместе с КИОН Строки 🎮📕 Школа дизайна и @kio…
  3. Oct 4, 2026💡 Вредные советы: Идея С тех пор как я открыл для себя чудесный мир элевенлабса (и это ка…
  4. Oct 4, 2026ТСПУ и телега Короче говоря как раз немного кул стори по следам теста. Спасибо кто там как…
  5. Oct 3, 2026Мой новый проект https://t.me/Mespoker_bot Поймал меня значит как-то Паша за покером и ска…
  6. Oct 1, 2026🤔 Как продвинуть игру? Я обещал. Я сделал. Получился большой документ с шагами и действия…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →