Почему никто не использует Test-Driven Development в геймдеве?
Разбирал тут наши старые документы и наткнулся на тест-кейсы, которые мы писали, когда я пытался внедрять TDD в разработку.
Забавно, что в какой-то момент я параллельно пробовал использовать Test-Driven Development сразу в двух сильно разных проектах: в Bioneers и в одном проекте в Datasakura — условно MMO RPG.
Изначально TDD казался мне почти идеальным подходом: сначала описываешь требования через тесты, потом пишешь код, который эти тесты проходит, а дальше спокойно рефакторишь архитектуру, не боясь всё сломать.
Но в геймдеве всё оказалось сложнее.
Игровая логика часто меняется на ходу, фичи зависят не только от кода, но и от ощущений, баланса, визуала, анимаций, таймингов и геймдизайнерских экспериментов. Поэтому классический TDD далеко не всегда ложится на разработку так красиво, как в книжках.
При этом я не считаю TDD бесполезным для игр. Наоборот, есть зоны, где он может работать очень хорошо: экономика, прогрессия, инвентарь, боёвка, расчёты урона, крафт, сохранения, симуляции и любая другая детерминированная логика.
В итоге продробнее расписал свои мысли в статье на Habr
Post #75
736

- ❤ 8
- 👍 6