BotWars: пусть игра тестирует себя сама, пока все спят
В Steam Defense были бои в реальном времени, свой скриптинг сценариев, AI скирмиша и сетевой PvP. Каждый плейтест находил новое зависание, а наиграть столько часов, чтобы найти их все, мы физически не могли.
Поэтому я заставил игру тестировать себя саму. Уходя домой, я запускал тестовую сцену, где боты всю ночь спавнились и убивали друг друга. Утром приходил и смотрел, где всё встало.
Причины были самые разные: бесконечный цикл, слишком много объектов, кончалась память, а иногда при странном стечении обстоятельств не удалялись визуальные эффекты. Я расставлял отладочные логи в подозрительных местах, так что к утру данные уже были готовы и показывали, где именно всё зависло.
На это ушло недели две, и игра стала заметно стабильнее. Такие баги вручную просто не поймать.
Урок, который я использую до сих пор: если систему не протестировать руками, заставьте её саму генерировать тестовые ситуации и гоняйте, пока вы спите. Сегодня я делаю то же самое с AI-агентами и эталонными фикстурами.